[adios] 01/01: upstream release 1.13.0

Alastair McKinstry mckinstry at moszumanska.debian.org
Sat Dec 9 08:31:37 UTC 2017


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

mckinstry pushed a commit to tag upstream/1.13.0
in repository adios.

commit 0cc89aa228d0d743b9bd3419950937e27130a49d
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Sat Dec 9 08:30:44 2017 +0000

    upstream release 1.13.0
---
 CMakeLists.txt                                     |  85 ++-
 Makefile.in                                        |  70 ++-
 NEWS                                               |  10 +
 aclocal.m4                                         |  70 +--
 cmake_init                                         |   6 +-
 config.h.cmake                                     |   9 +-
 config.h.in                                        |   9 +
 config/ac_blosc.m4                                 |  83 +++
 config/ac_sz.m4                                    |   6 +-
 config/ac_zlib.m4                                  |   2 +-
 configure                                          | 367 +++++++++----
 configure.ac                                       |  39 +-
 examples/C/CMakeLists.txt                          |   1 +
 examples/C/Makefile.am                             |   2 +-
 examples/C/Makefile.in                             |  30 +-
 examples/C/arrays/Makefile.in                      |  28 +-
 examples/C/attributes/Makefile.in                  |  28 +-
 examples/C/flexpath_arrays/Makefile.in             |  28 +-
 .../global_range_select/Makefile.in                |  28 +-
 .../C/flexpath_arrays/process_select/Makefile.in   |  28 +-
 examples/C/global-array-time/Makefile.in           |  28 +-
 examples/C/global-array/Makefile.in                |  28 +-
 examples/C/icee_arrays/Makefile.in                 |  28 +-
 examples/C/icee_arrays/array/Makefile.in           |  28 +-
 examples/C/joined-array/CMakeLists.txt             |  23 +
 examples/C/joined-array/Makefile.am                |  15 +
 .../C/joined-array}/Makefile.in                    |  74 +--
 examples/C/joined-array/joined-array.c             | 148 +++++
 examples/C/manual/Makefile.in                      |  28 +-
 examples/C/query/Makefile.in                       |  28 +-
 examples/C/read_all/Makefile.in                    |  28 +-
 examples/C/scalars/Makefile.in                     |  28 +-
 examples/C/schema/Makefile.in                      |  28 +-
 examples/C/stat/Makefile.in                        |  28 +-
 examples/C/time_aggregation/Makefile.in            |  28 +-
 examples/C/transforms/Makefile.in                  |  28 +-
 examples/Fortran/Makefile.in                       |  28 +-
 examples/Fortran/arrays/Makefile.in                |  28 +-
 examples/Fortran/global-array-time/Makefile.in     |  28 +-
 examples/Fortran/global-array/Makefile.in          |  28 +-
 examples/Fortran/scalars/Makefile.in               |  28 +-
 examples/Fortran/schema/Makefile.in                |  28 +-
 examples/Makefile.in                               |  28 +-
 examples/staging/stage_write/genarray_stream.xml   |   1 +
 examples/staging/twoway_coupling/structured2d.c    | 146 +++++
 examples/staging/twoway_coupling/structured2d.xml  |  51 ++
 examples/staging/twoway_coupling/tri2d.c           | 301 +++++++++++
 examples/staging/twoway_coupling/tri2d.xml         |  76 +++
 runconf                                            | 226 +++++---
 src/CMakeLists.txt                                 |   4 +
 src/Makefile.am                                    |   1 +
 src/Makefile.in                                    |  66 ++-
 src/core/a2sel.c                                   |  11 +
 src/core/adios.c                                   |   6 +
 src/core/adios_internals.c                         | 161 +++++-
 src/core/adios_internals.h                         |   6 +
 src/core/adios_internals_mxml.c                    |   7 +
 src/core/adiost_callback_internal.c                | 101 +++-
 src/core/adiost_callback_internal.h                |  35 +-
 src/core/adiost_default_tool.c                     |  68 +--
 src/core/bp_utils.c                                |  14 +-
 src/core/common_adios.c                            |  58 +-
 src/core/common_read.c                             | 120 +++--
 src/core/flexpath.h                                |   4 +
 src/mxml/Makefile.in                               |  28 +-
 src/public/adios_error.h                           |  10 +-
 src/public/adios_version.h                         |   6 +-
 src/public/adiost_callback_api.h                   | 593 ++++++++++++++++++++-
 src/read/read_bp.c                                 |  18 +
 src/read/read_flexpath.c                           | 476 ++++++++++++-----
 src/transforms/Makefile.plugins                    |   4 +
 src/transforms/adios_transform_blosc_common.h      |  12 +
 src/transforms/adios_transform_blosc_read.c        | 180 +++++++
 src/transforms/adios_transform_blosc_write.c       | 297 +++++++++++
 src/transforms/adios_transform_sz_read.c           |   8 +-
 src/transforms/adios_transform_sz_write.c          |  62 ++-
 src/transforms/transform_plugins.h                 |   1 +
 src/write/adios_flexpath.c                         | 300 ++++++++---
 src/write/adios_mpi_amr.c                          |  29 +-
 src/zfp/Makefile.in                                |  28 +-
 tests/C/Makefile.in                                |  28 +-
 tests/C/fgr_tests/Makefile.in                      |  28 +-
 tests/C/flexpath_tests/1D_arr_global/Makefile.in   |  28 +-
 .../flexpath_tests/1D_arr_global_noxml/Makefile.in |  28 +-
 tests/C/flexpath_tests/Makefile.am                 |   2 +-
 tests/C/flexpath_tests/Makefile.in                 |  30 +-
 .../flexpath_tests/global_range_select/Makefile.in |  28 +-
 tests/C/flexpath_tests/include/test_common.h       |   2 +-
 tests/C/flexpath_tests/local_arrays/Makefile.in    |  28 +-
 tests/C/flexpath_tests/maya_noxml/Makefile.in      |  28 +-
 tests/C/flexpath_tests/scalar/Makefile.in          |  28 +-
 tests/C/flexpath_tests/two_streams/CMakeLists.txt  |  13 +
 tests/C/flexpath_tests/two_streams/Makefile.am     |  19 +
 .../{maya_noxml => two_streams}/Makefile.in        |  94 ++--
 tests/C/flexpath_tests/two_streams/cfg.h           |  15 +
 tests/C/flexpath_tests/two_streams/reader.c        | 195 +++++++
 tests/C/flexpath_tests/two_streams/writer.c        | 129 +++++
 tests/C/query/Makefile.in                          |  28 +-
 tests/C/query/alacrity/Makefile.in                 |  28 +-
 tests/C/query/common/Makefile.in                   |  28 +-
 tests/C/query/fastbit/Makefile.in                  |  28 +-
 tests/Fortran/Makefile.in                          |  28 +-
 tests/Makefile.in                                  |  28 +-
 tests/bp_read/Makefile.in                          |  28 +-
 tests/genarray/Makefile.in                         |  28 +-
 tests/suite/Makefile.in                            |  28 +-
 tests/suite/programs/CMakeLists.txt                |   3 +-
 tests/suite/programs/Makefile.am                   |   8 +-
 tests/suite/programs/Makefile.in                   |  70 ++-
 tests/suite/programs/examples/Makefile.in          |  28 +-
 .../suite/programs/examples/attributes/Makefile.in |  28 +-
 .../programs/examples/global_array/Makefile.in     |  28 +-
 .../examples/global_array_time/Makefile.in         |  28 +-
 .../programs/examples/local_array/Makefile.in      |  28 +-
 tests/suite/programs/examples/scalars/Makefile.in  |  28 +-
 tests/suite/programs/joinedarray.c                 | 539 +++++++++++++++++++
 tests/test_src/Makefile.in                         |  32 +-
 utils/Makefile.in                                  |  28 +-
 utils/adios_lint/Makefile.in                       |  28 +-
 utils/adios_list_methods/Makefile.in               |  28 +-
 utils/bp2ascii/Makefile.in                         |  28 +-
 utils/bp2bp/Makefile.in                            |  28 +-
 utils/bp2h5/Makefile.in                            |  28 +-
 utils/bp2ncd/Makefile.in                           |  28 +-
 utils/bpdiff/Makefile.in                           |  28 +-
 utils/bpdump/Makefile.in                           |  28 +-
 utils/bpls/CMakeLists.txt                          |   1 +
 utils/bpls/Makefile.in                             |  28 +-
 utils/bpls/bpls.c                                  | 316 ++++++++++-
 utils/bpls/bpls.h                                  |   5 +-
 utils/bpmeta/Makefile.in                           |  28 +-
 utils/bprecover/Makefile.in                        |  28 +-
 utils/bpsplit/Makefile.in                          |  28 +-
 utils/fastbit/Makefile.in                          |  28 +-
 utils/fastbit/adios_index_fastbit.c                |   5 +-
 utils/gpp/Makefile.in                              |  30 +-
 utils/skel/Makefile.in                             |  32 +-
 utils/skel/etc/Makefile.in                         |  28 +-
 utils/skel/src/Makefile.in                         |  30 +-
 utils/skeldump/Makefile.in                         |  28 +-
 utils/skeldump/skeldump.h                          |   1 +
 wrappers/numpy/DEVELOPER                           |   2 -
 wrappers/numpy/adios.cpp                           | 438 +++++++--------
 wrappers/numpy/adios_mpi.cpp                       | 438 +++++++--------
 wrappers/numpy/src/__init__.py                     |   2 +-
 wrappers/numpy/src_mpi/__init__.py                 |   2 +-
 146 files changed, 7211 insertions(+), 1570 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a2671aa..89928fc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -499,6 +499,22 @@ elseif(DEFINED ENV{LZ4})
   endif()
 endif()
 
+if(DEFINED ENV{BLOSC_DIR})
+  if("$ENV{BLOSC_DIR}" STREQUAL "")
+    set(BLOSC OFF CACHE BOOL "")
+  else()
+    set(BLOSC ON CACHE BOOL "")
+    set(BLOSC_DIR "$ENV{BLOSC_DIR}")
+  endif()
+elseif(DEFINED ENV{BLOSC})
+  if("$ENV{BLOSC}" STREQUAL "")
+    set(BLOSC OFF CACHE BOOL "")
+  else()
+    set(BLOSC ON CACHE BOOL "")
+    set(BLOSC_DIR "$ENV{BLOSC}")
+  endif()
+endif()
+
 if(DEFINED ENV{SZIP_DIR})
   if("$ENV{SZIP_DIR}" STREQUAL "")
     set(SZIP OFF CACHE BOOL "")
@@ -900,22 +916,22 @@ set(HAVE_FLEXPATH_H 0)
 if(FLEXPATH)
   # 4.2.1 has a config file
   set(FLEXPATH_BINDIR "$ENV{FLEXPATH_DIR}/bin")
-  message("FLEXPATH: look for evpath_config")
+  # message("FLEXPATH: look for evpath_config")
   find_program (EVPATH_CONFIG NAMES evpath_config 
                 PATHS "$ENV{FLEXPATH_DIR}/bin" NO_DEFAULT_PATH)
 
   if(EVPATH_CONFIG)
-    message("FLEXPATH: run evpath_config")
+    # message("FLEXPATH: run evpath_config")
     execute_process(COMMAND ${EVPATH_CONFIG} "-l"
         OUTPUT_VARIABLE evpath_config_out
         RESULT_VARIABLE evpath_config_ret
         OUTPUT_STRIP_TRAILING_WHITESPACE
     )
-    message("FLEXPATH: return value = ${evpath_config_ret}")
-    message("FLEXPATH: output = ${evpath_config_out}")
+    # message("FLEXPATH: return value = ${evpath_config_ret}")
+    # message("FLEXPATH: output = ${evpath_config_out}")
     if(evpath_config_ret EQUAL 0)
         string(REPLACE " " ";" evpath_config_list ${evpath_config_out})
-    message("FLEXPATH: list = ${evpath_config_list}")
+    # message("FLEXPATH: list = ${evpath_config_list}")
         set(evpath_libs)
         set(evpath_lib_hints)
         set(evpath_lib_flags)
@@ -930,9 +946,9 @@ if(FLEXPATH)
         endforeach()
         set(HAVE_FLEXPATH 1)
     endif()
-    message("FLEXPATH: hints = ${evpath_lib_hints}")
-    message("FLEXPATH: libs = ${evpath_libs}")
-    message("FLEXPATH: flags = ${evpath_lib_flags}")
+    # message("FLEXPATH: hints = ${evpath_lib_hints}")
+    # message("FLEXPATH: libs = ${evpath_libs}")
+    # message("FLEXPATH: flags = ${evpath_lib_flags}")
     set(FP_LIBS)
     foreach(lib IN LISTS evpath_libs)
       find_library(evpath_${lib}_LIBRARY NAME ${lib} HINTS ${evpath_lib_hints})
@@ -946,6 +962,8 @@ if(FLEXPATH)
     set(NO_FLEXPATH 0)
     set(FP_LIBS "${FP_LIBS}" CACHE STRING "")
     set(FP_CPPFLAGS "-I${FLEXPATH_DIR}/include")
+    message("-- Found FLEXPATH: ${FP_LIBS}")
+    message("-- FLEXPATH cppflags = ${FP_CPPFLAGS}")
 
   else(EVPATH_CONFIG)
 
@@ -995,8 +1013,11 @@ if(FLEXPATH)
         set(FP_CPPFLAGS "-I${FLEXPATH_INCLUDE_DIR}")
 #       set(FP_CFLAGS ${FP_CPPFLAGS})
 #       include_directories(${FLEXPATH_INCLUDE_DIR})
+        message("-- Found FLEXPATH: ${FP_LIBS}")
+        message("-- FLEXPATH cppflags = ${FP_CPPFLAGS}")
     else()
         set(FLEXPATH OFF CACHE BOOL "do not find supporting library" FORCE)
+        message("-- FLEXPATH was not found")
     endif()
   endif(EVPATH_CONFIG)
 endif()
@@ -1338,6 +1359,9 @@ CHECK_FUNCTION_EXISTS(strncpy HAVE_STRNCPY)
 # Define to 1 if you have the `strdup' function.
 CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP)
 
+# Define to 1 if you have the `strndup' function.
+CHECK_FUNCTION_EXISTS(strndup HAVE_STRNDUP)
+
 # Define to 1 if you have the `snprintf' function.
 CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF)
 
@@ -1422,6 +1446,19 @@ if(LZ4)
   endif()
 endif()
 
+set(HAVE_BLOSC 0)
+if(BLOSC)
+  find_path(BLOSC_INCLUDE_DIR NAMES blosc.h PATHS ${BLOSC_DIR}/include)
+  if(BLOSC_INCLUDE_DIR)
+    set(HAVE_BLOSC_H 1)
+  endif()
+  find_library(BLOSC_LIBS NAMES blosc PATHS ${BLOSC_DIR}/lib)
+  if(BLOSC_INCLUDE_DIR AND BLOSC_LIBS)
+    set(HAVE_BLOSC 1)
+    set(BLOSC_CPPFLAGS "-I${BLOSC_INCLUDE_DIR}")
+  endif()
+endif()
+
 set(HAVE_BZIP2 0)
 if(BZIP2)
   find_path(BZIP2_INCLUDE_DIR NAMES bzlib.h PATHS ${BZIP2_DIR}/include)
@@ -1519,7 +1556,7 @@ if(SZ)
   if(SZ_INCLUDE_DIR)
     set(HAVE_SZ_H 1)
   endif()
-  find_library(SZ_LIB1 NAMES libsz.a PATHS ${SZ_DIR}/lib)
+  find_library(SZ_LIB1 NAMES libSZ.a PATHS ${SZ_DIR}/lib)
   find_library(SZ_LIB2 NAMES libzlib.a PATHS ${SZ_DIR}/lib)
   set(SZ_LIBS ${SZ_LIB1} ${SZ_LIB2} CACHE FILEPATH "SZ libraries")
   unset(SZ_LIB1 CACHE)
@@ -1558,7 +1595,7 @@ set(PACKAGE adios)
 set(VERSION_MAJOR 1)
 
 # Minor version number
-set(VERSION_MINOR 12)
+set(VERSION_MINOR 13)
 
 # Micro version number
 set(VERSION_MICRO 0)
@@ -1860,6 +1897,24 @@ if(HAVE_LZ4)
   set(ADIOSREADLIB_SEQ_LDADD ${ADIOSREADLIB_SEQ_LDADD} ${LZ4_LIBS})
 endif()
 
+if(HAVE_BLOSC)
+  set(ADIOSLIB_CPPFLAGS "${ADIOSLIB_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}")
+  set(ADIOSLIB_CFLAGS "${ADIOSLIB_CFLAGS} ${BLOSC_CFLAGS}")
+  set(ADIOSLIB_LDADD ${ADIOSLIB_LDADD} ${BLOSC_LIBS})
+  set(ADIOSLIB_SEQ_CPPFLAGS "${ADIOSLIB_SEQ_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}")
+  set(ADIOSLIB_SEQ_CFLAGS "${ADIOSLIB_SEQ_CFLAGS} ${BLOSC_CFLAGS}")
+  set(ADIOSLIB_SEQ_LDADD ${ADIOSLIB_SEQ_LDADD} ${BLOSC_LIBS})
+  set(ADIOSLIB_INT_CPPFLAGS "${ADIOSLIB_INT_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}")
+  set(ADIOSLIB_INT_CFLAGS "${ADIOSLIB_INT_CFLAGS} ${BLOSC_CFLAGS}")
+  set(ADIOSLIB_INT_LDADD ${ADIOSLIB_INT_LDADD} ${BLOSC_LIBS})
+  set(ADIOSREADLIB_CPPFLAGS "${ADIOSREADLIB_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}")
+  set(ADIOSREADLIB_CFLAGS "${ADIOSREADLIB_CFLAGS} ${BLOSC_CFLAGS}")
+  set(ADIOSREADLIB_LDADD ${ADIOSREADLIB_LDADD} ${BLOSC_LIBS})
+  set(ADIOSREADLIB_SEQ_CPPFLAGS "${ADIOSREADLIB_SEQ_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}")
+  set(ADIOSREADLIB_SEQ_CFLAGS "${ADIOSREADLIB_SEQ_CFLAGS} ${BLOSC_CFLAGS}")
+  set(ADIOSREADLIB_SEQ_LDADD ${ADIOSREADLIB_SEQ_LDADD} ${BLOSC_LIBS})
+endif()
+
 if(HAVE_BZIP2)
   set(ADIOSLIB_CPPFLAGS "${ADIOSLIB_CPPFLAGS} -DBZIP2 ${BZIP2_CPPFLAGS}")
   set(ADIOSLIB_CFLAGS "${ADIOSLIB_CFLAGS} ${BZIP2_CFLAGS}")
@@ -2276,6 +2331,16 @@ else()
   message("  - No LZ4 to build LZ4 transform method")
 endif()
 
+if(HAVE_BLOSC)
+  message("  - BLOSC")
+  message("      - BLOSC_CFLAGS = ${BLOSC_CFLAGS}")
+  message("      - BLOSC_CPPFLAGS = ${BLOSC_CPPFLAGS}")
+  message("      - BLOSC_LIBS = ${BLOSC_LIBS}")
+  message("")
+else()
+  message("  - No BLOSC to build BLOSC transform method")
+endif()
+
 if(HAVE_BZIP2)
   message("  - BZIP2")
   message("      - BZIP2_CFLAGS = ${BZIP2_CFLAGS}")
diff --git a/Makefile.in b/Makefile.in
index 74b7e96..9cf1269 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -85,25 +95,11 @@ host_triplet = @host@
 @HAVE_NSSI_TRUE@                   scripts/start.nssi.staging.sh
 
 subdir = .
-DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config.h.in \
-	$(top_srcdir)/utils/skel/lib/skel_have_adios_timing.py.in \
-	$(srcdir)/adios_config.flags.makesrc.in \
-	$(srcdir)/adios_config.makesrc.in \
-	$(top_srcdir)/src/public/adios_version.h.in COPYING TODO \
-	config/compile config/config.guess config/config.sub \
-	config/depcomp config/install-sh config/missing \
-	config/ltmain.sh $(top_srcdir)/config/compile \
-	$(top_srcdir)/config/config.guess \
-	$(top_srcdir)/config/config.sub \
-	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
-	$(top_srcdir)/config/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -139,6 +135,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -234,6 +232,19 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = src utils tests examples
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(srcdir)/adios_config.flags.makesrc.in \
+	$(srcdir)/adios_config.makesrc.in $(srcdir)/config.h.in \
+	$(top_srcdir)/config/compile $(top_srcdir)/config/config.guess \
+	$(top_srcdir)/config/config.sub \
+	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
+	$(top_srcdir)/config/missing \
+	$(top_srcdir)/src/public/adios_version.h.in \
+	$(top_srcdir)/utils/skel/lib/skel_have_adios_timing.py.in \
+	AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \
+	config/compile config/config.guess config/config.sub \
+	config/depcomp config/install-sh config/ltmain.sh \
+	config/missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -314,6 +325,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -549,6 +564,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -615,7 +631,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -913,15 +928,15 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -957,16 +972,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -1151,6 +1167,8 @@ uninstall-am: uninstall-binSCRIPTS uninstall-sysconfDATA
 	tags tags-am uninstall uninstall-am uninstall-binSCRIPTS \
 	uninstall-sysconfDATA
 
+.PRECIOUS: Makefile
+
 
 #install-data-hook:
 #	echo -n "VERSIONSTRING=\"$(PACKAGE) version $(VERSION) svn revision " >> adios_config.flags
diff --git a/NEWS b/NEWS
index d235660..cd7c9e5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+1.13.0 Release November 2017
+     - added blosc compression transform by René Widera HZDR, Germany
+     - TAU now can profile ADIOS in applications, by Kevin Huck of the TAU team
+     - update to use SZ v1.4.11 in compression
+     - bpls -dD option to dump data in per-writer fashion (aka reading with writeblock selection)
+     - fix: bug fixes to new Flexpath staging method (MPI communicator, memory leaks)
+     - fix: bpls command-line allows for large integers to dump data from >2GB blocks
+     - support for JoinedArray, where per-writer data blocks are virtually merged into
+       a global array by ADIOS at read time for easier reading. 
+
 1.12.0 Release June 2017
      - added LZ4 compression transform by René Widera HZDR, Germany
      - added SZ compression transform
diff --git a/aclocal.m4 b/aclocal.m4
index 6fffe76..be9b0ad 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.14], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -103,15 +103,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -142,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -333,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -409,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -499,8 +498,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -573,7 +572,11 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -602,7 +605,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -613,7 +616,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +626,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -645,7 +648,7 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -680,7 +683,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -730,7 +733,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -769,7 +772,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -798,7 +801,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -845,7 +848,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1080,7 +1083,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
 sys.exit(sys.hexversion < minverhex)"
   AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1099,7 +1102,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1180,7 +1183,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1240,7 +1243,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1268,7 +1271,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1287,7 +1290,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1421,6 +1424,7 @@ AC_SUBST([am__untar])
 m4_include([config/ac_alacrity.m4])
 m4_include([config/ac_aplod.m4])
 m4_include([config/ac_bgq.m4])
+m4_include([config/ac_blosc.m4])
 m4_include([config/ac_bzip2.m4])
 m4_include([config/ac_cray_pmi.m4])
 m4_include([config/ac_cray_ugni.m4])
diff --git a/cmake_init b/cmake_init
index 8185349..a4607f8 100755
--- a/cmake_init
+++ b/cmake_init
@@ -679,11 +679,13 @@ elif [ `hostname | cut -c 1-7` == "adiosVM" ]; then
     export CC=mpicc
     export CXX=mpicxx
     export FC=mpif90
-    export INSTALL_PREFIX="/opt/adios/1.12"
+    export INSTALL_PREFIX="/opt/adios"
     export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK"
     export CFLAGS="-g -O0 -fPIC -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast"
     export BZIP2_DIR="/usr/lib"
-    export SZIP_DIR="/opt/szip"
+    export LZ4_DIR="/usr/lib"
+    export SZ_DIR="/opt/SZ"
+    export BLOSC_DIR="/opt/blosc"
     export ISOBAR_DIR="/opt/isobar"
     export FLEXPATH_DIR="/opt/chaos"
     export DATASPACES_DIR="/opt/dataspaces"
diff --git a/config.h.cmake b/config.h.cmake
index 0ab0bd6..315a160 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -254,9 +254,10 @@
 /* Define to 1 if you have the <string.h> header file. */
 #cmakedefine HAVE_STRING_H 1
 
-/*  to 1 if you have the `strncpy' function. */
+/*  to 1 if you have the `strncpy` function. */
 #cmakedefine HAVE_STRNCPY 1
 #cmakedefine HAVE_STRDUP 1
+#cmakedefine HAVE_STRNDUP 1
 #cmakedefine HAVE_SNPRINTF 1
 #cmakedefine HAVE_VSNPRINTF 1
 #cmakedefine HAVE_LONG_LONG 1
@@ -291,6 +292,12 @@
 /* Define to 1 if you have the <lz4.h> header file. */
 #cmakedefine HAVE_LZ4_H 1
 
+/* Define if you have BLOSC. */
+#cmakedefine HAVE_BLOSC 1
+
+/* Define to 1 if you have the <blosc.h> header file. */
+#cmakedefine HAVE_BLOSC_H 1
+
 /* Define to 1 if you have the <unistd.h> header file. */
 #cmakedefine HAVE_UNISTD_H 1
 
diff --git a/config.h.in b/config.h.in
index 1bd9164..b751dc2 100644
--- a/config.h.in
+++ b/config.h.in
@@ -38,6 +38,12 @@
 /* Define if you want to enable BGQ method */
 #undef HAVE_BGQ
 
+/* Define if you have BLOSC. */
+#undef HAVE_BLOSC
+
+/* Define to 1 if you have the <blosc.h> header file. */
+#undef HAVE_BLOSC_H
+
 /* Define if you have BZIP2. */
 #undef HAVE_BZIP2
 
@@ -272,6 +278,9 @@
 /* Define to 1 if you have the `strncpy' function. */
 #undef HAVE_STRNCPY
 
+/* Define to 1 if you have the `strndup' function. */
+#undef HAVE_STRNDUP
+
 /* Define to 1 if strtold exists and conforms to C99. */
 #undef HAVE_STRTOLD
 
diff --git a/config/ac_blosc.m4 b/config/ac_blosc.m4
new file mode 100644
index 0000000..4de0842
--- /dev/null
+++ b/config/ac_blosc.m4
@@ -0,0 +1,83 @@
+#
+#
+# AC_BLOSC
+#
+#
+#
+dnl @synopsis AC_BLOSC
+dnl
+dnl This macro test if BLOSC is to be used.
+dnl Use in C code:
+dnl     #ifdef BLOSC
+dnl     #include "blosc.h"
+dnl     #endif
+dnl
+dnl @version 2.0
+dnl @author Zhenhuan (Steve) Gong
+dnl @author Norbert Podhorszki
+dnl @author Rene Widera
+dnl
+AC_DEFUN([AC_BLOSC],[
+
+AC_MSG_NOTICE([=== checking for BLOSC ===])
+
+AM_CONDITIONAL(HAVE_BLOSC,true)
+
+AC_ARG_WITH(blosc,
+        [  --with-blosc=DIR      Location of BLOSC library],
+        [:], [with_blosc=no])
+
+if test "x$with_blosc" == "xno"; then
+
+   AM_CONDITIONAL(HAVE_BLOSC,false)
+
+else
+
+    save_CFLAGS="$CFLAGS"
+    save_LIBS="$LIBS"
+    save_LDFLAGS="$LDFLAGS"
+
+    if test "x$with_blosc" == "xyes"; then
+        dnl No path given
+        BLOSC_CFLAGS=""
+        BLOSC_CPPFLAGS=""
+        BLOSC_LDFLAGS=""
+        BLOSC_LIBS="-lblosc"
+    else
+        dnl Path given, first try path/lib
+        BLOSC_CFLAGS="-I$withval/include"
+        BLOSC_CPPFLAGS="-I$withval/include"
+        BLOSC_LDFLAGS="-L$withval/lib"
+        BLOSC_LIBS="-lblosc"
+    fi
+
+    LIBS="$LIBS $BLOSC_LIBS"
+    LDFLAGS="$LDFLAGS $BLOSC_LDFLAGS"
+    CFLAGS="$CFLAGS $BLOSC_CFLAGS"
+    CPPFLAGS="$CPPFLAGS $BLOSC_CPPFLAGS"
+
+    dnl Find header file first
+    AC_CHECK_HEADERS(blosc.h,
+              ,
+              [AM_CONDITIONAL(HAVE_BLOSC,false)])
+
+    LIBS="$save_LIBS"
+    LDFLAGS="$save_LDFLAGS"
+    CFLAGS="$save_CFLAGS"
+    CPPFLAGS="$save_CPPFLAGS"
+
+    AC_SUBST(BLOSC_LIBS)
+    AC_SUBST(BLOSC_LDFLAGS)
+    AC_SUBST(BLOSC_CFLAGS)
+    AC_SUBST(BLOSC_CPPFLAGS)
+
+    # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+    if test -z "${HAVE_BLOSC_TRUE}"; then
+            ifelse([$1],,[AC_DEFINE(HAVE_BLOSC,1,[Define if you have BLOSC.])],[$1])
+            :
+    else
+            $2
+            :
+    fi
+fi
+])dnl AC_BLOSC
diff --git a/config/ac_sz.m4 b/config/ac_sz.m4
index 9b9d144..e1b059c 100644
--- a/config/ac_sz.m4
+++ b/config/ac_sz.m4
@@ -24,7 +24,7 @@ AM_CONDITIONAL(HAVE_SZ,true)
 AC_ARG_WITH(sz,
         [  --with-sz=DIR      Location of SZ library],
         [SZ_LDFLAGS="-L$withval/lib";
-         SZ_LIBS="-lsz -lzlib";
+         SZ_LIBS="-lSZ -lzlib";
          SZ_CPPFLAGS="-I$withval/include";],
         [with_sz=no])
 
@@ -37,7 +37,7 @@ else
     save_CPPFLAGS="$CPPFLAGS"
     save_LIBS="$LIBS"
     save_LDFLAGS="$LDFLAGS"
-    LIBS="$LIBS -lsz -lzlib"
+    LIBS="$LIBS -lSZ -lzlib"
     LDFLAGS="$LDFLAGS $SZ_LDFLAGS"
     CPPFLAGS="$CPPFLAGS $SZ_CPPFLAGS"
 
@@ -50,7 +50,7 @@ else
     # Check for the SZ library and headers
     dnl AC_TRY_COMPILE([struct obd_uuid {char uuid[40];};int fd, num_ost;struct obd_uuid uuids[1024];],
     dnl        [llapi_lov_get_uuids(fd, uuids, &num_ost);],
-    dnl        [SZ_LIBS="-lsz"],
+    dnl        [SZ_LIBS="-lSZ"],
     dnl        [AM_CONDITIONAL(HAVE_SZ,false)])
 
     LIBS="$save_LIBS"
diff --git a/config/ac_zlib.m4 b/config/ac_zlib.m4
index 6972808..02b3b98 100644
--- a/config/ac_zlib.m4
+++ b/config/ac_zlib.m4
@@ -90,7 +90,7 @@ else
                  return (zerr != Z_OK);],
                 [AC_MSG_RESULT(yes)
                  AM_CONDITIONAL(HAVE_ZLIB,true)
-                ]
+                ],
                 [AM_CONDITIONAL(HAVE_ZLIB,false)
                  AC_MSG_RESULT(no)
                 ])
diff --git a/configure b/configure
index 8c753f9..16cabd3 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.ac Revision.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for adios 1.12.0.
+# Generated by GNU Autoconf 2.69 for adios 1.13.0.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -588,8 +588,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='adios'
 PACKAGE_TARNAME='adios'
-PACKAGE_VERSION='1.12.0'
-PACKAGE_STRING='adios 1.12.0'
+PACKAGE_VERSION='1.13.0'
+PACKAGE_STRING='adios 1.13.0'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -693,6 +693,12 @@ BUILD_ZFP_FALSE
 BUILD_ZFP_TRUE
 HAVE_ZFP_FALSE
 HAVE_ZFP_TRUE
+BLOSC_CPPFLAGS
+BLOSC_CFLAGS
+BLOSC_LDFLAGS
+BLOSC_LIBS
+HAVE_BLOSC_FALSE
+HAVE_BLOSC_TRUE
 LZ4_CPPFLAGS
 LZ4_CFLAGS
 LZ4_LDFLAGS
@@ -988,6 +994,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -1084,6 +1091,7 @@ with_alacrity
 with_fastbit
 with_bgq
 with_lz4
+with_blosc
 with_zfp
 with_sz
 enable_research_transports
@@ -1148,6 +1156,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1400,6 +1409,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1537,7 +1555,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1650,7 +1668,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 adios 1.12.0 to adapt to many kinds of systems.
+\`configure' configures adios 1.13.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1690,6 +1708,7 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1720,7 +1739,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of adios 1.12.0:";;
+     short | recursive ) echo "Configuration of adios 1.13.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1827,6 +1846,7 @@ Optional Packages:
   --with-fastbit=DIR      Location of the FastBit library
   --with-bgq 	Whether to enable BGQ method or not
   --with-lz4=DIR      Location of LZ4 library
+  --with-blosc=DIR      Location of BLOSC library
   --with-zfp=DIR      Location of ZFP library
   --with-sz=DIR      Location of SZ library
 
@@ -1917,7 +1937,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-adios configure 1.12.0
+adios configure 1.13.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2711,7 +2731,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 adios $as_me 1.12.0, which was
+It was created by adios $as_me 1.13.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3094,7 +3114,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 ac_config_headers="$ac_config_headers config.h"
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3266,8 +3286,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -3286,7 +3306,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3580,7 +3600,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='adios'
- VERSION='1.12.0'
+ VERSION='1.13.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3614,8 +3634,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3674,6 +3694,7 @@ END
 fi
 
 
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
     # Check whether --enable-maintainer-mode was given.
@@ -21767,6 +21788,17 @@ _ACEOF
 fi
 done
 
+for ac_func in strndup
+do :
+  ac_fn_c_check_func "$LINENO" "strndup" "ac_cv_func_strndup"
+if test "x$ac_cv_func_strndup" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STRNDUP 1
+_ACEOF
+
+fi
+done
+
 for ac_func in snprintf vsnprintf
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -26754,11 +26786,11 @@ fi
 
 search_list="$datatap_dir/thin_ib.h $datatap_dir/lib/thin_ib.h $datatap_dir/include/thin_ib.h $search_list /usr/include/thin_ib.h /usr/local/include/thin_ib.h /opt/ibpbio/include/thin_ib.h /opt/misc/include/thin_ib.h /opt/misc/include/$cercs_cv_archive/thin_ib.h"
 tmp_search_results=""
-echo "configure:26757: searching for $search_list " >&5
+echo "configure:26789: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:26761: first found $tmp_search_results " >&5
+	echo "configure:26793: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -26846,11 +26878,11 @@ fi
 
 search_list="$datatap_dir/libibclient.la $datatap_dir/lib/libibclient.la $datatap_dir/include/libibclient.la $search_list /usr/lib/libibclient.la /usr/local/lib/libibclient.la /opt/ibpbio/lib/libibclient.la /opt/misc/lib/libibclient.la /opt/misc/lib/$cercs_cv_archive/libibclient.la"
 tmp_search_results=""
-echo "configure:26849: searching for $search_list " >&5
+echo "configure:26881: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:26853: first found $tmp_search_results " >&5
+	echo "configure:26885: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -26919,11 +26951,11 @@ else
 
 search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
 tmp_search_results=""
-echo "configure:26922: searching for $search_list " >&5
+echo "configure:26954: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:26926: first found $tmp_search_results " >&5
+	echo "configure:26958: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -26961,11 +26993,11 @@ else
 
 search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
 tmp_search_results=""
-echo "configure:26964: searching for $search_list " >&5
+echo "configure:26996: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:26968: first found $tmp_search_results " >&5
+	echo "configure:27000: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27089,11 +27121,11 @@ fi
 
 search_list="$datatap_dir/ffs.h $datatap_dir/lib/ffs.h $datatap_dir/include/ffs.h $search_list /usr/include/ffs.h /usr/local/include/ffs.h /opt/ffs/include/ffs.h /opt/misc/include/ffs.h /opt/misc/include/$cercs_cv_archive/ffs.h"
 tmp_search_results=""
-echo "configure:27092: searching for $search_list " >&5
+echo "configure:27124: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27096: first found $tmp_search_results " >&5
+	echo "configure:27128: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27181,11 +27213,11 @@ fi
 
 search_list="$datatap_dir/libffs.la $datatap_dir/lib/libffs.la $datatap_dir/include/libffs.la $search_list /usr/lib/libffs.la /usr/local/lib/libffs.la /opt/ffs/lib/libffs.la /opt/misc/lib/libffs.la /opt/misc/lib/$cercs_cv_archive/libffs.la"
 tmp_search_results=""
-echo "configure:27184: searching for $search_list " >&5
+echo "configure:27216: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27188: first found $tmp_search_results " >&5
+	echo "configure:27220: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27254,11 +27286,11 @@ else
 
 search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
 tmp_search_results=""
-echo "configure:27257: searching for $search_list " >&5
+echo "configure:27289: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27261: first found $tmp_search_results " >&5
+	echo "configure:27293: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27296,11 +27328,11 @@ else
 
 search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
 tmp_search_results=""
-echo "configure:27299: searching for $search_list " >&5
+echo "configure:27331: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27303: first found $tmp_search_results " >&5
+	echo "configure:27335: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27424,11 +27456,11 @@ fi
 
 search_list="$datatap_dir/gen_thread.h $datatap_dir/lib/gen_thread.h $datatap_dir/include/gen_thread.h $search_list /usr/include/gen_thread.h /usr/local/include/gen_thread.h /opt/gen_thread/include/gen_thread.h /opt/misc/include/gen_thread.h /opt/misc/include/$cercs_cv_archive/gen_thread.h"
 tmp_search_results=""
-echo "configure:27427: searching for $search_list " >&5
+echo "configure:27459: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27431: first found $tmp_search_results " >&5
+	echo "configure:27463: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27516,11 +27548,11 @@ fi
 
 search_list="$datatap_dir/libgen_thread.la $datatap_dir/lib/libgen_thread.la $datatap_dir/include/libgen_thread.la $search_list /usr/lib/libgen_thread.la /usr/local/lib/libgen_thread.la /opt/gen_thread/lib/libgen_thread.la /opt/misc/lib/libgen_thread.la /opt/misc/lib/$cercs_cv_archive/libgen_thread.la"
 tmp_search_results=""
-echo "configure:27519: searching for $search_list " >&5
+echo "configure:27551: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27523: first found $tmp_search_results " >&5
+	echo "configure:27555: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27589,11 +27621,11 @@ else
 
 search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
 tmp_search_results=""
-echo "configure:27592: searching for $search_list " >&5
+echo "configure:27624: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27596: first found $tmp_search_results " >&5
+	echo "configure:27628: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27631,11 +27663,11 @@ else
 
 search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
 tmp_search_results=""
-echo "configure:27634: searching for $search_list " >&5
+echo "configure:27666: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27638: first found $tmp_search_results " >&5
+	echo "configure:27670: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27782,11 +27814,11 @@ fi
 
 search_list="$datatap_dir/thin_portal.h $datatap_dir/lib/thin_portal.h $datatap_dir/include/thin_portal.h $search_list /usr/include/thin_portal.h /usr/local/include/thin_portal.h /opt/ptlpbio/include/thin_portal.h /opt/misc/include/thin_portal.h /opt/misc/include/$cercs_cv_archive/thin_portal.h"
 tmp_search_results=""
-echo "configure:27785: searching for $search_list " >&5
+echo "configure:27817: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27789: first found $tmp_search_results " >&5
+	echo "configure:27821: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27874,11 +27906,11 @@ fi
 
 search_list="$datatap_dir/libptlclient.a $datatap_dir/lib/libptlclient.a $datatap_dir/include/libptlclient.a $search_list /usr/lib/libptlclient.a /usr/local/lib/libptlclient.a /opt/ptlpbio/lib/libptlclient.a /opt/misc/lib/libptlclient.a /opt/misc/lib/$cercs_cv_archive/libptlclient.a"
 tmp_search_results=""
-echo "configure:27877: searching for $search_list " >&5
+echo "configure:27909: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27881: first found $tmp_search_results " >&5
+	echo "configure:27913: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27947,11 +27979,11 @@ else
 
 search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
 tmp_search_results=""
-echo "configure:27950: searching for $search_list " >&5
+echo "configure:27982: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27954: first found $tmp_search_results " >&5
+	echo "configure:27986: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -27989,11 +28021,11 @@ else
 
 search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
 tmp_search_results=""
-echo "configure:27992: searching for $search_list " >&5
+echo "configure:28024: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:27996: first found $tmp_search_results " >&5
+	echo "configure:28028: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28145,11 +28177,11 @@ fi
 
 search_list="$datatap_dir/thin_ib.h $datatap_dir/lib/thin_ib.h $datatap_dir/include/thin_ib.h $search_list /usr/include/thin_ib.h /usr/local/include/thin_ib.h /opt/ibpbio/include/thin_ib.h /opt/misc/include/thin_ib.h /opt/misc/include/$cercs_cv_archive/thin_ib.h"
 tmp_search_results=""
-echo "configure:28148: searching for $search_list " >&5
+echo "configure:28180: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28152: first found $tmp_search_results " >&5
+	echo "configure:28184: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28237,11 +28269,11 @@ fi
 
 search_list="$datatap_dir/libibclient.la $datatap_dir/lib/libibclient.la $datatap_dir/include/libibclient.la $search_list /usr/lib/libibclient.la /usr/local/lib/libibclient.la /opt/ibpbio/lib/libibclient.la /opt/misc/lib/libibclient.la /opt/misc/lib/$cercs_cv_archive/libibclient.la"
 tmp_search_results=""
-echo "configure:28240: searching for $search_list " >&5
+echo "configure:28272: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28244: first found $tmp_search_results " >&5
+	echo "configure:28276: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28310,11 +28342,11 @@ else
 
 search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
 tmp_search_results=""
-echo "configure:28313: searching for $search_list " >&5
+echo "configure:28345: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28317: first found $tmp_search_results " >&5
+	echo "configure:28349: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28352,11 +28384,11 @@ else
 
 search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
 tmp_search_results=""
-echo "configure:28355: searching for $search_list " >&5
+echo "configure:28387: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28359: first found $tmp_search_results " >&5
+	echo "configure:28391: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28480,11 +28512,11 @@ fi
 
 search_list="$datatap_dir/ffs.h $datatap_dir/lib/ffs.h $datatap_dir/include/ffs.h $search_list /usr/include/ffs.h /usr/local/include/ffs.h /opt/ffs/include/ffs.h /opt/misc/include/ffs.h /opt/misc/include/$cercs_cv_archive/ffs.h"
 tmp_search_results=""
-echo "configure:28483: searching for $search_list " >&5
+echo "configure:28515: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28487: first found $tmp_search_results " >&5
+	echo "configure:28519: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28572,11 +28604,11 @@ fi
 
 search_list="$datatap_dir/libffs.la $datatap_dir/lib/libffs.la $datatap_dir/include/libffs.la $search_list /usr/lib/libffs.la /usr/local/lib/libffs.la /opt/ffs/lib/libffs.la /opt/misc/lib/libffs.la /opt/misc/lib/$cercs_cv_archive/libffs.la"
 tmp_search_results=""
-echo "configure:28575: searching for $search_list " >&5
+echo "configure:28607: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28579: first found $tmp_search_results " >&5
+	echo "configure:28611: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28645,11 +28677,11 @@ else
 
 search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
 tmp_search_results=""
-echo "configure:28648: searching for $search_list " >&5
+echo "configure:28680: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28652: first found $tmp_search_results " >&5
+	echo "configure:28684: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28687,11 +28719,11 @@ else
 
 search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
 tmp_search_results=""
-echo "configure:28690: searching for $search_list " >&5
+echo "configure:28722: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28694: first found $tmp_search_results " >&5
+	echo "configure:28726: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28815,11 +28847,11 @@ fi
 
 search_list="$datatap_dir/gen_thread.h $datatap_dir/lib/gen_thread.h $datatap_dir/include/gen_thread.h $search_list /usr/include/gen_thread.h /usr/local/include/gen_thread.h /opt/gen_thread/include/gen_thread.h /opt/misc/include/gen_thread.h /opt/misc/include/$cercs_cv_archive/gen_thread.h"
 tmp_search_results=""
-echo "configure:28818: searching for $search_list " >&5
+echo "configure:28850: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28822: first found $tmp_search_results " >&5
+	echo "configure:28854: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28907,11 +28939,11 @@ fi
 
 search_list="$datatap_dir/libgen_thread.la $datatap_dir/lib/libgen_thread.la $datatap_dir/include/libgen_thread.la $search_list /usr/lib/libgen_thread.la /usr/local/lib/libgen_thread.la /opt/gen_thread/lib/libgen_thread.la /opt/misc/lib/libgen_thread.la /opt/misc/lib/$cercs_cv_archive/libgen_thread.la"
 tmp_search_results=""
-echo "configure:28910: searching for $search_list " >&5
+echo "configure:28942: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28914: first found $tmp_search_results " >&5
+	echo "configure:28946: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -28980,11 +29012,11 @@ else
 
 search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
 tmp_search_results=""
-echo "configure:28983: searching for $search_list " >&5
+echo "configure:29015: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:28987: first found $tmp_search_results " >&5
+	echo "configure:29019: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29022,11 +29054,11 @@ else
 
 search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
 tmp_search_results=""
-echo "configure:29025: searching for $search_list " >&5
+echo "configure:29057: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29029: first found $tmp_search_results " >&5
+	echo "configure:29061: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29173,11 +29205,11 @@ fi
 
 search_list="$datatap_dir/thin_portal.h $datatap_dir/lib/thin_portal.h $datatap_dir/include/thin_portal.h $search_list /usr/include/thin_portal.h /usr/local/include/thin_portal.h /opt/ptlpbio/include/thin_portal.h /opt/misc/include/thin_portal.h /opt/misc/include/$cercs_cv_archive/thin_portal.h"
 tmp_search_results=""
-echo "configure:29176: searching for $search_list " >&5
+echo "configure:29208: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29180: first found $tmp_search_results " >&5
+	echo "configure:29212: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29265,11 +29297,11 @@ fi
 
 search_list="$datatap_dir/libptlclient.a $datatap_dir/lib/libptlclient.a $datatap_dir/include/libptlclient.a $search_list /usr/lib/libptlclient.a /usr/local/lib/libptlclient.a /opt/ptlpbio/lib/libptlclient.a /opt/misc/lib/libptlclient.a /opt/misc/lib/$cercs_cv_archive/libptlclient.a"
 tmp_search_results=""
-echo "configure:29268: searching for $search_list " >&5
+echo "configure:29300: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29272: first found $tmp_search_results " >&5
+	echo "configure:29304: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29338,11 +29370,11 @@ else
 
 search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
 tmp_search_results=""
-echo "configure:29341: searching for $search_list " >&5
+echo "configure:29373: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29345: first found $tmp_search_results " >&5
+	echo "configure:29377: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29380,11 +29412,11 @@ else
 
 search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
 tmp_search_results=""
-echo "configure:29383: searching for $search_list " >&5
+echo "configure:29415: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29387: first found $tmp_search_results " >&5
+	echo "configure:29419: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29585,11 +29617,11 @@ fi
 
 search_list="$datatap_dir/evpath.h $datatap_dir/lib/evpath.h $datatap_dir/include/evpath.h $search_list /usr/include/evpath.h /usr/local/include/evpath.h /opt/evpath/include/evpath.h /opt/misc/include/evpath.h /opt/misc/include/$cercs_cv_archive/evpath.h"
 tmp_search_results=""
-echo "configure:29588: searching for $search_list " >&5
+echo "configure:29620: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29592: first found $tmp_search_results " >&5
+	echo "configure:29624: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29677,11 +29709,11 @@ fi
 
 search_list="$datatap_dir/libevpath.la $datatap_dir/lib/libevpath.la $datatap_dir/include/libevpath.la $search_list /usr/lib/libevpath.la /usr/local/lib/libevpath.la /opt/evpath/lib/libevpath.la /opt/misc/lib/libevpath.la /opt/misc/lib/$cercs_cv_archive/libevpath.la"
 tmp_search_results=""
-echo "configure:29680: searching for $search_list " >&5
+echo "configure:29712: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29684: first found $tmp_search_results " >&5
+	echo "configure:29716: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29750,11 +29782,11 @@ else
 
 search_list="$PWD/../evpath $PWD/../../evpath $PWD/../../../evpath"
 tmp_search_results=""
-echo "configure:29753: searching for $search_list " >&5
+echo "configure:29785: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29757: first found $tmp_search_results " >&5
+	echo "configure:29789: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -29792,11 +29824,11 @@ else
 
 search_list="$PWD/../evpath $PWD/../../evpath $PWD/../../../evpath"
 tmp_search_results=""
-echo "configure:29795: searching for $search_list " >&5
+echo "configure:29827: searching for $search_list " >&5
 for tmp_search_value in $search_list; do
    if test -r $tmp_search_value; then
 	tmp_search_results=$tmp_search_value
-	echo "configure:29799: first found $tmp_search_results " >&5
+	echo "configure:29831: first found $tmp_search_results " >&5
 	break
    fi
 done
@@ -30059,7 +30091,8 @@ else
 fi
 
 
-                 if false; then
+else
+   if false; then
   HAVE_ZLIB_TRUE=
   HAVE_ZLIB_FALSE='#'
 else
@@ -30893,6 +30926,107 @@ fi
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: === checking for BLOSC ===" >&5
+$as_echo "$as_me: === checking for BLOSC ===" >&6;}
+
+ if true; then
+  HAVE_BLOSC_TRUE=
+  HAVE_BLOSC_FALSE='#'
+else
+  HAVE_BLOSC_TRUE='#'
+  HAVE_BLOSC_FALSE=
+fi
+
+
+
+# Check whether --with-blosc was given.
+if test "${with_blosc+set}" = set; then :
+  withval=$with_blosc; :
+else
+  with_blosc=no
+fi
+
+
+if test "x$with_blosc" == "xno"; then
+
+    if false; then
+  HAVE_BLOSC_TRUE=
+  HAVE_BLOSC_FALSE='#'
+else
+  HAVE_BLOSC_TRUE='#'
+  HAVE_BLOSC_FALSE=
+fi
+
+
+else
+
+    save_CFLAGS="$CFLAGS"
+    save_LIBS="$LIBS"
+    save_LDFLAGS="$LDFLAGS"
+
+    if test "x$with_blosc" == "xyes"; then
+                BLOSC_CFLAGS=""
+        BLOSC_CPPFLAGS=""
+        BLOSC_LDFLAGS=""
+        BLOSC_LIBS="-lblosc"
+    else
+                BLOSC_CFLAGS="-I$withval/include"
+        BLOSC_CPPFLAGS="-I$withval/include"
+        BLOSC_LDFLAGS="-L$withval/lib"
+        BLOSC_LIBS="-lblosc"
+    fi
+
+    LIBS="$LIBS $BLOSC_LIBS"
+    LDFLAGS="$LDFLAGS $BLOSC_LDFLAGS"
+    CFLAGS="$CFLAGS $BLOSC_CFLAGS"
+    CPPFLAGS="$CPPFLAGS $BLOSC_CPPFLAGS"
+
+        for ac_header in blosc.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "blosc.h" "ac_cv_header_blosc_h" "$ac_includes_default"
+if test "x$ac_cv_header_blosc_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_BLOSC_H 1
+_ACEOF
+
+else
+   if false; then
+  HAVE_BLOSC_TRUE=
+  HAVE_BLOSC_FALSE='#'
+else
+  HAVE_BLOSC_TRUE='#'
+  HAVE_BLOSC_FALSE=
+fi
+
+fi
+
+done
+
+
+    LIBS="$save_LIBS"
+    LDFLAGS="$save_LDFLAGS"
+    CFLAGS="$save_CFLAGS"
+    CPPFLAGS="$save_CPPFLAGS"
+
+
+
+
+
+
+    # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+    if test -z "${HAVE_BLOSC_TRUE}"; then
+
+$as_echo "#define HAVE_BLOSC 1" >>confdefs.h
+
+            :
+    else
+
+            :
+    fi
+fi
+
+
+
 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: === checking for ZFP ===" >&5
@@ -31049,7 +31183,7 @@ fi
 # Check whether --with-sz was given.
 if test "${with_sz+set}" = set; then :
   withval=$with_sz; SZ_LDFLAGS="-L$withval/lib";
-         SZ_LIBS="-lsz -lzlib";
+         SZ_LIBS="-lSZ -lzlib";
          SZ_CPPFLAGS="-I$withval/include";
 else
   with_sz=no
@@ -31072,7 +31206,7 @@ else
     save_CPPFLAGS="$CPPFLAGS"
     save_LIBS="$LIBS"
     save_LDFLAGS="$LDFLAGS"
-    LIBS="$LIBS -lsz -lzlib"
+    LIBS="$LIBS -lSZ -lzlib"
     LDFLAGS="$LDFLAGS $SZ_LDFLAGS"
     CPPFLAGS="$CPPFLAGS $SZ_CPPFLAGS"
 
@@ -31723,6 +31857,28 @@ if test -z "${HAVE_LZ4_TRUE}"; then
     ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${LZ4_LDFLAGS}"
     ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${LZ4_LIBS}"
 fi
+if test -z "${HAVE_BLOSC_TRUE}"; then
+    ADIOSLIB_CPPFLAGS="${ADIOSLIB_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSLIB_CFLAGS="${ADIOSLIB_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${BLOSC_LIBS}"
+    ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${BLOSC_LIBS}"
+    ADIOSLIB_INT_CPPFLAGS="${ADIOSLIB_INT_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSLIB_INT_CFLAGS="${ADIOSLIB_INT_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSLIB_INT_LDFLAGS="${ADIOSLIB_INT_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSLIB_INT_LDADD="${ADIOSLIB_INT_LDADD} ${BLOSC_LIBS}"
+    ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSREADLIB_CFLAGS="${ADIOSREADLIB_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSREADLIB_LDFLAGS="${ADIOSREADLIB_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSREADLIB_LDADD="${ADIOSREADLIB_LDADD} ${BLOSC_LIBS}"
+    ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${BLOSC_LIBS}"
+fi
 if test -z "${HAVE_ZFP_TRUE}"; then
     ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${ZFP_LDFLAGS}"
     ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${ZFP_LIBS}"
@@ -31925,7 +32081,7 @@ fi
 #fi
 #AC_DEFINE_UNQUOTED(VERSION_SVNREV, "${SVNVERSION}", [svn revision number])
 
-ac_config_files="$ac_config_files Makefile src/Makefile src/zfp/Makefile src/mxml/Makefile tests/Makefile tests/test_src/Makefile tests/C/Makefile tests/C/flexpath_tests/Makefile tests/C/flexpath_tests/1D_arr_global/Makefile tests/C/flexpath_tests/1D_arr_global_noxml/Makefile tests/C/flexpath_tests/global_range_select/Makefile tests/C/flexpath_tests/maya_noxml/Makefile tests/C/flexpath_tests/scalar/Makefile tests/C/flexpath_tests/local_arrays/Makefile tests/C/fgr_tests/Makefile tests/C/q [...]
+ac_config_files="$ac_config_files Makefile src/Makefile src/zfp/Makefile src/mxml/Makefile tests/Makefile tests/test_src/Makefile tests/C/Makefile tests/C/flexpath_tests/Makefile tests/C/flexpath_tests/1D_arr_global/Makefile tests/C/flexpath_tests/1D_arr_global_noxml/Makefile tests/C/flexpath_tests/global_range_select/Makefile tests/C/flexpath_tests/maya_noxml/Makefile tests/C/flexpath_tests/scalar/Makefile tests/C/flexpath_tests/local_arrays/Makefile tests/C/flexpath_tests/two_streams/M [...]
 
 
 
@@ -32570,6 +32726,18 @@ if test -z "${HAVE_LZ4_TRUE}" && test -z "${HAVE_LZ4_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_LZ4\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${HAVE_BLOSC_TRUE}" && test -z "${HAVE_BLOSC_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_BLOSC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_BLOSC_TRUE}" && test -z "${HAVE_BLOSC_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_BLOSC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_BLOSC_TRUE}" && test -z "${HAVE_BLOSC_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_BLOSC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${HAVE_ZFP_TRUE}" && test -z "${HAVE_ZFP_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_ZFP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -33055,7 +33223,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 adios $as_me 1.12.0, which was
+This file was extended by adios $as_me 1.13.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -33121,7 +33289,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="\\
-adios config.status 1.12.0
+adios config.status 1.13.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -33734,6 +33902,7 @@ do
     "tests/C/flexpath_tests/maya_noxml/Makefile") CONFIG_FILES="$CONFIG_FILES tests/C/flexpath_tests/maya_noxml/Makefile" ;;
     "tests/C/flexpath_tests/scalar/Makefile") CONFIG_FILES="$CONFIG_FILES tests/C/flexpath_tests/scalar/Makefile" ;;
     "tests/C/flexpath_tests/local_arrays/Makefile") CONFIG_FILES="$CONFIG_FILES tests/C/flexpath_tests/local_arrays/Makefile" ;;
+    "tests/C/flexpath_tests/two_streams/Makefile") CONFIG_FILES="$CONFIG_FILES tests/C/flexpath_tests/two_streams/Makefile" ;;
     "tests/C/fgr_tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/C/fgr_tests/Makefile" ;;
     "tests/C/query/Makefile") CONFIG_FILES="$CONFIG_FILES tests/C/query/Makefile" ;;
     "tests/C/query/common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/C/query/common/Makefile" ;;
@@ -33784,6 +33953,7 @@ do
     "examples/C/manual/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/manual/Makefile" ;;
     "examples/C/global-array/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/global-array/Makefile" ;;
     "examples/C/global-array-time/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/global-array-time/Makefile" ;;
+    "examples/C/joined-array/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/joined-array/Makefile" ;;
     "examples/C/stat/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/stat/Makefile" ;;
     "examples/C/read_all/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/read_all/Makefile" ;;
     "examples/C/schema/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/schema/Makefile" ;;
@@ -35704,6 +35874,17 @@ else
     echo "  - No LZ4 to build LZ4 transform method"
 fi
 
+if test -z "${HAVE_BLOSC_TRUE}"; then
+    echo "  - BLOSC";
+    echo "      - BLOSC_CFLAGS = $BLOSC_CFLAGS";
+    echo "      - BLOSC_CPPFLAGS = $BLOSC_CPPFLAGS";
+    echo "      - BLOSC_LDFLAGS = $BLOSC_LDFLAGS";
+    echo "      - BLOSC_LIBS = $BLOSC_LIBS";
+    echo
+else
+    echo "  - No Blosc to build Blosc transform method"
+fi
+
 if test -z "${BUILD_ZFP_TRUE}"; then
     echo "  - ZFP is built with ADIOS";
 elif test -z "${HAVE_ZFP_TRUE}"; then
diff --git a/configure.ac b/configure.ac
index 4cd792d..3635329 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([adios], [1.12.0])
+AC_INIT([adios], [1.13.0])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_MACRO_DIR(config)
@@ -88,6 +88,7 @@ AC_C_INLINE
 
 dnl Checks for string functions.
 AC_CHECK_FUNCS(strdup)
+AC_CHECK_FUNCS(strndup)
 AC_CHECK_FUNCS(snprintf vsnprintf)
 
 dnl Check for "long long" support...
@@ -187,6 +188,7 @@ AC_ALACRITY
 AC_FASTBIT
 AC_BGQ
 AC_LZ4
+AC_BLOSC
 
 
 AC_ZFP
@@ -717,6 +719,28 @@ if test -z "${HAVE_LZ4_TRUE}"; then
     ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${LZ4_LDFLAGS}"
     ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${LZ4_LIBS}"
 fi
+if test -z "${HAVE_BLOSC_TRUE}"; then
+    ADIOSLIB_CPPFLAGS="${ADIOSLIB_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSLIB_CFLAGS="${ADIOSLIB_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${BLOSC_LIBS}"
+    ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${BLOSC_LIBS}"
+    ADIOSLIB_INT_CPPFLAGS="${ADIOSLIB_INT_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSLIB_INT_CFLAGS="${ADIOSLIB_INT_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSLIB_INT_LDFLAGS="${ADIOSLIB_INT_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSLIB_INT_LDADD="${ADIOSLIB_INT_LDADD} ${BLOSC_LIBS}"
+    ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSREADLIB_CFLAGS="${ADIOSREADLIB_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSREADLIB_LDFLAGS="${ADIOSREADLIB_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSREADLIB_LDADD="${ADIOSREADLIB_LDADD} ${BLOSC_LIBS}"
+    ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} -DBLOSC ${BLOSC_CPPFLAGS}"
+    ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${BLOSC_CFLAGS}"
+    ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${BLOSC_LDFLAGS}"
+    ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${BLOSC_LIBS}"
+fi
 if test -z "${HAVE_ZFP_TRUE}"; then
     ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${ZFP_LDFLAGS}"
     ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${ZFP_LIBS}"
@@ -925,6 +949,7 @@ AC_CONFIG_FILES([Makefile
                  tests/C/flexpath_tests/maya_noxml/Makefile
                  tests/C/flexpath_tests/scalar/Makefile
                  tests/C/flexpath_tests/local_arrays/Makefile
+                 tests/C/flexpath_tests/two_streams/Makefile
                  tests/C/fgr_tests/Makefile
                  tests/C/query/Makefile
                  tests/C/query/common/Makefile
@@ -975,6 +1000,7 @@ AC_CONFIG_FILES([Makefile
                  examples/C/manual/Makefile
                  examples/C/global-array/Makefile
                  examples/C/global-array-time/Makefile
+                 examples/C/joined-array/Makefile
                  examples/C/stat/Makefile
                  examples/C/read_all/Makefile
                  examples/C/schema/Makefile
@@ -1320,6 +1346,17 @@ else
     echo "  - No LZ4 to build LZ4 transform method"
 fi
 
+if test -z "${HAVE_BLOSC_TRUE}"; then
+    echo "  - BLOSC";
+    echo "      - BLOSC_CFLAGS = $BLOSC_CFLAGS";
+    echo "      - BLOSC_CPPFLAGS = $BLOSC_CPPFLAGS";
+    echo "      - BLOSC_LDFLAGS = $BLOSC_LDFLAGS";
+    echo "      - BLOSC_LIBS = $BLOSC_LIBS";
+    echo
+else
+    echo "  - No Blosc to build Blosc transform method"
+fi
+
 if test -z "${BUILD_ZFP_TRUE}"; then
     echo "  - ZFP is built with ADIOS";
 elif test -z "${HAVE_ZFP_TRUE}"; then
diff --git a/examples/C/CMakeLists.txt b/examples/C/CMakeLists.txt
index 0977110..aed09d1 100644
--- a/examples/C/CMakeLists.txt
+++ b/examples/C/CMakeLists.txt
@@ -4,6 +4,7 @@ add_subdirectory(attributes)
 add_subdirectory(manual)
 add_subdirectory(global-array)
 add_subdirectory(global-array-time)
+add_subdirectory(joined-array)
 add_subdirectory(read_all)
 add_subdirectory(stat)
 add_subdirectory(schema)
diff --git a/examples/C/Makefile.am b/examples/C/Makefile.am
index 3c99eb3..139839a 100644
--- a/examples/C/Makefile.am
+++ b/examples/C/Makefile.am
@@ -1,3 +1,3 @@
-SUBDIRS=scalars arrays attributes manual global-array global-array-time \
+SUBDIRS=scalars arrays attributes manual global-array global-array-time joined-array \
 		read_all stat schema flexpath_arrays transforms query icee_arrays \
 		time_aggregation
diff --git a/examples/C/Makefile.in b/examples/C/Makefile.in
index b1acbca..b04c6ba 100644
--- a/examples/C/Makefile.in
+++ b/examples/C/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = examples/C
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -484,7 +501,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = scalars arrays attributes manual global-array global-array-time \
+SUBDIRS = scalars arrays attributes manual global-array global-array-time joined-array \
 		read_all stat schema flexpath_arrays transforms query icee_arrays \
 		time_aggregation
 
@@ -503,7 +520,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -798,6 +814,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/C/arrays/Makefile.in b/examples/C/arrays/Makefile.in
index ae9c977..61fd090 100644
--- a/examples/C/arrays/Makefile.in
+++ b/examples/C/arrays/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = arrays_write$(EXEEXT) arrays_read$(EXEEXT)
 subdir = examples/C/arrays
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -203,6 +214,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -242,6 +254,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -477,6 +493,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -512,7 +529,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/arrays/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/arrays/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -771,6 +787,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/attributes/Makefile.in b/examples/C/attributes/Makefile.in
index 12a3eb9..1e0cd1b 100644
--- a/examples/C/attributes/Makefile.in
+++ b/examples/C/attributes/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = attributes_write$(EXEEXT) attributes_read$(EXEEXT)
 subdir = examples/C/attributes
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -205,6 +216,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -244,6 +256,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -479,6 +495,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -516,7 +533,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/attributes/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/attributes/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -775,6 +791,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/flexpath_arrays/Makefile.in b/examples/C/flexpath_arrays/Makefile.in
index 059f0e2..c983e89 100644
--- a/examples/C/flexpath_arrays/Makefile.in
+++ b/examples/C/flexpath_arrays/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = examples/C/flexpath_arrays
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -500,7 +517,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/flexpath_arrays/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/flexpath_arrays/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -795,6 +811,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/C/flexpath_arrays/global_range_select/Makefile.in b/examples/C/flexpath_arrays/global_range_select/Makefile.in
index 293ca32..346db08 100644
--- a/examples/C/flexpath_arrays/global_range_select/Makefile.in
+++ b/examples/C/flexpath_arrays/global_range_select/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = arrays_write$(EXEEXT) arrays_read$(EXEEXT)
 subdir = examples/C/flexpath_arrays/global_range_select
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -203,6 +214,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -242,6 +254,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -477,6 +493,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -512,7 +529,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/flexpath_arrays/global_range_select/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/flexpath_arrays/global_range_select/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -771,6 +787,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/flexpath_arrays/process_select/Makefile.in b/examples/C/flexpath_arrays/process_select/Makefile.in
index d0d0f28..7d974b1 100644
--- a/examples/C/flexpath_arrays/process_select/Makefile.in
+++ b/examples/C/flexpath_arrays/process_select/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = arrays_write$(EXEEXT) arrays_read$(EXEEXT)
 subdir = examples/C/flexpath_arrays/process_select
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -203,6 +214,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -242,6 +254,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -477,6 +493,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -512,7 +529,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/flexpath_arrays/process_select/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/flexpath_arrays/process_select/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -771,6 +787,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/global-array-time/Makefile.in b/examples/C/global-array-time/Makefile.in
index 83c58f8..4e9ecd7 100644
--- a/examples/C/global-array-time/Makefile.in
+++ b/examples/C/global-array-time/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,11 +93,11 @@ noinst_PROGRAMS = adios_globaltime$(EXEEXT) \
 	adios_read_globaltime$(EXEEXT) \
 	adios_read_globaltime_streaming$(EXEEXT)
 subdir = examples/C/global-array-time
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -123,6 +133,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -234,6 +245,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -273,6 +285,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -508,6 +524,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -553,7 +570,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/global-array-time/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/global-array-time/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -820,6 +836,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/global-array/Makefile.in b/examples/C/global-array/Makefile.in
index 079f327..94e2e9d 100644
--- a/examples/C/global-array/Makefile.in
+++ b/examples/C/global-array/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -85,11 +95,11 @@ noinst_PROGRAMS = adios_global$(EXEEXT) adios_global_2files$(EXEEXT) \
 	no_xml_write_byid$(EXEEXT) read_no_xml_write_byid$(EXEEXT) \
 	adios_global_aggregate_by_color$(EXEEXT)
 subdir = examples/C/global-array
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -125,6 +135,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -297,6 +308,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -336,6 +348,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -571,6 +587,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -643,7 +660,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/global-array/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/global-array/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -938,6 +954,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/icee_arrays/Makefile.in b/examples/C/icee_arrays/Makefile.in
index bc6959c..550d48a 100644
--- a/examples/C/icee_arrays/Makefile.in
+++ b/examples/C/icee_arrays/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = examples/C/icee_arrays
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -500,7 +517,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/icee_arrays/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/icee_arrays/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -795,6 +811,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/C/icee_arrays/array/Makefile.in b/examples/C/icee_arrays/array/Makefile.in
index efb0978..2cdec7a 100644
--- a/examples/C/icee_arrays/array/Makefile.in
+++ b/examples/C/icee_arrays/array/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = adios_write$(EXEEXT) adios_read$(EXEEXT)
 subdir = examples/C/icee_arrays/array
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -203,6 +214,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -242,6 +254,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -477,6 +493,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -511,7 +528,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/icee_arrays/array/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/icee_arrays/array/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -770,6 +786,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/README.txt $(builddir)
diff --git a/examples/C/joined-array/CMakeLists.txt b/examples/C/joined-array/CMakeLists.txt
new file mode 100644
index 0000000..91da724
--- /dev/null
+++ b/examples/C/joined-array/CMakeLists.txt
@@ -0,0 +1,23 @@
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/examples/C/joined-array)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
+link_directories(${PROJECT_BINARY_DIR}/examples/C/joined-array)
+
+add_executable(joined-array joined-array.c)
+target_link_libraries(joined-array adios ${ADIOSLIB_LDADD})
+
+
+set (PROGS joined-array)
+
+foreach (PROG ${PROGS} )
+  if(MPI_COMPILE_FLAGS)
+    set_target_properties(${PROG} PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+  endif()
+  if(MPI_LINK_FLAGS)
+    set_target_properties(${PROG} PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+  endif()
+  target_link_libraries(${PROG} adios ${MPI_C_LIBRARIES})
+endforeach()
+
+
diff --git a/examples/C/joined-array/Makefile.am b/examples/C/joined-array/Makefile.am
new file mode 100644
index 0000000..e7ead0b
--- /dev/null
+++ b/examples/C/joined-array/Makefile.am
@@ -0,0 +1,15 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src/public  -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+
+AUTOMAKE_OPTIONS = no-dependencies
+
+noinst_PROGRAMS = joined-array
+
+joined_array_SOURCES = joined-array.c
+joined_array_LDADD = $(top_builddir)/src/libadios.a 
+joined_array_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+joined_array_LDADD += $(ADIOSLIB_LDADD)
+
+CLEANFILES = *.bp
+CC=$(MPICC)
+
diff --git a/tests/C/fgr_tests/Makefile.in b/examples/C/joined-array/Makefile.in
similarity index 92%
copy from tests/C/fgr_tests/Makefile.in
copy to examples/C/joined-array/Makefile.in
index be1a734..d714604 100644
--- a/tests/C/fgr_tests/Makefile.in
+++ b/examples/C/joined-array/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,13 +88,13 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-noinst_PROGRAMS = posix_fgr$(EXEEXT)
-subdir = tests/C/fgr_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
+noinst_PROGRAMS = joined-array$(EXEEXT)
+subdir = examples/C/joined-array
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,23 +130,24 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
-am_posix_fgr_OBJECTS = posix_fgr-posix_fgr.$(OBJEXT)
-posix_fgr_OBJECTS = $(am_posix_fgr_OBJECTS)
+am_joined_array_OBJECTS = joined-array.$(OBJEXT)
+joined_array_OBJECTS = $(am_joined_array_OBJECTS)
 am__DEPENDENCIES_1 =
-posix_fgr_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+joined_array_DEPENDENCIES = $(top_builddir)/src/libadios.a \
 	$(am__DEPENDENCIES_1)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am__v_lt_1 = 
-posix_fgr_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(posix_fgr_CFLAGS) \
-	$(CFLAGS) $(posix_fgr_LDFLAGS) $(LDFLAGS) -o $@
+joined_array_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(joined_array_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_P = $(am__v_P_ at AM_V@)
 am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -170,8 +181,8 @@ AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(posix_fgr_SOURCES)
-DIST_SOURCES = $(posix_fgr_SOURCES)
+SOURCES = $(joined_array_SOURCES)
+DIST_SOURCES = $(joined_array_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -196,6 +207,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -235,6 +247,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -470,6 +486,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -481,12 +498,10 @@ top_srcdir = @top_srcdir@
 AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
 	-I$(top_srcdir)/src -I$(top_srcdir)/src/public
 AUTOMAKE_OPTIONS = no-dependencies
-posix_fgr_SOURCES = posix_fgr.c
-posix_fgr_CPPFLAGS = $(ADIOSLIB_CPPFLAGS)
-posix_fgr_CFLAGS = $(ADIOSLIB_CFLAGS)
-posix_fgr_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
-posix_fgr_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
-CLEANFILES = posix_fgr.bp
+joined_array_SOURCES = joined-array.c
+joined_array_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+joined_array_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+CLEANFILES = *.bp
 all: all-am
 
 .SUFFIXES:
@@ -500,10 +515,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/fgr_tests/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/joined-array/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu tests/C/fgr_tests/Makefile
-.PRECIOUS: Makefile
+	  $(AUTOMAKE) --gnu examples/C/joined-array/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -531,9 +545,9 @@ clean-noinstPROGRAMS:
 	echo " rm -f" $$list; \
 	rm -f $$list
 
-posix_fgr$(EXEEXT): $(posix_fgr_OBJECTS) $(posix_fgr_DEPENDENCIES) $(EXTRA_posix_fgr_DEPENDENCIES) 
-	@rm -f posix_fgr$(EXEEXT)
-	$(AM_V_CCLD)$(posix_fgr_LINK) $(posix_fgr_OBJECTS) $(posix_fgr_LDADD) $(LIBS)
+joined-array$(EXEEXT): $(joined_array_OBJECTS) $(joined_array_DEPENDENCIES) $(EXTRA_joined_array_DEPENDENCIES) 
+	@rm -f joined-array$(EXEEXT)
+	$(AM_V_CCLD)$(joined_array_LINK) $(joined_array_OBJECTS) $(joined_array_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -550,12 +564,6 @@ distclean-compile:
 .c.lo:
 	$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
 
-posix_fgr-posix_fgr.o: posix_fgr.c
-	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(posix_fgr_CPPFLAGS) $(CPPFLAGS) $(posix_fgr_CFLAGS) $(CFLAGS) -c -o posix_fgr-posix_fgr.o `test -f 'posix_fgr.c' || echo '$(srcdir)/'`posix_fgr.c
-
-posix_fgr-posix_fgr.obj: posix_fgr.c
-	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(posix_fgr_CPPFLAGS) $(CPPFLAGS) $(posix_fgr_CFLAGS) $(CFLAGS) -c -o posix_fgr-posix_fgr.obj `if test -f 'posix_fgr.c'; then $(CYGPATH_W) 'posix_fgr.c'; else $(CYGPATH_W) '$(srcdir)/posix_fgr.c'; fi`
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -764,6 +772,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/C/joined-array/joined-array.c b/examples/C/joined-array/joined-array.c
new file mode 100644
index 0000000..0cda691
--- /dev/null
+++ b/examples/C/joined-array/joined-array.c
@@ -0,0 +1,148 @@
+/* 
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009.  UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: write a 2D table as local array from N processors and
+ * let ADIOS present it at reading as a joined global 2D array
+ *
+ * How to run: mpirun -np <N> joined-array
+ * Output: joined-array.bp
+ *
+*/
+
+/* This example will write out a 2D variable called 'table'. Processes don't
+   define the offsets of their pieces in a global 2D array, instead they let
+   ADIOS merge the tables at the slow dimension to present one global 2D table 
+   at read time.
+
+   Running on 4 processes the example output is the following:
+
+$ mpirun -np 4 ./joined-array
+$ bpls -la joined-array.bp -d table
+  double   table  {18, 6} = 0 / 3.5 / null  / null 
+    ( 0,0)    0 0.1 0.2 0.3 0.4 0.5
+    ( 1,0)    0 0.1 0.2 0.3 0.4 0.5
+    ( 2,0)    0 0.1 0.2 0.3 0.4 0.5
+    ( 3,0)    1 1.1 1.2 1.3 1.4 1.5
+    ( 4,0)    1 1.1 1.2 1.3 1.4 1.5
+    ( 5,0)    1 1.1 1.2 1.3 1.4 1.5
+    ( 6,0)    1 1.1 1.2 1.3 1.4 1.5
+    ( 7,0)    2 2.1 2.2 2.3 2.4 2.5
+    ( 8,0)    2 2.1 2.2 2.3 2.4 2.5
+    ( 9,0)    2 2.1 2.2 2.3 2.4 2.5
+    (10,0)    2 2.1 2.2 2.3 2.4 2.5
+    (11,0)    2 2.1 2.2 2.3 2.4 2.5
+    (12,0)    3 3.1 3.2 3.3 3.4 3.5
+    (13,0)    3 3.1 3.2 3.3 3.4 3.5
+    (14,0)    3 3.1 3.2 3.3 3.4 3.5
+    (15,0)    3 3.1 3.2 3.3 3.4 3.5
+    (16,0)    3 3.1 3.2 3.3 3.4 3.5
+    (17,0)    3 3.1 3.2 3.3 3.4 3.5
+
+
+   The details (per process data) are the following:
+$ bpls -la joined-array.bp -dD cols
+  integer  cols   scalar = 6
+        step 0: 4 instances available
+               6 6 6 6
+$ bpls -la joined-array.bp -dD rows
+  integer  rows   scalar = 3
+        step 0: 4 instances available
+               3 4 5 6
+$ bpls -la joined-array.bp -dD table
+  double   table  {18, 6} = 0 / 3.5 / null  / null 
+        step 0: 
+          block 0: [ 0: 2, 0:5] = 0 / 0.5/ N/A / N/A 
+    (0,0)    0 0.1 0.2 0.3 0.4 0.5
+    (1,0)    0 0.1 0.2 0.3 0.4 0.5
+    (2,0)    0 0.1 0.2 0.3 0.4 0.5
+          block 1: [ 3: 6, 0:5] = 1 / 1.5/ N/A / N/A 
+    (0,0)    1 1.1 1.2 1.3 1.4 1.5
+    (1,0)    1 1.1 1.2 1.3 1.4 1.5
+    (2,0)    1 1.1 1.2 1.3 1.4 1.5
+    (3,0)    1 1.1 1.2 1.3 1.4 1.5
+          block 2: [ 7:11, 0:5] = 2 / 2.5/ N/A / N/A 
+    (0,0)    2 2.1 2.2 2.3 2.4 2.5
+    (1,0)    2 2.1 2.2 2.3 2.4 2.5
+    (2,0)    2 2.1 2.2 2.3 2.4 2.5
+    (3,0)    2 2.1 2.2 2.3 2.4 2.5
+    (4,0)    2 2.1 2.2 2.3 2.4 2.5
+          block 3: [12:17, 0:5] = 3 / 3.5/ N/A / N/A 
+    (0,0)    3 3.1 3.2 3.3 3.4 3.5
+    (1,0)    3 3.1 3.2 3.3 3.4 3.5
+    (2,0)    3 3.1 3.2 3.3 3.4 3.5
+    (3,0)    3 3.1 3.2 3.3 3.4 3.5
+    (4,0)    3 3.1 3.2 3.3 3.4 3.5
+    (5,0)    3 3.1 3.2 3.3 3.4 3.5
+
+
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios.h"
+#include "adios_types.h"
+
+
+int main (int argc, char ** argv) 
+{
+	char        filename[] = "joined-array.bp";
+	int         rank, size, i,j,n;
+	int         ROWS; // different number of rows per process
+	int         COLS = 6;
+	double     *table;
+	int64_t     varid;
+	MPI_Comm    comm = MPI_COMM_WORLD;
+
+
+	MPI_Init (&argc, &argv);
+	MPI_Comm_rank (comm, &rank);
+	MPI_Comm_size (comm, &size);
+
+    ROWS = rank + 3;
+	table = (double *) malloc (ROWS * COLS * sizeof(double));
+
+	adios_init_noxml (comm);
+
+	int64_t       m_adios_group;
+	int64_t       m_adios_file;
+
+	adios_declare_group (&m_adios_group, "joined", "", adios_stat_default);
+	adios_select_method (m_adios_group, "MPI", "verbose=3", "");
+
+	adios_define_var (m_adios_group, "rows" ,"", adios_integer ,0, 0, 0);
+	adios_define_var (m_adios_group, "cols" ,"", adios_integer ,0, 0, 0);
+    varid = adios_define_var (m_adios_group, "table" ,"", adios_double
+				,"rows,cols", "JoinedDim,cols", "0,0");
+
+	adios_open (&m_adios_file, "joined", filename, "w", comm);
+
+    n = 0;
+    for (i = 0; i < ROWS; i++)
+    {
+        for (j = 0; j < COLS; j++)
+        {
+            table[n] = (double)rank + (double)j/10.0;
+            n++;
+        }
+    }
+
+    adios_write(m_adios_file, "rows", &ROWS);
+    adios_write(m_adios_file, "cols", &COLS);
+    adios_write(m_adios_file, "table", table);
+	adios_close (m_adios_file);
+
+	MPI_Barrier (comm);
+
+	adios_finalize (rank);
+
+	free (table);
+	MPI_Finalize ();
+	return 0;
+}
diff --git a/examples/C/manual/Makefile.in b/examples/C/manual/Makefile.in
index a2fc3c9..726e616 100644
--- a/examples/C/manual/Makefile.in
+++ b/examples/C/manual/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = 1_nonadios_example$(EXEEXT) 2_adios_write$(EXEEXT) \
 	3_adios_read$(EXEEXT) 4_adios_nfiles$(EXEEXT)
 subdir = examples/C/manual
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -222,6 +233,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -261,6 +273,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -496,6 +512,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -539,7 +556,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/manual/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/manual/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -806,6 +822,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/query/Makefile.in b/examples/C/query/Makefile.in
index 22ff16e..65ae089 100644
--- a/examples/C/query/Makefile.in
+++ b/examples/C/query/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = write_vars$(EXEEXT) query_vars$(EXEEXT) \
 	write_table$(EXEEXT) query_table$(EXEEXT)
 subdir = examples/C/query
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -220,6 +231,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -259,6 +271,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -494,6 +510,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -538,7 +555,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/query/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/query/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -805,6 +821,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/C/read_all/Makefile.in b/examples/C/read_all/Makefile.in
index 7e1920c..80549f6 100644
--- a/examples/C/read_all/Makefile.in
+++ b/examples/C/read_all/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = read_all$(EXEEXT) read_all_v1$(EXEEXT)
 subdir = examples/C/read_all
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -203,6 +214,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -242,6 +254,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -477,6 +493,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -514,7 +531,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/read_all/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/read_all/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -784,6 +800,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/C/scalars/Makefile.in b/examples/C/scalars/Makefile.in
index 5d1c6d1..c3367af 100644
--- a/examples/C/scalars/Makefile.in
+++ b/examples/C/scalars/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = scalars_write$(EXEEXT) scalars_read$(EXEEXT) \
 	scalars_write_step$(EXEEXT)
 subdir = examples/C/scalars
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -214,6 +225,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -253,6 +265,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -488,6 +504,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -528,7 +545,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/scalars/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/scalars/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -791,6 +807,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/schema/Makefile.in b/examples/C/schema/Makefile.in
index 0190052..ff26c5f 100644
--- a/examples/C/schema/Makefile.in
+++ b/examples/C/schema/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,11 +93,11 @@ noinst_PROGRAMS = uniform2d$(EXEEXT) rectilinear2d$(EXEEXT) \
 	uniform2d_noxml$(EXEEXT) rectilinear2d_noxml$(EXEEXT) \
 	structured2d_noxml$(EXEEXT) tri2d_noxml$(EXEEXT)
 subdir = examples/C/schema
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -123,6 +133,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -264,6 +275,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -303,6 +315,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -538,6 +554,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -597,7 +614,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/schema/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/schema/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -884,6 +900,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/stat/Makefile.in b/examples/C/stat/Makefile.in
index 695de9d..5d39f43 100644
--- a/examples/C/stat/Makefile.in
+++ b/examples/C/stat/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = stat_write$(EXEEXT) stat_read$(EXEEXT)
 subdir = examples/C/stat
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -203,6 +214,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -242,6 +254,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -477,6 +493,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -513,7 +530,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/stat/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/stat/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -772,6 +788,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/time_aggregation/Makefile.in b/examples/C/time_aggregation/Makefile.in
index e0c5faf..d68cab6 100644
--- a/examples/C/time_aggregation/Makefile.in
+++ b/examples/C/time_aggregation/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = time_aggregation$(EXEEXT) \
 	time_aggregation_no_xml$(EXEEXT)
 subdir = examples/C/time_aggregation
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -210,6 +221,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -249,6 +261,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -484,6 +500,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -521,7 +538,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/time_aggregation/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/time_aggregation/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -780,6 +796,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/C/transforms/Makefile.in b/examples/C/transforms/Makefile.in
index 41697ca..3182ed7 100644
--- a/examples/C/transforms/Makefile.in
+++ b/examples/C/transforms/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = adios_global$(EXEEXT) adios_read_subv$(EXEEXT) \
 	adios_read_points$(EXEEXT) adios_read_wb_subpg$(EXEEXT)
 subdir = examples/C/transforms
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -223,6 +234,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -262,6 +274,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -497,6 +513,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -542,7 +559,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/transforms/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/C/transforms/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -809,6 +825,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/Fortran/Makefile.in b/examples/Fortran/Makefile.in
index 7b7f29e..f2ba732 100644
--- a/examples/Fortran/Makefile.in
+++ b/examples/Fortran/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = examples/Fortran
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -500,7 +517,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Fortran/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/Fortran/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -795,6 +811,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 #time-index
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/examples/Fortran/arrays/Makefile.in b/examples/Fortran/arrays/Makefile.in
index bc4537d..acc58c7 100644
--- a/examples/Fortran/arrays/Makefile.in
+++ b/examples/Fortran/arrays/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = arrays_write$(EXEEXT) arrays_read$(EXEEXT)
 subdir = examples/Fortran/arrays
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -200,6 +211,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -239,6 +251,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -474,6 +490,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -514,7 +531,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Fortran/arrays/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/Fortran/arrays/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -773,6 +789,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/Fortran/global-array-time/Makefile.in b/examples/Fortran/global-array-time/Makefile.in
index 9db1899..65c2349 100644
--- a/examples/Fortran/global-array-time/Makefile.in
+++ b/examples/Fortran/global-array-time/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = adios_globaltime$(EXEEXT)
 subdir = examples/Fortran/global-array-time
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -194,6 +205,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -233,6 +245,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -468,6 +484,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -505,7 +522,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Fortran/global-array-time/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/Fortran/global-array-time/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -760,6 +776,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/Fortran/global-array/Makefile.in b/examples/Fortran/global-array/Makefile.in
index 7a000b0..e5eea88 100644
--- a/examples/Fortran/global-array/Makefile.in
+++ b/examples/Fortran/global-array/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = adios_global$(EXEEXT) adios_global_no_xml$(EXEEXT) \
 	no_xml_write_byid$(EXEEXT)
 subdir = examples/Fortran/global-array
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -212,6 +223,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -251,6 +263,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -486,6 +502,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -530,7 +547,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Fortran/global-array/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/Fortran/global-array/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -793,6 +809,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/Fortran/scalars/Makefile.in b/examples/Fortran/scalars/Makefile.in
index 53e09b6..b910e45 100644
--- a/examples/Fortran/scalars/Makefile.in
+++ b/examples/Fortran/scalars/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = scalars_write$(EXEEXT) scalars_read$(EXEEXT)
 subdir = examples/Fortran/scalars
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -200,6 +211,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -239,6 +251,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -474,6 +490,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -515,7 +532,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Fortran/scalars/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/Fortran/scalars/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -774,6 +790,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/examples/Fortran/schema/Makefile.in b/examples/Fortran/schema/Makefile.in
index a431e6c..82f27d5 100644
--- a/examples/Fortran/schema/Makefile.in
+++ b/examples/Fortran/schema/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -82,11 +92,11 @@ noinst_PROGRAMS = uniform2d_f_noxml$(EXEEXT) \
 	rectilinear2d_f_noxml$(EXEEXT) structured2d_f_noxml$(EXEEXT) \
 	tri2d_f_noxml$(EXEEXT) tri2d_f_noxml_seperate$(EXEEXT)
 subdir = examples/Fortran/schema
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -122,6 +132,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -231,6 +242,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -270,6 +282,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -505,6 +521,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -557,7 +574,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Fortran/schema/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/Fortran/schema/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -828,6 +844,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/Makefile.in b/examples/Makefile.in
index ea3e779..4aaa2b2 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = examples
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = C Fortran
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -502,7 +519,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu examples/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -797,6 +813,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/examples/staging/stage_write/genarray_stream.xml b/examples/staging/stage_write/genarray_stream.xml
index dd120b7..68df6f2 100644
--- a/examples/staging/stage_write/genarray_stream.xml
+++ b/examples/staging/stage_write/genarray_stream.xml
@@ -16,6 +16,7 @@
 
 
     <!-- Auxiliary variables for global array indexing -->
+    <var name="off_not_found" path="/aux" type="integer"/>
     <var name="offx" path="/aux" type="integer"/>
     <var name="offy" path="/aux" type="integer"/>
     <var name="offz" path="/aux" type="integer"/>
diff --git a/examples/staging/twoway_coupling/structured2d.c b/examples/staging/twoway_coupling/structured2d.c
new file mode 100644
index 0000000..69fb687
--- /dev/null
+++ b/examples/staging/twoway_coupling/structured2d.c
@@ -0,0 +1,146 @@
+/* 
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009.  UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: write variables along with an unstructured mesh. 
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include "mpi.h"
+#include "adios.h"
+
+//will work with 12 cores, which are arranged by npx=4, npy=3 (4x3)
+char   npx_str[256];       // # of procs in x dim (string value)
+char   npy_str[256];       // # of procs in y dim (string value)
+int    npx;                // # of procs in x direction
+int    npy;                // # of procs in y direction
+int    nproc;               // # of total procs
+
+void printUsage(char *prgname)
+{
+    printf("Usage: mpirun -np <N> %s <nx> <ny>\n"
+           "    <nx> <ny>  2D decomposition values in each dimension of an 2D array\n"
+           "         The product of these number must be equal the number of processes\n"
+           "         e.g. for N=12 you may use  4 3\n"
+        ,prgname);
+}
+
+int processArgs(int argc, char ** argv)
+{
+    if (argc < 3) {
+        printUsage (argv[0]);
+        return 1;
+    }
+
+    strncpy(npx_str, argv[1], sizeof(npx_str));
+    strncpy(npy_str, argv[2], sizeof(npy_str));  
+
+    npx = atoi(npx_str);
+    npy = atoi(npy_str);
+
+    if (npx*npy != nproc) {
+        printf ("ERROR: Product of decomposition numbers in X and Y dimension %d != number of processes %d\n", npx*npy, nproc);
+        printUsage(argv[0]);
+        return 1;
+    }
+
+    return 0;
+}
+
+
+
+int main (int argc, char ** argv ) 
+{
+    MPI_Comm    comm = MPI_COMM_WORLD;
+    int         rank;
+    int         ndx, ndy;             // size of array per processor
+    double      *data;
+
+    double      *X;                   //X coordinate
+    double      *Y;                   //Y coordinate
+
+    // Offsets and sizes
+    int         offs_x, offs_y;       //offset in x and y direction
+    int         nx_local, ny_local;   //local address
+    int         nx_global, ny_global; //global address
+    int         posx, posy;           // position index in the array
+    int         i,j;
+  
+    /* ADIOS variables declarations for matching gwrite_temperature.ch */
+    uint64_t    adios_groupsize, adios_totalsize;
+    int64_t     adios_handle;
+
+    MPI_Init (&argc, &argv);
+    MPI_Comm_rank (comm, &rank);
+    MPI_Comm_size (comm, &nproc);
+
+    if (processArgs(argc, argv)) {
+        return 1;
+    }
+    //will work with each core writing ndx = 65, ndy = 129, (65*3,129*4) global
+    ndx = 65;
+    ndy = 129;
+
+    //2D array with block,block decomposition
+    posx = rank%npx;           // 1st dim
+    posy = rank/npx;           // 2nd dim
+    offs_x = posx * ndx;
+    offs_y = posy * ndy;
+    nx_local = ndx;
+    ny_local = ndy;
+    nx_global = npx * ndx;
+    ny_global = npy * ndy;
+
+    data = malloc (ndx * ndy * sizeof(double));
+    for( i = 0; i < ndx; i++ )
+        for( j = 0; j < ndy; j++)
+            data[i*ndy + j] = 1.0*rank;
+
+
+    X = malloc (ndx * ndy * sizeof(double));
+    for( i = 0; i < ndx; i++ )
+        for( j = 0; j < ndy; j++)
+            X[i*ndy + j] = offs_x + posy*ndx + i*ndx/ndx + (double)ndx*j/ndy;
+
+    Y = malloc (ndx * ndy * sizeof(double));
+    Y[0] = offs_y;
+    for( i = 0; i < ndx; i++ )
+        for( j = 0; j < ndy; j++)
+            Y[i*ndy + j] = offs_y + ndy*j/ndy;
+
+    adios_init ("structured2d.xml", comm);
+    adios_open (&adios_handle, "structured2d", "structured2d.bp", "w", comm);
+    adios_groupsize = 7*sizeof(int) \
+	+ 3 * sizeof(double) * (nx_local*ny_local);
+
+    adios_group_size (adios_handle, adios_groupsize, &adios_totalsize);
+    adios_write (adios_handle, "nproc", &nproc);
+    adios_write (adios_handle, "nx_global", &nx_global);
+    adios_write (adios_handle, "ny_global", &ny_global);
+    adios_write (adios_handle, "offs_x", &offs_x);
+    adios_write (adios_handle, "offs_y", &offs_y);
+    adios_write (adios_handle, "nx_local", &nx_local);
+    adios_write (adios_handle, "ny_local", &ny_local);
+    adios_write (adios_handle, "X", X);
+    adios_write (adios_handle, "Y", Y);
+    adios_write (adios_handle, "data", data);
+
+    adios_close (adios_handle);
+
+    MPI_Barrier (comm);
+
+    free (data);
+    free (X);
+    free (Y);
+    adios_finalize (rank);
+
+    MPI_Finalize ();
+    return 0;
+}
diff --git a/examples/staging/twoway_coupling/structured2d.xml b/examples/staging/twoway_coupling/structured2d.xml
new file mode 100644
index 0000000..da43ec9
--- /dev/null
+++ b/examples/staging/twoway_coupling/structured2d.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<adios-config host-language="C" schema-version="1.1">
+  <adios-group name="structured2d" >
+    <var name="nx_global"  path="" type="integer"/>
+    <var name="ny_global"  path="" type="integer"/>
+    <var name="nproc" path="" type="integer"/>
+    <var name="offs_x" path="" type="integer"/>
+    <var name="offs_y" path="" type="integer"/>
+    <var name="nx_local"  path="" type="integer"/>
+    <var name="ny_local"  path="" type="integer"/>
+
+    <global-bounds dimensions="nx_global,ny_global" offsets="offs_x,offs_y">
+        <var name="X" type="double" dimensions="nx_local,ny_local"/>
+    </global-bounds>
+
+    <global-bounds dimensions="nx_global,ny_global" offsets="offs_x,offs_y">
+        <var name="Y" type="double" dimensions="nx_local,ny_local"/>
+    </global-bounds>
+
+    <mesh name="structuredmesh" type="structured" time-varying="no">
+         <nspace value="2" />
+         <dimensions value="nx_global,ny_global" /> 
+         <points-multi-var value="X,Y" />
+    </mesh>
+
+    <global-bounds dimensions="nx_global,ny_global" offsets="offs_x,offs_y">
+        <var name="data" type="double" mesh="structuredmesh" dimensions="nx_local,ny_local" center="point"/>
+    </global-bounds>
+
+  </adios-group>
+
+  <!-- Choose an output method for the above group. 
+       MPI: write 1 file, each process writes its piece into the same file
+       POSIX: write 1 file per process writes 
+       VAR_MERGE: aggregate and merge blocks (up to two levels of aggregation)
+                  default aggregation buffer size is 2 MB
+       VAR_MERGE: limit the aggregation level by decreasing the aggregation buffer
+                  size to 300k
+  -->
+  <transport group="structured2d" method="MPI"/>
+  <!--
+  <transport group="writer" method="POSIX"/>
+  <transport group="writer" method="MPI_AGGREGATE">num_aggregators=4;num_ost=2</transport>
+  <transport group="writer" method="PHDF5"/>
+  <transport group="writer" method="VAR_MERGE">io_method=MPI</transport>
+  <transport group="writer" method="VAR_MERGE">chunk_size=300000;io_method=MPI</transport>
+  -->
+
+  <buffer size-MB="4" allocate-time="now"/>
+
+</adios-config>
diff --git a/examples/staging/twoway_coupling/tri2d.c b/examples/staging/twoway_coupling/tri2d.c
new file mode 100644
index 0000000..a5b7948
--- /dev/null
+++ b/examples/staging/twoway_coupling/tri2d.c
@@ -0,0 +1,301 @@
+/* 
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009.  UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: write variables along with an unstructured mesh. 
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include "mpi.h"
+#include "adios.h"
+
+//will work with 12 cores, which are arranged by npx=4, npy=3 (4x3)
+char   npx_str[256];       // # of procs in x dim (string value)
+char   npy_str[256];       // # of procs in y dim (string value)
+int    npx;                // # of procs in x direction
+int    npy;                // # of procs in y direction
+int    nproc;               // # of total procs
+
+void printUsage(char *prgname)
+{
+    printf("Usage: mpirun -np <N> %s <nx> <ny>\n"
+           "    <nx> <ny>  2D decomposition values in each dimension of an 2D array\n"
+           "         The product of these number must be equal the number of processes\n"
+           "         e.g. for N=12 you may use  4 3\n"
+        ,prgname);
+}
+
+int processArgs(int argc, char ** argv)
+{
+    if (argc < 3) {
+        printUsage (argv[0]);
+        return 1;
+    }
+
+    strncpy(npx_str, argv[1], sizeof(npx_str));
+    strncpy(npy_str, argv[2], sizeof(npy_str));  
+
+    npx = atoi(npx_str);
+    npy = atoi(npy_str);
+
+    if (npx*npy != nproc) {
+        printf ("ERROR: Product of decomposition numbers in X and Y dimension %d != number of processes %d\n", npx*npy, nproc);
+        printUsage(argv[0]);
+        return 1;
+    }
+
+    return 0;
+}
+
+
+
+int main (int argc, char ** argv ) 
+{
+    MPI_Comm    comm = MPI_COMM_WORLD;
+    int         npoints, num_cells;
+    int         rank;
+    int         ndx, ndy;             // size of array per processor
+    double      *N;                   // node centered variable
+    double      *C;                   // cell centered variable
+    double      *points;              //X,Y coordinate
+    int         *cells;
+
+    // Offsets and sizes
+    int         offs_x, offs_y;       //offset in x and y direction
+    int         nx_local, ny_local;   //local address
+    int         nx_global, ny_global; //global address
+    int         posx, posy;           // position index in the array
+    int         i,j;
+  
+    /* ADIOS variables declarations for matching gwrite_temperature.ch */
+    uint64_t    adios_groupsize, adios_totalsize;
+    int64_t     adios_handle;
+
+    MPI_Init (&argc, &argv);
+    MPI_Comm_rank (comm, &rank);
+    MPI_Comm_size (comm, &nproc);
+
+    if (processArgs(argc, argv)) {
+        return 1;
+    }
+    //will work with each core writing ndx = 65, ndy = 129, (65*3,129*4) global
+    ndx = 4;
+    ndy = 3;
+
+    npoints = ndx * ndy * npx * npy;
+    num_cells = (ndx * npx - 1) * (ndy * npy -1) * 2;
+
+    //2D array with block,block decomposition
+    posx = rank%npx;           // 1st dim
+    posy = rank/npx;           // 2nd dim
+    offs_x = posx * ndx;
+    offs_y = posy * ndy;
+    nx_local = ndx;
+    ny_local = ndy;
+    nx_global = npx * ndx;
+    ny_global = npy * ndy;
+
+    // local mesh + data
+    N = malloc (ndx * ndy * sizeof(double));
+    points = malloc (2 * ndx * ndy * sizeof(double));
+
+    if( posx == npx-1 && posy < npy-1 )            //only need to extend in Y direction
+    {
+        C = malloc (sizeof(double) * (ndx-1)*ndy*2);
+        cells = malloc(sizeof(int) * ((ndx-1)*ndy*2*3));
+    }
+    else if( posy == npy-1 && posx < npx-1 )      ////only need to extend in X direction
+    {
+        C = malloc (sizeof(double) * ndx*(ndy-1)*2);
+        cells = malloc(sizeof(int) * ndx*(ndy-1)*2*3);
+//        printf("rank %d cells size is %d\n", rank, ndx*(ndy-1)*2*3);
+    }
+    else if( posx == npx-1 && posy == npy-1 )    //do not need to extend in any direction
+    {
+        C = malloc (sizeof(double) * (ndx-1)*(ndy-1)*2);
+        cells = malloc(sizeof(int) * (ndx-1)*(ndy-1)*2*3);
+//        printf("rank %d cells size is %d\n", rank, ndx*(ndy-1)*2*3);
+    }
+    else               // if( posx < npx-1 && posy < npy-1 )   //need to extend in both X and Y direction
+    {
+        C = malloc (sizeof(double) * ndx*ndy*2);
+        cells = malloc(sizeof(int) * ndx*ndy*2*3);
+    }
+
+    // generate local data
+    int lp = ndx * ndy; // number of points in this local array
+    int op = ndx * ndy * rank; // offset in global points array 
+    for( i = 0; i < ndx; i++ )
+        for( j = 0; j < ndy; j++)
+        {
+            points[(i*ndy + j)*2] = offs_x + posy*ndx + i*ndx/ndx + (double)ndx*j/ndy;
+            points[(i*ndy + j)*2+1] = offs_y + ndy*j/ndy;
+        }
+
+    for( i = 0; i < lp; i++ )
+        N[i] = 1.0*rank;
+
+    // cells
+    int lc;
+    int oc;
+
+    if( posx == npx-1 && posy < npy-1 )  
+    {
+        lc = (ndx-1)*ndy*2;
+        oc = posx*ndx*ndy*2 + posy*(ndx*npx-1)*ndy*2;
+        for (i = 0; i < ndx-1; i++)
+        {
+            for (j = 0; j < ndy; j++)
+            {
+                int p = i*ndy+j;
+                if( i<ndx-1 && j<ndy-1 )
+                {
+                    cells[6*p+0] = op+p; cells[6*p+1] = op+p+ndy; cells[6*p+2] = op+p+ndy+1;
+                    cells[6*p+3] = op+p; cells[6*p+4] =op+p+ndy+1; cells[6*p+5] = op+p+1;
+                }
+                else   //extend in Y direction only
+                {
+                    cells[6*p+0] = op+p; cells[6*p+1] = op+p+ndy; cells[6*p+2] = op+nx_global*ndy+(i+1)*ndy;
+                    cells[6*p+3] = op+p; cells[6*p+4] = op+nx_global*ndy+(i+1)*ndy; cells[6*p+5] = op+nx_global*ndy+i*ndy;
+/*                    if(rank == 3){
+                        printf("i = %d, j = %d\n", i, j);
+                        printf("op = %d, p = %d\n", op, p);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+0, op+p, 6*p+1, op+p+ndy, 6*p+2, op+nx_global*ndy+(i+1)*ndy);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+3, op+p, 6*p+4, op+nx_global*ndy+(i+1)*ndy, 6*p+5, op+nx_global*ndy+i*ndy);
+                    }*/
+                } 
+            }
+        }
+    }
+    else if( posy == npy-1 && posx < npx-1 ) 
+    {
+        lc = ndx*(ndy-1)*2;
+        oc = posy*(ndx*npx-1)*ndy*2 + posx*ndx*(ndy-1)*2;
+        for (i = 0; i < ndx; i++)
+            for (j = 0; j < ndy-1; j++)
+            {
+                int p = i*(ndy-1)+j;
+                int p1 = i*ndy+j;
+                if( i<ndx-1 && j<ndy-1 )
+                {
+                    cells[6*p+0] = op+p1; cells[6*p+1] = op+p1+ndy; cells[6*p+2] = op+p1+ndy+1;
+                    cells[6*p+3] = op+p1; cells[6*p+4] =op+p1+ndy+1; cells[6*p+5] = op+p1+1;
+/*                    if(rank == 8){
+                        printf("i = %d, j = %d\n", i, j);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+0, op+p, 6*p+1, op+p+ndy, 6*p+2, op+p+ndy+1);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+3, op+p, 6*p+4, op+p+ndy+1, 6*p+5, op+p+1);
+                    }*/
+                }
+                else   //extend in x direction only
+                {
+                    cells[6*p+0] = op+p1; cells[6*p+1] = op+ndx*ndy+j; cells[6*p+2] = op+ndx*ndy+j+1;
+                    cells[6*p+3] = op+p1; cells[6*p+4] = op+ndx*ndy+j+1; cells[6*p+5] = op+p1+1;
+/*                    if(rank == 8){
+                        printf("i = %d, j = %d\n", i, j);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+0, op+p, 6*p+1, op+ndx*ndy+j, 6*p+2, op+ndx*ndy+j+1);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+3, op+p, 6*p+4, op+ndx*ndy+j+1, 6*p+5, op+p+1);
+                    }*/
+                }
+            }
+    }
+    else if( posx == npx-1 && posy == npy-1 )
+    {
+        lc = (ndx-1)*(ndy-1)*2;
+        oc = posy*(ndx*npx-1)*ndy*2 + posx*ndx*(ndy-1)*2;
+        for (i = 0; i < ndx-1; i++)
+            for (j = 0; j < ndy-1; j++)
+            {
+                int p = i*(ndy-1)+j;
+                int p1 = i*ndy+j;
+                cells[6*p+0] = op+p1; cells[6*p+1] = op+p1+ndy; cells[6*p+2] = op+p1+ndy+1;
+                cells[6*p+3] = op+p1; cells[6*p+4] =op+p1+ndy+1; cells[6*p+5] = op+p1+1;
+/*                if(rank == 11){
+                        printf("i = %d, j = %d\n", i, j);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+0, op+p, 6*p+1, op+ndx*ndy+j, 6*p+2, op+ndx*ndy+j+1);
+                        printf("cells[%d] = %d, cells[%d] = %d, cells[%d] = %d\n", 6*p+3, op+p, 6*p+4, op+ndx*ndy+j+1, 6*p+5, op+p+1);
+                    }*/
+            }
+    }
+    else
+    {
+        lc = ndx*ndy*2;
+        oc = posx*ndx*ndy*2 + posy*(ndx*npx-1)*ndy*2;
+        for (i = 0; i < ndx; i++)
+            for (j = 0; j < ndy; j++)
+            {
+                int p = i*ndy+j;
+                if( i<ndx-1 && j<ndy-1 )
+                {
+                    cells[6*p+0] = op+p; cells[6*p+1] = op+p+ndy; cells[6*p+2] = op+p+ndy+1;
+                    cells[6*p+3] = op+p; cells[6*p+4] =op+p+ndy+1; cells[6*p+5] = op+p+1;
+                }
+                else if( i==ndx-1 && j<ndy-1 )
+                {
+                    cells[6*p+0] = op+p; cells[6*p+1] = op+ndx*ndy+j; cells[6*p+2] = op+ndx*ndy+j+1;
+                    cells[6*p+3] = op+p; cells[6*p+4] = op+ndx*ndy+j+1; cells[6*p+5] = op+p+1;
+                }
+                else if( i<ndx-1 && j==ndy-1 )
+                {
+                    cells[6*p+0] = op+p; cells[6*p+1] = op+p+ndy; cells[6*p+2] = op+nx_global*ndy+(i+1)*ndy;
+                    cells[6*p+3] = op+p; cells[6*p+4] = op+nx_global*ndy+(i+1)*ndy; cells[6*p+5] = op+nx_global*ndy+i*ndy;    
+                }
+                else // inter corner point
+                {
+                    cells[6*p+0] = op+p; cells[6*p+1] = op+ndx*ndy+j; cells[6*p+2] = op+nx_global*ndy+ndx*ndy;
+                    cells[6*p+3] = op+p; cells[6*p+4] = op+nx_global*ndy+ndx*ndy; cells[6*p+5] = op+nx_global*ndy+i*ndy;
+                }
+            }
+    }
+
+    for (i=0; i<lc; i++)
+        C[i] = 1.0*rank;
+//        C[i] = rank*lc+i;          //????????????????????
+
+
+    adios_init ("tri2d.xml", comm);
+    adios_open (&adios_handle, "tri2d", "tri2d.bp", "w", comm);
+    adios_groupsize = 13*sizeof(int) \
+	+ sizeof(double) * (lp) \
+    + sizeof(double) * (lc) \
+    + sizeof(double) * (lp) * (2) \
+    + sizeof(int) * (lc) * (3);
+
+    adios_group_size (adios_handle, adios_groupsize, &adios_totalsize);
+    adios_write (adios_handle, "nproc", &nproc);
+    adios_write (adios_handle, "npoints", &npoints);
+    adios_write (adios_handle, "num_cells", &num_cells);
+    adios_write (adios_handle, "nx_global", &nx_global);
+    adios_write (adios_handle, "ny_global", &ny_global);
+    adios_write (adios_handle, "offs_x", &offs_x);
+    adios_write (adios_handle, "offs_y", &offs_y);
+    adios_write (adios_handle, "nx_local", &nx_local);
+    adios_write (adios_handle, "ny_local", &ny_local);
+    adios_write (adios_handle, "lp", &lp);
+    adios_write (adios_handle, "op", &op);
+    adios_write (adios_handle, "lc", &lc);
+    adios_write (adios_handle, "oc", &oc);
+    adios_write (adios_handle, "N", N);
+    adios_write (adios_handle, "C", C);
+    adios_write (adios_handle, "points", points);
+    adios_write (adios_handle, "cells", cells);
+
+    adios_close (adios_handle);
+
+    MPI_Barrier (comm);
+    free (N);
+    free (points);
+    free (C);
+    free (cells);
+
+//    adios_finalize (rank);
+
+    MPI_Finalize ();
+    return 0;
+}
diff --git a/examples/staging/twoway_coupling/tri2d.xml b/examples/staging/twoway_coupling/tri2d.xml
new file mode 100644
index 0000000..658dd1e
--- /dev/null
+++ b/examples/staging/twoway_coupling/tri2d.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<adios-config host-language="C" schema-version="1.1">
+  <adios-group name="tri2d" >
+    <var name="nx_global"  path="" type="integer"/>
+    <var name="ny_global"  path="" type="integer"/>
+    <var name="nproc" path="" type="integer"/>
+    <attribute name="description" path="/nproc" value="Number of writers"/>
+
+    <var name="npoints" path="" type="integer"/>
+    <attribute name="description" path="/npoints" value="Number of points"/>
+
+    <var name="num_cells" path="" type="integer"/>
+    <attribute name="description" path="/num_cells" value="Number of triangles"/>
+
+    <var name="offs_x" path="" type="integer"/>
+    <var name="offs_y" path="" type="integer"/>
+    <var name="nx_local"  path="" type="integer"/>
+    <var name="ny_local"  path="" type="integer"/>
+
+    <var name="op" type="integer"/>
+    <var name="lp" type="integer"/>
+    <var name="oc" type="integer"/>
+    <var name="lc" type="integer"/>
+
+
+    <global-bounds dimensions="npoints,2" offsets="op,0">
+        <var name="points" type="double" dimensions="lp,2"/>
+    </global-bounds>
+
+    <global-bounds dimensions="num_cells,3" offsets="oc,0">
+        <var name="cells" type="integer" dimensions="lc,3"/>
+    </global-bounds>
+
+    <!-- Mesh definition -->
+    <mesh name="trimesh" type="unstructured" time-varying="no">
+         <nspace value="2" />
+         <points-single-var value="points" />
+         <uniform-cells count="num_cells" data="cells" type="triangle" />
+    </mesh>
+
+    <!-- Data -->
+    <global-bounds dimensions="npoints" offsets="op">
+        <var name="N" type="double" dimensions="lp"
+             mesh="trimesh" center="point"/>
+    </global-bounds>
+    <attribute name="description" path="/N" value="Node centered data"/>
+
+    <global-bounds dimensions="num_cells" offsets="oc">
+        <var name="C" type="double" dimensions="lc"
+             mesh="trimesh" center="cell"/>
+    </global-bounds>
+    <attribute name="description" path="/C" value="Cell centered data"/>
+    
+
+  </adios-group>
+
+  <!-- Choose an output method for the above group. 
+       MPI: write 1 file, each process writes its piece into the same file
+       POSIX: write 1 file per process writes 
+       VAR_MERGE: aggregate and merge blocks (up to two levels of aggregation)
+                  default aggregation buffer size is 2 MB
+       VAR_MERGE: limit the aggregation level by decreasing the aggregation buffer
+                  size to 300k
+  -->
+  <transport group="tri2d" method="MPI"/>
+  <!--
+  <transport group="writer" method="POSIX"/>
+  <transport group="writer" method="MPI_AGGREGATE">num_aggregators=4;num_ost=2</transport>
+  <transport group="writer" method="PHDF5"/>
+  <transport group="writer" method="VAR_MERGE">io_method=MPI</transport>
+  <transport group="writer" method="VAR_MERGE">chunk_size=300000;io_method=MPI</transport>
+  -->
+
+  <buffer size-MB="4" allocate-time="now"/>
+
+</adios-config>
diff --git a/runconf b/runconf
index 74b287d..8fe887d 100755
--- a/runconf
+++ b/runconf
@@ -5,6 +5,11 @@
 #
 
 SRCDIR=`dirname ${BASH_SOURCE[0]}`
+BUILD_FULL=true
+if [ x"$1" == x"lean" ]; then
+    BUILD_FULL=false
+    echo "Build ADIOS without extra packages"
+fi
 
 if [ `hostname | cut -c 1-4` == "rhea" ]; then
 
@@ -31,29 +36,33 @@ if [ `hostname | cut -c 1-4` == "rhea" ]; then
     #module load python
     # Use both seq hdf5 (for utils) and 
     #   parallel hdf5 (for PHDF5 method)
-    module load hdf5/1.8.11
-    SEQ_HDF5_DIR=$HDF5_DIR
-    SEQ_HDF5_CLIB=$HDF5_CLIB
-    module unload hdf5
-    module load hdf5-parallel/1.8.11
-    PAR_HDF5_DIR=$HDF5_DIR
-    PAR_HDF5_CLIB=$HDF5_CLIB
-    module unload hdf5
-    # Seq. and Parallel NetCDF 4 
-    module load netcdf/4.1.3
-    SEQ_NC_DIR=$NETCDF_DIR
-    SEQ_NC_CLIB=$NETCDF_CLIB
-    module unload netcdf
-    #module load netcdf/4.1.3_par
-    #PAR_NC_DIR=$NETCDF_DIR
-    #PAR_NC_CLIB=$NETCDF_CLIB
-    #module unload netcdf
-    #module load szip
-    #module load bzip2
-    module load dataspaces/1.6.2
-    module load flexpath/1.12
-    module load alacrity/1.0.0
-    module load fastbit/svn
+
+    if [ $BUILD_FULL == "true" ]; then
+        echo "Load modules for full build"
+        module load hdf5/1.8.11
+        SEQ_HDF5_DIR=$HDF5_DIR
+        SEQ_HDF5_CLIB=$HDF5_CLIB
+        module unload hdf5
+        module load hdf5-parallel/1.8.11
+        PAR_HDF5_DIR=$HDF5_DIR
+        PAR_HDF5_CLIB=$HDF5_CLIB
+        module unload hdf5
+        # Seq. and Parallel NetCDF 4 
+        module load netcdf/4.1.3
+        SEQ_NC_DIR=$NETCDF_DIR
+        SEQ_NC_CLIB=$NETCDF_CLIB
+        module unload netcdf
+        #module load netcdf/4.1.3_par
+        #PAR_NC_DIR=$NETCDF_DIR
+        #PAR_NC_CLIB=$NETCDF_CLIB
+        #module unload netcdf
+        #module load szip
+        #module load bzip2
+        module load dataspaces/1.6.2
+        module load flexpath/1.12
+        module load alacrity/1.0.0
+        module load fastbit/svn
+    fi
     export MPICC=mpicc
     export MPICXX=mpiCC
     export MPIFC=mpif90
@@ -79,7 +88,9 @@ if [ `hostname | cut -c 1-4` == "rhea" ]; then
         
     export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK" 
     export CFLAGS="-g -fPIC ${EXTRA_CFLAGS}" 
-    $SRCDIR/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/rhea.$TARGET \
+    if [ $BUILD_FULL == "true" ]; then
+        echo "Configure for full build"
+        $SRCDIR/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/rhea.$TARGET \
         --disable-maintainer-mode \
         --enable-dependency-tracking \
         --enable-research-transports \
@@ -102,7 +113,17 @@ if [ `hostname | cut -c 1-4` == "rhea" ]; then
         #--with-isobar=/ccs/proj/e2e/ncsu/sith.gnu \
         #--with-fgr=/ccs/proj/e2e/qliu/tap \
         #--with-glib=/ccs/proj/e2e/qliu/glib
-        #--with-szip=$SZIP_DIR \
+        #--with-szip=$SZIP_DIR
+
+    else
+        echo "Configure for lean build"
+        $SRCDIR/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/rhea.$TARGET \
+        --disable-maintainer-mode \
+        --enable-dependency-tracking \
+        --with-lustre \
+        --disable-timers --disable-timer-events
+
+    fi
 
 
 elif [ `hostname | cut -c 1-5` == "titan" ]; then
@@ -126,23 +147,35 @@ elif [ `hostname | cut -c 1-5` == "titan" ]; then
     module unload craype-ivybridge craype-sandybridge craype-haswell 
     module unload craype-mc8 craype-mc12
     module load craype-istanbul
-    module load dataspaces # /1.6.1
-    module load flexpath # /1.12
+    if [ $BUILD_FULL == "true" ]; then
+        module load dataspaces # /1.6.1
+        module load flexpath # /1.12
+        # NOTE hdf5-parallel module does not work with C++ compiler
+        #module load hdf5-parallel
+        #module load netcdf-hdf5parallel
+        #module load szip
+        #module load papi
+    fi
     unset EXTRA_CFLAGS
     unset EXTRA_LIBS
     unset LDFLAGS
     unset WITHFLEX
     unset WITHFASTBIT
+    unset WITHSZ
     export CC=cc
     export FC=ftn
     export CXX=CC
     if [ "$TARGET" == "pgi" ]; then
-        # FASTBIT needs libstdc++ and -pgcpplibs flag
-        export LDFLAGS="-pgc++libs" 
-        #export EXTRA_LIBS="/opt/gcc/4.9.0/snos/lib64/libstdc++.a"
+        if [ $BUILD_FULL == "true" ]; then
+            # FASTBIT needs libstdc++ and -pgcpplibs flag
+            export LDFLAGS="-pgc++libs" 
+            #DATASPACES_DIR="/ccs/proj/e2e/dataspaces/titan/$target-cpu"
+            WITHFLEX="--with-flexpath=$FLEXPATH_DIR"
+            #export EXTRA_LIBS="/opt/gcc/4.9.0/snos/lib64/libstdc++.a"
+            export EXTRA_LIBS="${GCC_PATH}/snos/lib64/libstdc++.a"
+            WITHSZ="--with-sz=/sw/xk6/adios/SZ/1.4.10.0/pgi16.10.0"
+        fi
         export EXTRA_CFLAGS="-fast"
-        #DATASPACES_DIR="/ccs/proj/e2e/dataspaces/titan/$target-cpu"
-        WITHFLEX="--with-flexpath=$FLEXPATH_DIR"
     elif [ "$TARGET" == "gnu" ]; then
         #export CC=gcc
         #export FC=gfortran
@@ -152,54 +185,64 @@ elif [ `hostname | cut -c 1-5` == "titan" ]; then
         #export MPICXX=CC
         # NSSI/FLEXPATH/FASTBIT needs libstdc++
         export LDFLAGS="" 
-        module load fastbit
-        WITHFLEX="--with-flexpath=$FLEXPATH_DIR"
-        #WITHFLEX="--with-flexpath=/ccs/proj/e2e/chaos/titan/$TARGET"
-        # FASTBIT needs libstdc++
-        WITHFASTBIT="--with-fastbit=$FASTBIT_DIR"
-        #export EXTRA_LIBS="${GCC_PATH}/snos/lib64/libstdc++.a"
         export EXTRA_CFLAGS="-Ofast"
-        #DATASPACES_DIR="/ccs/proj/e2e/dataspaces/titan/$TARGET"
+        if [ $BUILD_FULL == "true" ]; then
+            module load fastbit
+            WITHFLEX="--with-flexpath=$FLEXPATH_DIR"
+            #WITHFLEX="--with-flexpath=/ccs/proj/e2e/chaos/titan/$TARGET"
+            # FASTBIT needs libstdc++
+            #WITHFASTBIT="--with-fastbit=$FASTBIT_DIR"
+            #export EXTRA_LIBS="${GCC_PATH}/snos/lib64/libstdc++.a"
+            #DATASPACES_DIR="/ccs/proj/e2e/dataspaces/titan/$TARGET"
+            WITHSZ="--with-sz=/sw/xk6/adios/SZ/1.4.10.0/gnu4.9.3"
+        fi
     elif [ "$TARGET" == "cray" ]; then
         export EXTRA_CFLAGS="-h gnu"
     fi
  
-    # NOTE hdf5-parallel module does not work with C++ compiler
-    #module load hdf5-parallel
-    #module load netcdf-hdf5parallel
-    module load szip
-    #module load papi
     # use the two lines below for openmpi
     #export CC=mpicc
     #export FC=mpif90
     export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK -DDART_DO_VERSIONING" 
     export CFLAGS="-fPIC -g ${EXTRA_CFLAGS}" 
-    LIBS="$EXTRA_LIBS" ${SRCDIR}/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/xk6.$TARGET \
-    --enable-dependency-tracking \
-    --disable-maintainer-mode \
-    --with-cray-pmi=/opt/cray/pmi/default \
-    --with-cray-ugni-incdir=/opt/cray/gni-headers/default/include \
-    --with-cray-ugni-libdir=/opt/cray/ugni/default/lib64 \
-    --with-dataspaces=$DATASPACES_DIR \
-    --with-dimes=$DATASPACES_DIR \
-    --without-infiniband \
-    $WITHFLEX \
-    $WITHFASTBIT \
-    --with-lustre \
-    --disable-timers --disable-timer-events \
-    --with-zlib --with-bzip2 
-
-    #--enable-skel-timing
-    #--with-fgr=/ccs/proj/e2e/qliu/tap \
-    #--with-glib=/ccs/proj/e2e/qliu/glib \
-    #--with-netcdf=/opt/cray/netcdf/3.6.2/netcdf-${TARGET} \
-    #--with-hdf5=/sw/xt5/hdf5/1.8.2/cnl2.1_gnu4.2.0 \
-    #--with-nc4par=/opt/cray/netcdf-hdf5parallel/4.0.1.3/netcdf-hdf5parallel-$TARGET \
-    #--with-phdf5=/opt/cray/hdf5-parallel/1.8.4.1/hdf5-parallel-$TARGET \
-    #--with-dimes=/ccs/proj/e2e/pnorbert/spaces/$TARGET
-    #--with-nssi=/ccs/proj/e2e/pnorbert/nssi/xt5/$TARGET \
-    #--with-datatap=/ccs/home/zf2/work/pe.$TARGET \
-    #--with-datatap=/ccs/proj/e2e/pnorbert/datatap/xt5/$TARGET \
+    if [ $BUILD_FULL == "true" ]; then
+        LIBS="$EXTRA_LIBS" ${SRCDIR}/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/xk6.$TARGET \
+        --enable-dependency-tracking \
+        --disable-maintainer-mode \
+        --with-cray-pmi=/opt/cray/pmi/default \
+        --with-cray-ugni-incdir=/opt/cray/gni-headers/default/include \
+        --with-cray-ugni-libdir=/opt/cray/ugni/default/lib64 \
+        --with-dataspaces=$DATASPACES_DIR \
+        --with-dimes=$DATASPACES_DIR \
+        --without-infiniband \
+        $WITHFLEX \
+        $WITHFASTBIT \
+        $WITHSZ \
+        --with-lustre \
+        --disable-timers --disable-timer-events \
+        --with-zlib --with-bzip2 
+
+        #--enable-skel-timing
+        #--with-fgr=/ccs/proj/e2e/qliu/tap \
+        #--with-glib=/ccs/proj/e2e/qliu/glib \
+        #--with-netcdf=/opt/cray/netcdf/3.6.2/netcdf-${TARGET} \
+        #--with-hdf5=/sw/xt5/hdf5/1.8.2/cnl2.1_gnu4.2.0 \
+        #--with-nc4par=/opt/cray/netcdf-hdf5parallel/4.0.1.3/netcdf-hdf5parallel-$TARGET \
+        #--with-phdf5=/opt/cray/hdf5-parallel/1.8.4.1/hdf5-parallel-$TARGET \
+        #--with-dimes=/ccs/proj/e2e/pnorbert/spaces/$TARGET
+        #--with-nssi=/ccs/proj/e2e/pnorbert/nssi/xt5/$TARGET \
+        #--with-datatap=/ccs/home/zf2/work/pe.$TARGET \
+        #--with-datatap=/ccs/proj/e2e/pnorbert/datatap/xt5/$TARGET \
+
+    else
+        LIBS="$EXTRA_LIBS" ${SRCDIR}/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/xk6.$TARGET \
+        --enable-dependency-tracking \
+        --disable-maintainer-mode \
+        --with-lustre \
+        --disable-timers --disable-timer-events \
+        --without-infiniband 
+
+    fi
 
 
 
@@ -459,6 +502,7 @@ elif [ `hostname | cut -c 1-4` == "sith" ]; then
     WITHFGR=""
     WITHFASTBIT=""
     WITHALACRITY=""
+    WITHSZ=""
     if [ "$TARGET" == "pgi" ]; then
         export CC=pgcc
         export CXX=pgc++
@@ -467,6 +511,7 @@ elif [ `hostname | cut -c 1-4` == "sith" ]; then
         WITHFGR="--with-fgr=/ccs/proj/e2e/qliu/tap" 
         WITHALACRITY="--with-alacrity=/ccs/proj/e2e/ncsu/alacrity/sith/pgi"
         WITHFASTBIT="--with-fastbit=/sw/redhat6/fastbit/svn/rhel6_gnu4.4.7"
+        WITHSZ="--with-sz=/ccs/proj/e2e/SZ/1.4.10.0/sith/pgi16.9"
         #DATASPACES_DIR="/ccs/proj/e2e/dataspaces/sith-tcp/1.6.pgi"
         #DATASPACES_DIR="/ccs/home/hbui/usr/software/dataspaces-dev"
     elif [ "$TARGET" == "gnu" ]; then
@@ -489,13 +534,14 @@ elif [ `hostname | cut -c 1-4` == "sith" ]; then
         echo "TARGET must be pgi or gnu or intel"
         exit 1
     fi
-        
+    
     $SRCDIR/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/sith.$TARGET \
         --config-cache \
         --disable-maintainer-mode \
         --enable-dependency-tracking \
         --enable-research-transports \
         --with-lustre \
+        $WITHSZ  
         #--with-zlib \
         #--with-bzip2=$BZIP2_DIR \
         #--with-dataspaces=$DATASPACES_DIR \
@@ -668,7 +714,7 @@ elif [ `hostname | cut -c 1-5` == "theta" ]; then
         --without-hdf5 --without-netcdf
 
 
-elif [ `hostname -f | cut -c 1-4` == "mira" ]; then
+elif [ `hostname -f | cut -c 1-4` == "mira" -o `hostname -f | cut -c 1-5` == "cetus" ]; then
     #####################
     #  MIRA   BlueGene  #
     #####################
@@ -685,8 +731,9 @@ elif [ `hostname -f | cut -c 1-4` == "mira" ]; then
     export FC=xlf90_r
     export CC=xlc_r
 
-    ${SRCDIR}/configure --prefix=/home/qliu/4se/ADIOS \
+    ${SRCDIR}/configure --prefix=/home/pnorbert/sw/adios/xl \
             --disable-maintainer-mode \
+            --disable-timers \
             --enable-dependency-tracking \
             --without-datatap --without-infiniband --with-bgq
 
@@ -871,8 +918,8 @@ elif [ `hostname | cut -c 1-4` == "dyn9" -o `hostname | cut -c 1-3` == "pnb" ];
         unset OMPI_CC
         unset OMPI_CXX
         unset OMPI_FC
-        export WITHALACRITY="--with-alacrity=/opt/alacrity/clang"
-        export WITHFASTBIT="--with-fastbit=/opt/fastbit"
+#        export WITHALACRITY="--with-alacrity=/opt/alacrity/clang"
+#        export WITHFASTBIT="--with-fastbit=/opt/fastbit"
         export WITHDATASPACES="--with-dataspaces=/opt/dataspaces --without-dimes"
         export WITHFLEXPATH="--with-flexpath=/opt/chaos"
         #export WITHZFP="--with-zfp=/Users/pnb/scratch/zfp-0.5.0"
@@ -915,22 +962,21 @@ elif [ `hostname | cut -c 1-7` == "ubuntu" ]; then
         #--with-phdf5=/usr/local \
         #--with-netcdf=/usr 
 
-
-elif [ `hostname | cut -c 1-7` == "nostril" ]; then
+elif [ `hostname | cut -c 1-13` == "whoopingcough" ]; then
 
     #########################
     # Dave's workstation    #
     #########################
-    echo "Configure on Nostril"
+    echo "Configure on Whoopingcough"
     export CC=mpicc
-    export CFLAGS="-fPIC"
-    ${SRCDIR}/configure --prefix=/apps/adios/trunk \
+    export CFLAGS="-fPIC -g"
+    ${SRCDIR}/configure --prefix=/apps/adios/install \
         --enable-dependency-tracking \
-        --without-netcdf --without-nc4par --without-hdf5 --without-phdf5
+        --without-netcdf --without-nc4par --without-hdf5 --without-phdf5 \
+        --with-dataspaces=/apps/dataspaces
         #--with-hdf5=/usr/local/hdf5-serial\
         #--with-phdf5=/usr/local \
 
-
 elif [ `hostname | cut -c 1-6` == "tomato" ]; then
 
     #########################
@@ -1021,14 +1067,17 @@ elif [ `hostname | cut -c 1-7` == "adiosVM" ]; then
     export FC=gfortran
 
     export CFLAGS="-g -O0 -fPIC -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast"
-    ${SRCDIR}/configure --prefix=/opt/adios \
+    if [ $BUILD_FULL == "true" ]; then
+        ${SRCDIR}/configure --prefix=/opt/adios \
         --disable-maintainer-mode \
         --enable-dependency-tracking \
         --enable-timers \
         --disable-timer-events \
         --with-zlib \
         --with-bzip2 \
+        --with-lz4 \
         --with-sz=/opt/SZ \
+        --with-blosc=/opt/blosc \
         --without-szip \
         --with-isobar=/opt/isobar \
         --with-flexpath=/opt/chaos \
@@ -1037,7 +1086,16 @@ elif [ `hostname | cut -c 1-7` == "adiosVM" ]; then
         --with-alacrity=/opt/alacrity \
         --with-hdf5=/opt/hdf5-1.8.17 \
         --with-phdf5=/opt/hdf5-1.8.17-parallel \
-        --with-netcdf=/opt/netcdf-4.4.0 \
+        --with-netcdf=/opt/netcdf-4.4.0 
+
+    else
+        ${SRCDIR}/configure --prefix=/opt/adios/lean \
+        --disable-maintainer-mode \
+        --enable-dependency-tracking \
+        --with-lustre \
+        --disable-timers --disable-timer-events
+
+    fi
 
 
 else
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0f216b1..be8da92 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -107,6 +107,7 @@ set (transforms_read_SOURCES ${transforms_read_HDRS}
                           transforms/adios_transform_zfp_read.c
                           transforms/adios_transform_sz_read.c
                           transforms/adios_transform_lz4_read.c
+                          transforms/adios_transform_blosc_read.c
                           core/adios_selection_util.c
                           core/transforms/plugindetect/detect_plugin_read_hook_decls.h
                           core/transforms/plugindetect/detect_plugin_read_hook_reg.h
@@ -128,6 +129,7 @@ set (transforms_write_SOURCES ${transforms_write_HDRS}
                            transforms/adios_transform_zfp_write.c
                            transforms/adios_transform_sz_write.c
                            transforms/adios_transform_lz4_write.c
+                           transforms/adios_transform_blosc_write.c
                            ${transforms_write_method_SOURCES})
 
 #######Query source files
@@ -876,6 +878,8 @@ set(libadios_internal_nompi_a_SOURCES core/mpidummy.c
                                     core/adios_clock.c
                                     core/qhashtbl.c
                                     core/futils.c
+                                    core/adiost_callback_internal.c
+                                    core/adiost_default_tool.c 
                                     core/adios_transport_hooks.c)
 
 if(BUILD_WRITE)
diff --git a/src/Makefile.am b/src/Makefile.am
index 6d3af1f..5db5c0e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -849,6 +849,7 @@ EXTRA_DIST = core/adios_bp_v1.h core/adios_endianness.h \
              transforms/adios_transform_template_read.c \
              transforms/adios_transform_template_write.c \
              transforms/adios_transform_lz4_common.h \
+             transforms/adios_transform_blosc_common.h \
              query/Makefile.plugins.cmake 
 #             nssi/adios_nssi_config.h nssi/aggregation.h nssi/io_timer.h 
 
diff --git a/src/Makefile.in b/src/Makefile.in
index a311f26..033a905 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,9 +93,6 @@ host_triplet = @host@
 @BUILD_MXML_TRUE at am__append_1 = mxml 
 @BUILD_ZFP_TRUE at am__append_2 = zfp 
 bin_PROGRAMS =
-DIST_COMMON = $(srcdir)/transforms/Makefile.plugins \
-	$(srcdir)/query/Makefile.plugins $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(include_HEADERS)
 @HAVE_FASTBIT_TRUE at am__append_3 = query/query_fastbit.c \
 @HAVE_FASTBIT_TRUE@	query/fastbit_adios.c
 @HAVE_FASTBIT_TRUE at am__append_4 = query/fastbit_adios.h
@@ -316,6 +323,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -351,6 +359,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -1180,7 +1190,8 @@ am__objects_144 = transforms/libcoreonce_a-adios_transform_identity_write.$(OBJE
 	transforms/libcoreonce_a-adios_transform_alacrity_write.$(OBJEXT) \
 	transforms/libcoreonce_a-adios_transform_zfp_write.$(OBJEXT) \
 	transforms/libcoreonce_a-adios_transform_sz_write.$(OBJEXT) \
-	transforms/libcoreonce_a-adios_transform_lz4_write.$(OBJEXT)
+	transforms/libcoreonce_a-adios_transform_lz4_write.$(OBJEXT) \
+	transforms/libcoreonce_a-adios_transform_blosc_write.$(OBJEXT)
 am__objects_145 = $(am__objects_1) \
 	core/transforms/libcoreonce_a-adios_transforms_write.$(OBJEXT) \
 	core/transforms/libcoreonce_a-adios_transforms_hooks_write.$(OBJEXT) \
@@ -1196,7 +1207,8 @@ am__objects_146 = transforms/libcoreonce_a-adios_transform_identity_read.$(OBJEX
 	transforms/libcoreonce_a-adios_transform_alacrity_read.$(OBJEXT) \
 	transforms/libcoreonce_a-adios_transform_zfp_read.$(OBJEXT) \
 	transforms/libcoreonce_a-adios_transform_sz_read.$(OBJEXT) \
-	transforms/libcoreonce_a-adios_transform_lz4_read.$(OBJEXT)
+	transforms/libcoreonce_a-adios_transform_lz4_read.$(OBJEXT) \
+	transforms/libcoreonce_a-adios_transform_blosc_read.$(OBJEXT)
 am__objects_147 = $(am__objects_1) \
 	core/transforms/libcoreonce_a-adios_transforms_read.$(OBJEXT) \
 	core/transforms/libcoreonce_a-adios_transforms_hooks_read.$(OBJEXT) \
@@ -1341,6 +1353,9 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = mxml zfp
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(srcdir)/query/Makefile.plugins \
+	$(srcdir)/transforms/Makefile.plugins
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -1405,6 +1420,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -1640,6 +1659,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1783,6 +1803,8 @@ libadiosreadf_nompi_a_CFLAGS =
 # sz plugin:
 
 # LZ4 plugin:
+
+# Blosc plugin:
 transforms_write_method_SOURCES =  \
 	transforms/adios_transform_identity_write.c \
 	transforms/adios_transform_zlib_write.c \
@@ -1793,7 +1815,8 @@ transforms_write_method_SOURCES =  \
 	transforms/adios_transform_alacrity_write.c \
 	transforms/adios_transform_zfp_write.c \
 	transforms/adios_transform_sz_write.c \
-	transforms/adios_transform_lz4_write.c
+	transforms/adios_transform_lz4_write.c \
+	transforms/adios_transform_blosc_write.c
 transforms_read_method_SOURCES =  \
 	transforms/adios_transform_identity_read.c \
 	transforms/adios_transform_zlib_read.c \
@@ -1804,7 +1827,8 @@ transforms_read_method_SOURCES =  \
 	transforms/adios_transform_alacrity_read.c \
 	transforms/adios_transform_zfp_read.c \
 	transforms/adios_transform_sz_read.c \
-	transforms/adios_transform_lz4_read.c
+	transforms/adios_transform_lz4_read.c \
+	transforms/adios_transform_blosc_read.c
 transforms_common_HDRS = core/adios_copyspec.h \
                          core/adios_subvolume.h \
                          core/adios_selection_util.h \
@@ -2129,6 +2153,7 @@ EXTRA_DIST = core/adios_bp_v1.h core/adios_endianness.h \
              transforms/adios_transform_template_read.c \
              transforms/adios_transform_template_write.c \
              transforms/adios_transform_lz4_common.h \
+             transforms/adios_transform_blosc_common.h \
              query/Makefile.plugins.cmake 
 
 all: all-recursive
@@ -2147,7 +2172,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/tr
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu src/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -2156,7 +2180,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(srcdir)/transforms/Makefile.plugins $(srcdir)/query/Makefile.plugins:
+$(srcdir)/transforms/Makefile.plugins $(srcdir)/query/Makefile.plugins $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -2824,6 +2848,8 @@ transforms/libcoreonce_a-adios_transform_sz_write.$(OBJEXT):  \
 	transforms/$(am__dirstamp)
 transforms/libcoreonce_a-adios_transform_lz4_write.$(OBJEXT):  \
 	transforms/$(am__dirstamp)
+transforms/libcoreonce_a-adios_transform_blosc_write.$(OBJEXT):  \
+	transforms/$(am__dirstamp)
 core/transforms/libcoreonce_a-adios_transforms_read.$(OBJEXT):  \
 	core/transforms/$(am__dirstamp)
 core/transforms/libcoreonce_a-adios_transforms_hooks_read.$(OBJEXT):  \
@@ -2856,6 +2882,8 @@ transforms/libcoreonce_a-adios_transform_sz_read.$(OBJEXT):  \
 	transforms/$(am__dirstamp)
 transforms/libcoreonce_a-adios_transform_lz4_read.$(OBJEXT):  \
 	transforms/$(am__dirstamp)
+transforms/libcoreonce_a-adios_transform_blosc_read.$(OBJEXT):  \
+	transforms/$(am__dirstamp)
 
 libcoreonce.a: $(libcoreonce_a_OBJECTS) $(libcoreonce_a_DEPENDENCIES) $(EXTRA_libcoreonce_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libcoreonce.a
@@ -5284,6 +5312,12 @@ transforms/libcoreonce_a-adios_transform_lz4_write.o: transforms/adios_transform
 transforms/libcoreonce_a-adios_transform_lz4_write.obj: transforms/adios_transform_lz4_write.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoreonce_a_CPPFLAGS) $(CPPFLAGS) $(libcoreonce_a_CFLAGS) $(CFLAGS) -c -o transforms/libcoreonce_a-adios_transform_lz4_write.obj `if test -f 'transforms/adios_transform_lz4_write.c'; then $(CYGPATH_W) 'transforms/adios_transform_lz4_write.c'; else $(CYGPATH_W) '$(srcdir)/transforms/adios_transform_lz4_write.c'; fi`
 
+transforms/libcoreonce_a-adios_transform_blosc_write.o: transforms/adios_transform_blosc_write.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoreonce_a_CPPFLAGS) $(CPPFLAGS) $(libcoreonce_a_CFLAGS) $(CFLAGS) -c -o transforms/libcoreonce_a-adios_transform_blosc_write.o `test -f 'transforms/adios_transform_blosc_write.c' || echo '$(srcdir)/'`transforms/adios_transform_blosc_write.c
+
+transforms/libcoreonce_a-adios_transform_blosc_write.obj: transforms/adios_transform_blosc_write.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoreonce_a_CPPFLAGS) $(CPPFLAGS) $(libcoreonce_a_CFLAGS) $(CFLAGS) -c -o transforms/libcoreonce_a-adios_transform_blosc_write.obj `if test -f 'transforms/adios_transform_blosc_write.c'; then $(CYGPATH_W) 'transforms/adios_transform_blosc_write.c'; else $(CYGPATH_W) '$(srcdir)/transforms/adios_transform_blosc_write.c'; fi`
+
 core/transforms/libcoreonce_a-adios_transforms_read.o: core/transforms/adios_transforms_read.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoreonce_a_CPPFLAGS) $(CPPFLAGS) $(libcoreonce_a_CFLAGS) $(CFLAGS) -c -o core/transforms/libcoreonce_a-adios_transforms_read.o `test -f 'core/transforms/adios_transforms_read.c' || echo '$(srcdir)/'`core/transforms/adios_transforms_read.c
 
@@ -5380,6 +5414,12 @@ transforms/libcoreonce_a-adios_transform_lz4_read.o: transforms/adios_transform_
 transforms/libcoreonce_a-adios_transform_lz4_read.obj: transforms/adios_transform_lz4_read.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoreonce_a_CPPFLAGS) $(CPPFLAGS) $(libcoreonce_a_CFLAGS) $(CFLAGS) -c -o transforms/libcoreonce_a-adios_transform_lz4_read.obj `if test -f 'transforms/adios_transform_lz4_read.c'; then $(CYGPATH_W) 'transforms/adios_transform_lz4_read.c'; else $(CYGPATH_W) '$(srcdir)/transforms/adios_transform_lz4_read.c'; fi`
 
+transforms/libcoreonce_a-adios_transform_blosc_read.o: transforms/adios_transform_blosc_read.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoreonce_a_CPPFLAGS) $(CPPFLAGS) $(libcoreonce_a_CFLAGS) $(CFLAGS) -c -o transforms/libcoreonce_a-adios_transform_blosc_read.o `test -f 'transforms/adios_transform_blosc_read.c' || echo '$(srcdir)/'`transforms/adios_transform_blosc_read.c
+
+transforms/libcoreonce_a-adios_transform_blosc_read.obj: transforms/adios_transform_blosc_read.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoreonce_a_CPPFLAGS) $(CPPFLAGS) $(libcoreonce_a_CFLAGS) $(CFLAGS) -c -o transforms/libcoreonce_a-adios_transform_blosc_read.obj `if test -f 'transforms/adios_transform_blosc_read.c'; then $(CYGPATH_W) 'transforms/adios_transform_blosc_read.c'; else $(CYGPATH_W) '$(srcdir)/transforms/adios_transform_blosc_read.c'; fi`
+
 .f90.o:
 	$(AM_V_FC)$(FCCOMPILE) -c -o $@ $<
 
@@ -5727,6 +5767,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
 	uninstall-includeHEADERS uninstall-libLIBRARIES \
 	uninstall-nodist_includeHEADERS
 
+.PRECIOUS: Makefile
+
 
 @BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at core/adiosf_write_mod.$(OBJEXT): core/adiosf_defs_mod.$(OBJEXT)
 @BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at adios_write_mod.mod: core/adiosf_write_mod.$(OBJEXT)
diff --git a/src/core/a2sel.c b/src/core/a2sel.c
index 3ce40d1..b2d0190 100644
--- a/src/core/a2sel.c
+++ b/src/core/a2sel.c
@@ -12,11 +12,13 @@
 
 #include "public/adios_error.h"
 #include "core/a2sel.h"
+#include "core/adiost_callback_internal.h"
 
 extern int adios_errno;
 
 ADIOS_SELECTION * a2sel_boundingbox (int ndim, const uint64_t *start, const uint64_t *count)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_selection_boundingbox, ndim, start, count, NULL);
     adios_errno = err_no_error;
     ADIOS_SELECTION * sel = (ADIOS_SELECTION *) malloc (sizeof(ADIOS_SELECTION));
     if (sel) {
@@ -29,12 +31,14 @@ ADIOS_SELECTION * a2sel_boundingbox (int ndim, const uint64_t *start, const uint
     } else {
         adios_error(err_no_memory, "Cannot allocate memory for bounding box selection\n");
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_selection_boundingbox, ndim, start, count, sel);
     return sel;
 }
 
 ADIOS_SELECTION * a2sel_points (int ndim, uint64_t npoints, const uint64_t *points,
                                 ADIOS_SELECTION * container, int free_points_on_delete)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_selection_points, ndim, npoints, points, container, free_points_on_delete, NULL);
     adios_errno = err_no_error;
     ADIOS_SELECTION * sel = (ADIOS_SELECTION *) malloc (sizeof(ADIOS_SELECTION));
     if (sel) {
@@ -47,11 +51,13 @@ ADIOS_SELECTION * a2sel_points (int ndim, uint64_t npoints, const uint64_t *poin
     } else {
         adios_error(err_no_memory, "Cannot allocate memory for points selection\n");
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_selection_points, ndim, npoints, points, container, free_points_on_delete, sel);
     return sel;
 }
 
 ADIOS_SELECTION * a2sel_writeblock (int index)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_selection_writeblock, index, NULL);
     adios_errno = err_no_error;
     ADIOS_SELECTION * sel = (ADIOS_SELECTION *) malloc (sizeof(ADIOS_SELECTION));
     if (sel) {
@@ -65,11 +71,13 @@ ADIOS_SELECTION * a2sel_writeblock (int index)
     } else {
         adios_error(err_no_memory, "Cannot allocate memory for writeblock selection\n");
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_selection_writeblock, index, sel);
     return sel;
 }
 
 ADIOS_SELECTION * a2sel_auto (char *hints)
 {
+    ADIOST_CALLBACK_EXIT(adiost_event_selection_auto, hints, NULL);
     adios_errno = err_no_error;
     ADIOS_SELECTION * sel = (ADIOS_SELECTION *) malloc (sizeof(ADIOS_SELECTION));
     if (sel) {
@@ -78,11 +86,13 @@ ADIOS_SELECTION * a2sel_auto (char *hints)
     } else {
         adios_error(err_no_memory, "Cannot allocate memory for auto selection\n");
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_selection_auto, hints, sel);
     return sel;
 }
 
 void a2sel_free (ADIOS_SELECTION *sel)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_selection_delete, sel);
     if (!sel)
         return;
     if (sel->type == ADIOS_SELECTION_POINTS)
@@ -109,6 +119,7 @@ void a2sel_free (ADIOS_SELECTION *sel)
         }
     }
     free(sel);
+    ADIOST_CALLBACK_EXIT(adiost_event_selection_delete, sel);
 }
 
 ADIOS_SELECTION * a2sel_copy (const ADIOS_SELECTION * sel)
diff --git a/src/core/adios.c b/src/core/adios.c
index 71b833a..35786b6 100644
--- a/src/core/adios.c
+++ b/src/core/adios.c
@@ -31,6 +31,8 @@
 #include "dmalloc.h"
 #endif
 
+#include "adiost_callback_internal.h"
+
 extern struct adios_transport_struct * adios_transports;
 extern int adios_errno;
 
@@ -74,8 +76,10 @@ int adios_allocate_buffer (enum ADIOS_BUFFER_ALLOC_WHEN adios_buffer_alloc_when
 ///////////////////////////////////////////////////////////////////////////////
 void adios_set_max_buffer_size (uint64_t max_buffer_size_MB)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_set_max_buffer_size, max_buffer_size_MB);
     if (max_buffer_size_MB > 0)
         adios_databuffer_set_max_size (max_buffer_size_MB * 1024L * 1024L);
+    ADIOST_CALLBACK_EXIT(adiost_event_set_max_buffer_size, max_buffer_size_MB);
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -348,6 +352,7 @@ int adios_delete_vardefs (int64_t id)
 // It is simply the product of local dimensions and byte-size of type
 uint64_t adios_expected_var_size (int64_t var_id)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_expected_var_size, var_id);
     adios_errno = err_no_error;
     uint64_t size = 0;
     if (var_id != 0) {
@@ -386,6 +391,7 @@ uint64_t adios_expected_var_size (int64_t var_id)
         adios_error (err_invalid_varid, "%s called with invalid variable ID\n", __func__);
     }
 
+    ADIOST_CALLBACK_EXIT(adiost_event_expected_var_size, var_id);
     return size;
 }
 
diff --git a/src/core/adios_internals.c b/src/core/adios_internals.c
index 05fe248..f6d2834 100755
--- a/src/core/adios_internals.c
+++ b/src/core/adios_internals.c
@@ -19,6 +19,7 @@
 #include <sys/stat.h>
 #include <assert.h>
 
+
 #include "public/adios.h"
 #include "core/adios_internals.h"
 #include "core/adios_bp_v1.h"
@@ -37,6 +38,8 @@
 #include "core/transforms/adios_transforms_write.h"
 #include "core/transforms/adios_transforms_specparse.h"
 
+#include "adiost_callback_internal.h"
+
 struct adios_method_list_struct * adios_methods = 0;
 struct adios_group_list_struct * adios_groups = 0;
 
@@ -64,6 +67,20 @@ void adios_file_struct_init (struct adios_file_struct * fd)
     fd->comm = MPI_COMM_NULL;
 }
 
+int adios_int_is_joineddim (const char * temp) // 1 == yes, 0 == no
+{
+    if (!temp)
+        return 1;
+
+    if (!strcasecmp(temp, "joineddim") ||
+        !strcasecmp(temp, "joined")
+        )
+    {
+        return 1;
+    }
+    return 0;
+}
+
 int adios_int_is_var (const char * temp) // 1 == yes, 0 == no
 {
     if (!temp)
@@ -408,7 +425,11 @@ int adios_parse_dimension (const char * dimension
     dim->global_dimension.rank = 0;
     dim->global_dimension.var  = NULL;
     dim->global_dimension.attr = NULL;
-    if (adios_int_is_var (global_dimension))
+    if (adios_int_is_joineddim (global_dimension))
+    {
+        dim->global_dimension.rank = (uint64_t) JoinedDimValue;
+    }
+    else if (adios_int_is_var (global_dimension))
     {
         struct adios_var_struct * var = 0;
         var = adios_find_var_by_name (g, global_dimension);
@@ -975,6 +996,7 @@ int adios_common_define_attribute (int64_t group, const char * name
         ,const char * var
         )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_attribute, group, name, path, type, value, var);
     struct adios_group_struct * g = (struct adios_group_struct *) group;
     struct adios_attribute_struct * attr = (struct adios_attribute_struct *)
         malloc (sizeof (struct adios_attribute_struct));
@@ -997,6 +1019,7 @@ int adios_common_define_attribute (int64_t group, const char * name
             free (attr->path);
             free (attr);
 
+            ADIOST_CALLBACK_EXIT(adiost_event_define_attribute, group, name, path, type, value, var);
             return 0;
         }
         attr->type = type;
@@ -1017,6 +1040,7 @@ int adios_common_define_attribute (int64_t group, const char * name
             free (attr->path);
             free (attr);
 
+            ADIOST_CALLBACK_EXIT(adiost_event_define_attribute, group, name, path, type, value, var);
             return 0;
         }
     }
@@ -1038,6 +1062,7 @@ int adios_common_define_attribute (int64_t group, const char * name
             free (attr->path);
             free (attr);
 
+            ADIOST_CALLBACK_EXIT(adiost_event_define_attribute, group, name, path, type, value, var);
             return 0;
         }
     }
@@ -1048,6 +1073,7 @@ int adios_common_define_attribute (int64_t group, const char * name
 
     adios_append_attribute (&g->attributes, attr, ++g->member_count);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_attribute, group, name, path, type, value, var);
     return 1;
 }
 
@@ -1060,6 +1086,7 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
         ,const void * values
         )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_attribute_byvalue, group, name, path, type, nelems, values);
     struct adios_group_struct * g = (struct adios_group_struct *) group;
     struct adios_attribute_struct * attr = (struct adios_attribute_struct *)
         malloc (sizeof (struct adios_attribute_struct));
@@ -1074,6 +1101,7 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
                     "type attribute\n",
                     name);
             free (attr);
+            ADIOST_CALLBACK_EXIT(adiost_event_define_attribute_byvalue, group, name, path, type, nelems, values);
             return 0;
         }
         attr->type = type;
@@ -1090,6 +1118,7 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
                             "Not enough memory to copy string array attribute %s/%s\n", 
                             path, name);
                     free (attr);
+                    ADIOST_CALLBACK_EXIT(adiost_event_define_attribute_byvalue, group, name, path, type, nelems, values);
                     return 0;
                 }
                 attr->data_size = total_length;
@@ -1119,6 +1148,7 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
                     "value attribute\n", name);
             free (attr->value);
             free (attr);
+            ADIOST_CALLBACK_EXIT(adiost_event_define_attribute_byvalue, group, name, path, type, nelems, values);
             return 0;
         }
         attr->name = strdup (name);
@@ -1130,6 +1160,7 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
                 "Attribute element %s has invalid "
                 "value attribute\n", name);
         free (attr);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_attribute_byvalue, group, name, path, type, nelems, values);
         return 0;
     }
 
@@ -1138,6 +1169,7 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
 
     adios_append_attribute (&g->attributes, attr, ++g->member_count);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_attribute_byvalue, group, name, path, type, nelems, values);
     return 1;
 }
 
@@ -1369,6 +1401,7 @@ int adios_common_declare_group (int64_t * id, const char * name
         ,enum ADIOS_STATISTICS_FLAG stats
         )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_declare_group, id, name, time_index_name, stats);
     struct adios_group_struct * g = (struct adios_group_struct *)
         malloc (sizeof (struct adios_group_struct));
 
@@ -1418,6 +1451,7 @@ int adios_common_declare_group (int64_t * id, const char * name
 
     adios_append_group (g);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_declare_group, id, name, time_index_name, stats);
     return 1;
 }
 
@@ -1874,6 +1908,7 @@ int64_t adios_common_define_var (int64_t group_id, const char * name
         ,const char * local_offsets
         )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_var, group_id, name, path, type, dimensions, global_dimensions, local_offsets);
     struct adios_group_struct * t = (struct adios_group_struct *) group_id;
     struct adios_var_struct * v = (struct adios_var_struct *)
         malloc (sizeof (struct adios_var_struct));
@@ -1985,6 +2020,7 @@ int64_t adios_common_define_var (int64_t group_id, const char * name
                 adios_error (err_no_memory,
                         "config.xml: out of memory in adios_common_define_var\n");
 
+                ADIOST_CALLBACK_EXIT(adiost_event_define_var, group_id, name, path, type, dimensions, global_dimensions, local_offsets);
                 return 0;
             }
             char * dim = 0;
@@ -2010,6 +2046,7 @@ int64_t adios_common_define_var (int64_t group_id, const char * name
                 a2s_cleanup_dimensions (g_dim_tokens, g_dim_count);
                 a2s_cleanup_dimensions (lo_dim_tokens, lo_dim_count);
 
+                ADIOST_CALLBACK_EXIT(adiost_event_define_var, group_id, name, path, type, dimensions, global_dimensions, local_offsets);
                 return 0;
             }
 
@@ -2032,12 +2069,14 @@ int64_t adios_common_define_var (int64_t group_id, const char * name
     v->id = ++t->member_count;
     adios_append_var (t, v);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_var, group_id, name, path, type, dimensions, global_dimensions, local_offsets);
     return (int64_t)v;
 }
 
 /* Set the transformation method for a variable. Only one transformation will work for each variable */
 int adios_common_set_transform (int64_t var_id, const char *transform_type_str)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_set_transform, var_id, transform_type_str);
     struct adios_var_struct * v = (struct adios_var_struct *)var_id;
     assert (v);
     // NCSU ALACRITY-ADIOS - parse transform type string, and call the transform layer to
@@ -2053,6 +2092,7 @@ int adios_common_set_transform (int64_t var_id, const char *transform_type_str)
     // This function sets the transform_type field. It does nothing if transform_type is none.
     // Note: ownership of the transform_spec struct is given to this function
     v = adios_transform_define_var(v);
+    ADIOST_CALLBACK_EXIT(adiost_event_set_transform, var_id, transform_type_str);
     return adios_errno;
 }
 
@@ -6276,6 +6316,7 @@ int queue_dequeue (Queue * queue, void ** data)
 // Functions for non-XML API fo ADIOS Schema some of which are also called from functions in adios_internals_mxml.c
 int adios_common_define_schema_version (struct adios_group_struct * new_group, char * schema_version)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_schema_version, (int64_t)new_group, schema_version);
     int64_t p_new_group = (int64_t) new_group;
 
     if (strcasecmp (schema_version,"")){
@@ -6317,6 +6358,7 @@ int adios_common_define_schema_version (struct adios_group_struct * new_group, c
         }
         free(ver);
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_define_schema_version, (int64_t)new_group, schema_version);
     return 0;
 }
 
@@ -6328,6 +6370,7 @@ int adios_common_define_mesh_timeSeriesFormat (const char * timeseries,
                                                const char * name
                                               )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_timeseriesformat, timeseries, (int64_t)new_group, name);
     char * d1;                     // save of strdup
     int64_t p_new_group = (int64_t) new_group;
     char * format_att_nam = 0;     // extension format .xxxx att name
@@ -6338,6 +6381,7 @@ int adios_common_define_mesh_timeSeriesFormat (const char * timeseries,
     // varname.XXXX.png where XXXX is the time step padded with 0s
     // We do not fail if this is not given as variables all have nsteps
     if (!timeseries || !strcmp(timeseries,"")){
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timeseriesformat, timeseries, (int64_t)new_group, name);
         return 1;
     }
 
@@ -6353,6 +6397,7 @@ int adios_common_define_mesh_timeSeriesFormat (const char * timeseries,
         free(format_att_val);
     }
     free (d1);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timeseriesformat, timeseries, (int64_t)new_group, name);
     return 1;
 }
 
@@ -6362,6 +6407,7 @@ int adios_common_define_mesh_timeScale (const char * timescale,
                                         const char * name
                                        )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_timescale, timescale, (int64_t)new_group, name);
     char * c;                      // comma location
     char * d1;                     // save of strdup
     int64_t p_new_group = (int64_t) new_group;
@@ -6393,6 +6439,7 @@ int adios_common_define_mesh_timeScale (const char * timescale,
        */
     if (!timescale || !strcmp(timescale,"")){
 //        printf("time-scale attribute for mesh: %s not provided.\n", name);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timescale, timescale, (int64_t)new_group, name);
         return 1;
     }
 
@@ -6416,6 +6463,7 @@ int adios_common_define_mesh_timeScale (const char * timescale,
                           c, name);
                 free (d1);
 
+                ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timescale, timescale, (int64_t)new_group, name);
                 return 0;
 
             }else{
@@ -6523,11 +6571,13 @@ int adios_common_define_mesh_timeScale (const char * timescale,
     }else{
         printf("Error: time format not recognized.\nPlease check documentation for time formatting.\n");
         free(d1);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timescale, timescale, (int64_t)new_group, name);
         return 0;
     }
 
     free (d1);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timescale, timescale, (int64_t)new_group, name);
     return 1;
 }
 
@@ -6549,6 +6599,7 @@ int adios_common_define_mesh_timeSteps (const char * timesteps,
                                         const char * name
                                        )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_timesteps, timesteps, (int64_t)new_group, name);
     char * c;                      // comma location
     char * d1;                     // save of strdup
     int64_t p_new_group = (int64_t) new_group;
@@ -6580,6 +6631,7 @@ int adios_common_define_mesh_timeSteps (const char * timesteps,
        */
     if (!timesteps || !strcmp(timesteps,"")){
 //        printf("time-steps for mesh %s attribute not provided.\n", name);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timesteps, timesteps, (int64_t)new_group, name);
         return 1;
     }
 
@@ -6600,6 +6652,7 @@ int adios_common_define_mesh_timeSteps (const char * timesteps,
                           c, name);
                 free (d1);
 
+                ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timesteps, timesteps, (int64_t)new_group, name);
                 return 0;
 
             }else{
@@ -6696,11 +6749,13 @@ int adios_common_define_mesh_timeSteps (const char * timesteps,
     }else{
         printf("Error: time format not recognized.\nPlease check documentation for time formatting.\n");
         free(d1);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timesteps, timesteps, (int64_t)new_group, name);
         return 0;
     }
 
     free (d1);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_timesteps, timesteps, (int64_t)new_group, name);
     return 1;
 }
 
@@ -6715,6 +6770,7 @@ int adios_common_define_mesh_uniform (char * dimensions,
                                       int64_t group_id
                                      )
 {   
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_uniform, dimensions, origin, spacing, maximum, nspace, group_id, name);
     struct adios_group_struct * new_group = (struct adios_group_struct *) group_id;
     char * mpath = 0;
     mpath = malloc(strlen("/adios_schema/")+strlen(name)+strlen("/type")+1);
@@ -6723,8 +6779,10 @@ int adios_common_define_mesh_uniform (char * dimensions,
     strcat (mpath, "/type");
     adios_common_define_attribute (group_id, mpath, "", adios_string, "uniform", "");
 
-    if (!adios_define_mesh_uniform_dimensions (dimensions, new_group, name))
+    if (!adios_define_mesh_uniform_dimensions (dimensions, new_group, name)) {
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_uniform, dimensions, origin, spacing, maximum, nspace, group_id, name);
         return 1;
+    }
 
     adios_define_mesh_uniform_origins (origin, new_group, name);
     
@@ -6735,6 +6793,7 @@ int adios_common_define_mesh_uniform (char * dimensions,
     adios_define_mesh_nspace (nspace, new_group, name);
 
     free (mpath);   
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_uniform, dimensions, origin, spacing, maximum, nspace, group_id, name);
     return 0;
 }
 
@@ -6747,6 +6806,7 @@ int adios_common_define_mesh_rectilinear (char * dimensions,
                                           int64_t group_id
                                          )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_rectilinear, dimensions, coordinates, nspace, group_id, name);
     struct adios_group_struct * new_group = (struct adios_group_struct *) group_id;
     char * mpath = 0;
     mpath = malloc(strlen("/adios_schema/")+strlen(name)+strlen("/type")+1);
@@ -6755,26 +6815,33 @@ int adios_common_define_mesh_rectilinear (char * dimensions,
     strcat (mpath, "/type");
     adios_common_define_attribute (group_id, mpath, "", adios_string, "rectilinear", "");
 
-    if (!adios_define_mesh_rectilinear_dimensions (dimensions, new_group, name))
+    if (!adios_define_mesh_rectilinear_dimensions (dimensions, new_group, name)) {
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_rectilinear, dimensions, coordinates, nspace, group_id, name);
         return 1;
+	}
 
     // Determine if it is the multi-var or single-var case
     char *p;
     // If we do not find "," in the coordinates
     if (!(p = strstr(coordinates, ",")))
     {
-        if (!adios_define_mesh_rectilinear_coordinatesSingleVar (coordinates, new_group, name))
+        if (!adios_define_mesh_rectilinear_coordinatesSingleVar (coordinates, new_group, name)) {
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_rectilinear, dimensions, coordinates, nspace, group_id, name);
             return 1;
+		}
     }
     else
     {
-        if (!adios_define_mesh_rectilinear_coordinatesMultiVar (coordinates, new_group, name))
+        if (!adios_define_mesh_rectilinear_coordinatesMultiVar (coordinates, new_group, name)) {
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_rectilinear, dimensions, coordinates, nspace, group_id, name);
             return 1;
+		}
     }
 
     adios_define_mesh_nspace (nspace, new_group, name);
 
     free (mpath);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_rectilinear, dimensions, coordinates, nspace, group_id, name);
     return 0;
 }
 
@@ -6787,6 +6854,7 @@ int adios_common_define_mesh_structured (char * dimensions,
                                          int64_t group_id
                                         )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
     struct adios_group_struct * new_group = (struct adios_group_struct *) group_id;
     char * mpath = 0;
     mpath = malloc(strlen("/adios_schema/")+strlen(name)+strlen("/type")+1);
@@ -6796,36 +6864,46 @@ int adios_common_define_mesh_structured (char * dimensions,
     adios_common_define_attribute (group_id, mpath, "", adios_string, "structured", "");
 
     if (dimensions){
-        if (!adios_define_mesh_structured_dimensions (dimensions, new_group, name))
+        if (!adios_define_mesh_structured_dimensions (dimensions, new_group, name)) {
+		    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
             return 0;
+		}
     }else{
         log_warn ("config.xml: value attribute on "
                   "dimensions required (%s)\n", name);
-
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
         return 0;
     }
 
     if (nspace){
-//        if (!adios_define_mesh_structured_nspace (nspace, new_group, name))
-          if (!adios_define_mesh_nspace (nspace, new_group, name))
+//      if (!adios_define_mesh_structured_nspace (nspace, new_group, name))
+        if (!adios_define_mesh_nspace (nspace, new_group, name)) {
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
             return 0;
+		}
     }
     if (points){
         char *p;
         // If we do find "," in points (single-var case)
         if (!(p = strstr(points, ","))){
-            if (!adios_define_mesh_structured_pointsSingleVar (points, new_group, name))
+            if (!adios_define_mesh_structured_pointsSingleVar (points, new_group, name)) {
+                ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
                 return 0;
+			}
         }else{
-            if (!adios_define_mesh_structured_pointsMultiVar (points, new_group, name))
+            if (!adios_define_mesh_structured_pointsMultiVar (points, new_group, name)) {
+                ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
                 return 0;
+			}
         }
     }else{
         log_warn ("config.xml: value on "
                   "points required for mesh type=structured (%s)\n", name);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
         return 0;
     }
     free (mpath);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_structured, dimensions, points, nspace, group_id, name);
     return 1;
 }
 
@@ -6839,6 +6917,7 @@ int adios_common_define_mesh_unstructured (char * points,
                                            const char * name,
                                            int64_t group_id)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
     struct adios_group_struct * new_group = (struct adios_group_struct *) group_id;
     char * mpath = 0;
     mpath = malloc(strlen("/adios_schema/")+strlen(name)+strlen("/type")+1);
@@ -6849,45 +6928,57 @@ int adios_common_define_mesh_unstructured (char * points,
     if (nspace && *nspace != 0)
     {
 //        if (!adios_define_mesh_unstructured_nspace (nspace, new_group, name))
-            if (!adios_define_mesh_nspace (nspace, new_group, name))
-            return 0;
+            if (!adios_define_mesh_nspace (nspace, new_group, name)) {
+                ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
+                return 0;
+			}
     }
     if (npoints && *npoints != 0)
     {
-        if (!adios_define_mesh_unstructured_npoints (npoints, new_group, name))
+        if (!adios_define_mesh_unstructured_npoints (npoints, new_group, name)) {
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
             return 0;
+		}
 
     }
     if (points && *points != 0){
         char *p;
         // If we do find "," in points (single-var case)
         if (!(p = strstr(points, ","))){
-            if (!adios_define_mesh_unstructured_pointsSingleVar (points, new_group, name))
+            if (!adios_define_mesh_unstructured_pointsSingleVar (points, new_group, name)) {
+                ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
                 return 0;
+			}
         }else{
-            if (!adios_define_mesh_unstructured_pointsMultiVar (points, new_group, name))
+            if (!adios_define_mesh_unstructured_pointsMultiVar (points, new_group, name)) {
+                ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
                 return 0;
+			}
         }
     }else{
         log_warn ("config.xml: value on "
                   "points required for mesh type=structured (%s)\n", name);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
         return 0;
     }
     if (!data){
         log_warn ("config.xml: data attribute on "
                   "uniform-cells required (%s)\n", name);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
         return 0;
     }
     if (!count) 
     {
         log_warn ("config.xml: count attribute on "
                   "uniform-cells required (%s)\n", name);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
         return 0;
     }
     if (!type)
     {
         log_warn ("config.xml: type attribute on "
                   "uniform-cells required (%s)\n", name);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
         return 0;
     }
     char *pt;
@@ -6896,35 +6987,44 @@ int adios_common_define_mesh_unstructured (char * points,
         if ( (pt = strstr(count,",")) ){
             log_warn ("count value on uniform-cells (check data value)"
                       " should not contain ',' (%s)\n",name);
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
             return 0;
         }
         if ( (pt = strstr(type,",")) ){
             log_warn ("type value on uniform-cells (check data value)"
                       " should not contain ',' (%s)\n", name);
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
             return 0;
         }
         if (!adios_define_mesh_unstructured_uniformCells (count, data, type
                     , new_group
                     ,name
                     )
-           )
+           ) {
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
             return 0;
+		}
         // Mixed cells calse
     }else{
         if (!(pt = strstr(count,","))){
             log_warn ("count value on mixed-cells (check data value)"
                       " should contain ',' (%s)\n", name);
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
             return 0;
         }
         if (!(pt = strstr(type,","))){
             log_warn ("type value on mixed-cells (check data value)"
                       " should contain ',' (%s)\n", name);
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
             return 0;
         }
         if (!adios_define_mesh_unstructured_mixedCells (count, data, type
-                    , new_group, name))
+                    , new_group, name)) {
+            ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
             return 0;
+		}
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_unstructured, points, data, count, type, npoints, nspace, group_id, name);
     return 1;
 }
 
@@ -7054,6 +7154,7 @@ int adios_common_define_var_timesteps (const char * timesteps,
                                        const char * path
                                       )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_var_timesteps, timesteps, (int64_t)new_group, name);
     char * c;                      // comma location
     char * d1;                     // save of strdup
     int64_t p_new_group = (int64_t) new_group;
@@ -7084,6 +7185,7 @@ int adios_common_define_var_timesteps (const char * timesteps,
        in ADIOS_inq_var = # of times the var was written
        */
     if (!timesteps || !strcmp(timesteps,"")){
+        ADIOST_CALLBACK_EXIT(adiost_event_define_var_timesteps, timesteps, p_new_group, name);
         return 1;
     }
 
@@ -7104,6 +7206,7 @@ int adios_common_define_var_timesteps (const char * timesteps,
                           c, name);
                 free (d1);
 
+                ADIOST_CALLBACK_EXIT(adiost_event_define_var_timesteps, timesteps, p_new_group, name);
                 return 0;
 
             }else{
@@ -7200,11 +7303,13 @@ int adios_common_define_var_timesteps (const char * timesteps,
     }else{
         printf("Error: time format not recognized.\nPlease check documentation for time formatting.\n");
         free(d1);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_var_timesteps, timesteps, p_new_group, name);
         return 0;
     }
 
     free (d1);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_var_timesteps, timesteps, p_new_group, name);
     return 1;
 }
 
@@ -7215,6 +7320,7 @@ int adios_common_define_var_timeseriesformat (const char * timeseries,
                                               const char * path
                                              )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_var_timeseriesformat, timeseries, (int64_t)new_group, name);
     char * d1;                     // save of strdup
     int64_t p_new_group = (int64_t) new_group;
     char * format_att_nam = 0;     // extension format .xxxx att name
@@ -7225,6 +7331,7 @@ int adios_common_define_var_timeseriesformat (const char * timeseries,
     // varname.XXXX.png where XXXX is the time step padded with 0s
     // We do not fail if this is not given as variables all have nsteps
     if (!timeseries || !strcmp(timeseries,"")){
+         ADIOST_CALLBACK_EXIT(adiost_event_define_var_timeseriesformat, timeseries, p_new_group, name);
         return 1;
     }
 
@@ -7238,6 +7345,7 @@ int adios_common_define_var_timeseriesformat (const char * timeseries,
         free(format_att_val);
     }
     free (d1);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_var_timeseriesformat, timeseries, p_new_group, name);
     return 1;
 }
 
@@ -7248,6 +7356,7 @@ int adios_common_define_var_timescale (const char * timescale,
                                        const char * path
                                       )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_var_timescale, timescale, (int64_t)new_group, name);
     char * c;                      // comma location
     char * d1;                     // save of strdup
     int64_t p_new_group = (int64_t) new_group;
@@ -7279,6 +7388,7 @@ int adios_common_define_var_timescale (const char * timescale,
        in ADIOS_inq_var = # of times the var was written
        */
     if (!timescale || !strcmp(timescale,"")){
+        ADIOST_CALLBACK_EXIT(adiost_event_define_var_timescale, timescale, p_new_group, name);
         return 1;
     }
 
@@ -7303,6 +7413,7 @@ int adios_common_define_var_timescale (const char * timescale,
                           c, name);
                 free (d1);
 
+                ADIOST_CALLBACK_EXIT(adiost_event_define_var_timescale, timescale, p_new_group, name);
                 return 0;
 
             }else{
@@ -7412,11 +7523,13 @@ int adios_common_define_var_timescale (const char * timescale,
     }else{
         printf("Error: time format not recognized.\nPlease check documentation for time formatting.\n");
         free(d1);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_var_timescale, timescale, p_new_group, name);
         return 0;
     }
 
     free (d1);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_var_timescale, timescale, p_new_group, name);
     return 1;
 }
 
@@ -7426,6 +7539,7 @@ int adios_common_define_var_hyperslab ( const char * hyperslab,
                                         const char * name,
                                         const char * path)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_var_hyperslab, hyperslab, (int64_t)new_group, name);
     char * c;                      // comma location
     char * d1;                     // save of strdup
     int64_t p_new_group = (int64_t) new_group;
@@ -7456,6 +7570,7 @@ int adios_common_define_var_hyperslab ( const char * hyperslab,
        in ADIOS_inq_var = # of times the var was written
        */
     if (!hyperslab || !strcmp(hyperslab,"")){
+        ADIOST_CALLBACK_EXIT(adiost_event_define_var_hyperslab, hyperslab, p_new_group, name);
         return 1;
     }
 
@@ -7515,11 +7630,13 @@ int adios_common_define_var_hyperslab ( const char * hyperslab,
     }else{
         printf("Error: hyperslab format not recognized.\nPlease check documentation for hyperslab formatting.\n");
         free(d1);
+        ADIOST_CALLBACK_EXIT(adiost_event_define_var_hyperslab, hyperslab, p_new_group, name);
         return 0;
     }
 
     free (d1);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_define_var_hyperslab, hyperslab, p_new_group, name);
     return 1;
 
 }
@@ -8364,28 +8481,33 @@ int adios_define_mesh_unstructured_mixedCells (const char * count,
 // called by NO-XML API
 int adios_common_define_var_mesh (int64_t group_id, const char * varname, const char * meshname, const char * path)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_var_mesh, group_id, varname, meshname);
     char *mpath = 0;
     mpath = malloc(strlen("/adios_schema")+strlen(varname)+1);
     strcpy(mpath,varname);
     strcat(mpath,"/adios_schema");
     adios_common_define_attribute (group_id, mpath, path, adios_string, meshname, "");
     free (mpath);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_var_mesh, group_id, varname, meshname);
     return 0;
 }
 
 int adios_common_define_var_centering (int64_t group_id, const char * varname, const char * centering, const char * path)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_var_centering, group_id, varname, centering);
     char *mpath = 0;
     mpath = malloc(strlen("/adios_schema/centering")+strlen(varname)+1);
     strcpy(mpath,varname);
     strcat(mpath,"/adios_schema/centering");
     adios_common_define_attribute (group_id, mpath, path, adios_string, centering, "");
     free (mpath);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_var_centering, group_id, varname, centering);
     return 0;
 }
 
 int adios_common_define_mesh_group (int64_t group_id, const char * name, const char * group)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_group, group, group_id, name);
     char * mpath = 0;
     mpath = malloc(strlen("/adios_schema/")+strlen(name)+strlen("/mesh-group")+1);
     strcpy (mpath, "/adios_schema/");
@@ -8394,10 +8516,12 @@ int adios_common_define_mesh_group (int64_t group_id, const char * name, const c
 //    adios_conca_mesh_att_nam(&group, name, "mesh-group");
     adios_common_define_attribute (group_id, mpath, "", adios_string, group, "");
     free (mpath);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_group, group, group_id, name);
     return 0;
 }
 
 int adios_common_define_mesh_file (int64_t group_id, char * name, char * file){
+    ADIOST_CALLBACK_ENTER(adiost_event_define_mesh_file, group_id, name, file);
     char * mpath = 0;
     mpath = malloc(strlen("/adios_schema/")+strlen(name)+strlen("/mesh-file")+1);
     strcpy (mpath, "/adios_schema/");
@@ -8405,6 +8529,7 @@ int adios_common_define_mesh_file (int64_t group_id, char * name, char * file){
     strcat (mpath, "/mesh-file");
     adios_common_define_attribute (group_id, mpath, "", adios_string, file, "");
     free (mpath);
+    ADIOST_CALLBACK_EXIT(adiost_event_define_mesh_file, group_id, name, file);
     return 0;
 }
 
diff --git a/src/core/adios_internals.h b/src/core/adios_internals.h
index 49a1eb9..c57956a 100644
--- a/src/core/adios_internals.h
+++ b/src/core/adios_internals.h
@@ -33,6 +33,12 @@
  */
 #define MAX_MPIWRITE_SIZE 2130706432    /* 2GB - 16MB */
 
+
+/* dimension value indicating a joined dimension for local arrays.
+ * = 18446744073709551614ULL
+ */
+extern const uint64_t JoinedDimValue; // defined in bp_utils.c so that it is part of read-only lib too
+
 enum ADIOS_METHOD_MODE {adios_mode_write  = 1
                        ,adios_mode_read   = 2
                        ,adios_mode_update = 3 // not supported yet
diff --git a/src/core/adios_internals_mxml.c b/src/core/adios_internals_mxml.c
index 6a55612..513fd45 100644
--- a/src/core/adios_internals_mxml.c
+++ b/src/core/adios_internals_mxml.c
@@ -29,6 +29,8 @@
 #include "dmalloc.h"
 #endif
 
+#include "adiost_callback_internal.h"
+
 static enum ADIOS_FLAG adios_host_language_fortran = adios_flag_yes;
 // NCSU ALACRITY-ADIOS: Need these to be extern so they can be accessed by both adios_internals.c and here
 extern struct adios_method_list_struct * adios_methods;
@@ -2580,6 +2582,7 @@ int adios_common_select_method_by_group_id (int priority, const char * method
         ,const char * base_path, int iters
         )
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_select_method, group_id, method, parameters, base_path);
     struct adios_group_struct * g;
     struct adios_method_struct * new_method;
     int requires_group_comm = 0;
@@ -2621,6 +2624,7 @@ int adios_common_select_method_by_group_id (int priority, const char * method
         free (new_method->parameters);
         free (new_method);
 
+        ADIOST_CALLBACK_EXIT(adiost_event_select_method, group_id, method, parameters, base_path);
         return 0;
     }
 
@@ -2636,6 +2640,7 @@ int adios_common_select_method_by_group_id (int priority, const char * method
         free (new_method->parameters);
         free (new_method);
 
+        ADIOST_CALLBACK_EXIT(adiost_event_select_method, group_id, method, parameters, base_path);
         return 0;
     }
     else
@@ -2653,6 +2658,7 @@ int adios_common_select_method_by_group_id (int priority, const char * method
             free (new_method->parameters);
             free (new_method);
 
+            ADIOST_CALLBACK_EXIT(adiost_event_select_method, group_id, method, parameters, base_path);
             return 0;
         }
         adios_add_method_to_group (&g->methods, new_method);
@@ -2661,6 +2667,7 @@ int adios_common_select_method_by_group_id (int priority, const char * method
 
     adios_append_method (new_method);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_select_method, group_id, method, parameters, base_path);
     return 1;
 }
 
diff --git a/src/core/adiost_callback_internal.c b/src/core/adiost_callback_internal.c
index d9e0977..b71f3e2 100644
--- a/src/core/adiost_callback_internal.c
+++ b/src/core/adiost_callback_internal.c
@@ -10,6 +10,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <inttypes.h>
 
 #define adiost_get_callback_success 1
 #define adiost_get_callback_failure 0
@@ -37,9 +38,10 @@ const char adiost_enabled_env_var[] = {"ADIOS_TOOL"};
 
 /* forward declaration of the weak (default) tool */
 
-//extern __attribute__ (( weak )) adiost_initialize_t adiost_tool(void);
-//extern adiost_initialize_t adiost_tool(void);
-extern __attribute__((visibility("default"))) adiost_initialize_t __attribute__((weak)) adiost_tool(void);
+extern adiost_initialize_t default_adiost_tool(void);
+
+/* function pointer to hold the tool function. */
+adiost_initialize_t (*my_adiost_tool)(void) = NULL;
 
 /* Pre-initialization. */
 
@@ -62,6 +64,18 @@ void adiost_pre_init(void) {
         tool_setting = adiost_enabled;
     }
 
+	// if a tool function is defined, assign our internal pointer to it.
+    // for clang, we always have a weak definition, so prevent compiler warning.
+#if defined(__clang__)
+	if (adiost_tool() != NULL) {
+#else
+	if ((adiost_tool != NULL) && (adiost_tool() != NULL)){
+#endif
+	    my_adiost_tool = &adiost_tool;
+	} else {
+	    my_adiost_tool = &default_adiost_tool;
+	}
+
     // validate the input
     debug_print("%s: %s = %d\n", __func__, adiost_enabled_env_var, tool_setting);
     switch(tool_setting) {
@@ -69,8 +83,8 @@ void adiost_pre_init(void) {
             break;
         case adiost_unset:
         case adiost_enabled:
-            if (adiost_tool) {
-            	adiost_initialize_fn = adiost_tool();
+            if (my_adiost_tool) {
+            	adiost_initialize_fn = my_adiost_tool();
             	// if initialization is successful, we are enabled
             	if (adiost_initialize_fn) {
                 	adios_tool_enabled = 1;
@@ -183,3 +197,80 @@ static adiost_interface_fn_t adiost_fn_lookup(const char *s)
     return (adiost_interface_fn_t) 0;
 }
 
+char * adiost_build_dimension_string(struct adios_var_struct *v, int * ndims) { 
+    // I hate to use a fixed length string, but...
+    char tmpstr[1024] = {0};
+    *ndims = 0;
+    if (v->dimensions == NULL) {
+        return strdup("");
+    }
+    char dims[256] = {0};
+    char global_dims[256] = {0};
+    char local_offsets[256] = {0};
+    struct adios_dimension_struct * tmp = v->dimensions;
+    char delimiter = '[';
+    while (tmp != NULL) {
+        *ndims = *ndims + 1;
+        // just a regular old number? Get its value.
+        if (tmp->dimension.rank > 0) {
+#if defined(__clang__)
+            sprintf(dims, "%s%c%llu", dims, delimiter, tmp->dimension.rank);
+#else
+            sprintf(dims, "%s%c%lu", dims, delimiter, tmp->dimension.rank);
+#endif
+        // another ADIOS variable? Get its name.
+        } else if (tmp->dimension.var != NULL) {
+            sprintf(dims, "%s%c%s", dims, delimiter, tmp->dimension.var->name);
+        // another ADIOS attribute? Get its name.
+        } else if (tmp->dimension.attr != NULL) {
+            sprintf(dims, "%s%c%s", dims, delimiter, tmp->dimension.attr->name);
+        }
+        // just a regular old number? Get its value.
+        if (tmp->global_dimension.rank > 0) {
+#if defined(__clang__)
+            sprintf(global_dims, "%s%c%llu", global_dims, delimiter, tmp->global_dimension.rank);
+#else
+            sprintf(global_dims, "%s%c%lu", global_dims, delimiter, tmp->global_dimension.rank);
+#endif
+        // another ADIOS variable? Get its name.
+        } else if (tmp->global_dimension.var != NULL) {
+            sprintf(global_dims, "%s%c%s", global_dims, delimiter, tmp->global_dimension.var->name);
+        // another ADIOS attribute? Get its name.
+        } else if (tmp->global_dimension.attr != NULL) {
+            sprintf(global_dims, "%s%c%s", global_dims, delimiter, tmp->global_dimension.attr->name);
+        }
+        // just a regular old number? Get its value.
+        if (tmp->local_offset.rank > 0) {
+#if defined(__clang__)
+            sprintf(local_offsets, "%s%c%llu", local_offsets, delimiter, tmp->local_offset.rank);
+#else
+            sprintf(local_offsets, "%s%c%lu", local_offsets, delimiter, tmp->local_offset.rank);
+#endif
+        // another ADIOS variable? Get its name.
+        } else if (tmp->local_offset.var != NULL) {
+            sprintf(local_offsets, "%s%c%s", local_offsets, delimiter, tmp->local_offset.var->name);
+        // another ADIOS attribute? Get its name.
+        } else if (tmp->local_offset.attr != NULL) {
+            sprintf(local_offsets, "%s%c%s", local_offsets, delimiter, tmp->local_offset.attr->name);
+        }
+        // move on to the next dimension?
+        delimiter = ',';
+        tmp = tmp->next;
+    }
+    delimiter = ']';
+    sprintf(dims, "%s%c", dims, delimiter);
+    sprintf(global_dims, "%s%c", global_dims, delimiter);
+    sprintf(local_offsets, "%s%c", local_offsets, delimiter);
+    // build the whole thing
+    sprintf(tmpstr, "%s;%s;%s", dims, global_dims, local_offsets);
+    return strdup(tmpstr);
+}
+
+// Create a weak definition for the tool, some compiler/systems require it.
+// For example, Clang on OSX requires this symbol to be defined.
+// To ensure that the tool can instantiate its own definition, only create a
+// weak definition when required, such as with clang.
+ADIOST_EXPORT ADIOST_WEAK_PRE adiost_initialize_t adiost_tool(void) ADIOST_WEAK_POST
+{
+    return NULL;
+}
diff --git a/src/core/adiost_callback_internal.h b/src/core/adiost_callback_internal.h
index a106ebb..55db3de 100644
--- a/src/core/adiost_callback_internal.h
+++ b/src/core/adiost_callback_internal.h
@@ -18,10 +18,8 @@
  */
 
 #include <stddef.h>
-// we want our implementation of the tool to be weak, and exported.
-#define ADIOST_EXPORT __attribute__((visibility("default")))
-#define ADIOST_WEAK __attribute__ (( weak )) 
 #include "public/adiost_callback_api.h"
+#include "adios_internals.h"
 
 /* Definitions */
 
@@ -57,29 +55,48 @@ extern adiost_callbacks_t adiost_callbacks;
 void adiost_pre_init(void);
 void adiost_post_init(void);
 void adiost_finalize(void);
+char * adiost_build_dimension_string(struct adios_var_struct *v, int * ndims);
 
 /* These variadic macros save us from having to add 4+ lines of source code
  * each time that we want to make an event callback. */
 
-#define ADIOST_CALLBACK(__event, __fd, ...) \
+#define ADIOST_CALLBACK(__event, ...) \
     if (adios_tool_enabled && \
         adiost_callbacks.adiost_callback(__event)) { \
-          adiost_callbacks.adiost_callback(__event)((int64_t)__fd, \
+          adiost_callbacks.adiost_callback(__event)( \
             adiost_event, ##__VA_ARGS__); \
     } \
 
-#define ADIOST_CALLBACK_ENTER(__event, __fd, ...) \
+#define ADIOST_CALLBACK_ENTER(__event, ...) \
     if (adios_tool_enabled && \
         adiost_callbacks.adiost_callback(__event)) { \
-          adiost_callbacks.adiost_callback(__event)((int64_t)__fd, \
+          adiost_callbacks.adiost_callback(__event)( \
             adiost_event_enter, ##__VA_ARGS__); \
     } \
 
-#define ADIOST_CALLBACK_EXIT(__event, __fd, ...) \
+#define ADIOST_CALLBACK_EXIT(__event, ...) \
     if (adios_tool_enabled && \
         adiost_callbacks.adiost_callback(__event)) { \
-          adiost_callbacks.adiost_callback(__event)((int64_t)__fd, \
+          adiost_callbacks.adiost_callback(__event)( \
             adiost_event_exit, ##__VA_ARGS__); \
     } \
 
+#define ADIOST_CALLBACK_WRITE_ENTER(__event, __fd, __v) \
+    if (adios_tool_enabled && \
+        adiost_callbacks.adiost_callback(__event)) { \
+          int __ndims = 0; \
+          char * __tmp = adiost_build_dimension_string(__v, &__ndims); \
+          adiost_callbacks.adiost_callback(__event)(adiost_event_enter, (int64_t)__fd, \
+            __v->name, __v->type, __ndims, __tmp, __v->data); \
+    } \
+
+#define ADIOST_CALLBACK_WRITE_EXIT(__event, __fd, __v) \
+    if (adios_tool_enabled && \
+        adiost_callbacks.adiost_callback(__event)) { \
+          int __ndims = 0; \
+          char * __tmp = adiost_build_dimension_string(__v, &__ndims); \
+          adiost_callbacks.adiost_callback(__event)(adiost_event_exit, (int64_t)__fd, \
+            __v->name, __v->type, __ndims, __tmp, __v->data); \
+    } \
+
 #endif // #ifndef __ADIOST_CALLBACK_INTERNAL_H__
diff --git a/src/core/adiost_default_tool.c b/src/core/adiost_default_tool.c
index 81dd428..b64bf09 100644
--- a/src/core/adiost_default_tool.c
+++ b/src/core/adiost_default_tool.c
@@ -122,17 +122,17 @@ void __timer_stop(adiost_timer_index_t index) {
     adiost_timers_count[index] = adiost_timers_count[index] + 1;
 }
 
-ADIOST_EXTERN void my_thread(int64_t file_descriptor, char * name, adiost_event_type_t type) {
+ADIOST_EXTERN void my_thread(adiost_event_type_t type, int64_t file_descriptor, const char * name) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_thread_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_thread_timer);
     }
 }
 
-ADIOST_EXTERN void my_open ( int64_t file_descriptor, adiost_event_type_t type,
+ADIOST_EXTERN void my_open ( adiost_event_type_t type, int64_t file_descriptor,
     const char * group_name, const char * file_name, const char * mode) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
@@ -142,60 +142,63 @@ ADIOST_EXTERN void my_open ( int64_t file_descriptor, adiost_event_type_t type,
         debug_print("mode: %s!\n", mode);
         __timer_start(adiost_open_to_close_timer);
         __timer_start(adiost_open_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_open_timer);
     }
 }
 
-ADIOST_EXTERN void my_close(int64_t file_descriptor, adiost_event_type_t type) {
+ADIOST_EXTERN void my_close(adiost_event_type_t type, int64_t file_descriptor) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_close_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_close_timer);
         __timer_stop(adiost_open_to_close_timer);
     }
 }
 
-ADIOST_EXTERN void my_write( int64_t file_descriptor, adiost_event_type_t type) {
+ADIOST_EXTERN void my_write( adiost_event_type_t type, int64_t file_descriptor,
+    const char * name, enum ADIOS_DATATYPES data_type, const int ndims, 
+	const char * dims, const void * value) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_write_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_write_timer);
     }
 } 
 
-ADIOST_EXTERN void my_read( int64_t file_descriptor, adiost_event_type_t type) {
+ADIOST_EXTERN void my_read( adiost_event_type_t type, int64_t file_descriptor,
+    const char * var_name, uint64_t read_size, const void * var) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_read_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_read_timer);
     }
 } 
 
-ADIOST_EXTERN void my_advance_step( int64_t file_descriptor,
-    adiost_event_type_t type) {
+ADIOST_EXTERN void my_advance_step( adiost_event_type_t type,
+    int64_t file_descriptor) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_advance_step_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_advance_step_timer);
     }
 } 
 
-ADIOST_EXTERN void my_group_size(int64_t file_descriptor, 
-    adiost_event_type_t type, uint64_t data_size, uint64_t total_size) {
+ADIOST_EXTERN void my_group_size( adiost_event_type_t type, 
+    int64_t file_descriptor, uint64_t data_size, uint64_t total_size) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_group_size_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         debug_print("data size: %" PRIu64 "!\n", data_size); fflush(stdout);
         adiost_counters_accumulated[adiost_data_bytes_counter] = 
             adiost_counters_accumulated[adiost_data_bytes_counter] + data_size;
@@ -210,57 +213,56 @@ ADIOST_EXTERN void my_group_size(int64_t file_descriptor,
     }
 } 
 
-ADIOST_EXTERN void my_transform( int64_t file_descriptor,
-        adiost_event_type_t type) {
+ADIOST_EXTERN void my_transform( adiost_event_type_t type, int64_t var_id,
+    const char * transform_type_str) {
     DEBUG_PRINT
-    DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_transform_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_transform_timer);
     }
 } 
 
-ADIOST_EXTERN void my_fp_send_read_msg(int64_t file_descriptor,
-        adiost_event_type_t type) { 
+ADIOST_EXTERN void my_fp_send_read_msg(adiost_event_type_t type, 
+    int64_t file_descriptor) { 
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_fp_send_read_msg_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_fp_send_read_msg_timer);
     }
 } 
 
-ADIOST_EXTERN void my_fp_send_finalize_msg(int64_t file_descriptor,
-        adiost_event_type_t type) { 
+ADIOST_EXTERN void my_fp_send_finalize_msg( adiost_event_type_t type,
+    int64_t file_descriptor) { 
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_fp_send_finalize_msg_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_fp_send_finalize_msg_timer);
     }
 } 
 
-ADIOST_EXTERN void my_fp_add_var_to_read_msg(int64_t file_descriptor,
-        adiost_event_type_t type) { 
+ADIOST_EXTERN void my_fp_add_var_to_read_msg(adiost_event_type_t type,
+    int64_t file_descriptor) { 
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_fp_add_var_to_read_msg_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_fp_add_var_to_read_msg_timer);
     }
 } 
 
-ADIOST_EXTERN void my_fp_copy_buffer(int64_t file_descriptor,
-        adiost_event_type_t type) { 
+ADIOST_EXTERN void my_fp_copy_buffer(adiost_event_type_t type,
+    int64_t file_descriptor) {
     DEBUG_PRINT
     DEBUG_PRINT_FD
     if (type == adiost_event_enter) {
         __timer_start(adiost_fp_copy_buffer_timer);
-    } else {
+    } else if (type == adiost_event_exit) {
         __timer_stop(adiost_fp_copy_buffer_timer);
     }
 } 
@@ -343,6 +345,6 @@ ADIOST_EXTERN void default_adiost_initialize (adiost_function_lookup_t adiost_fn
 
 /* Weak function definitions, declarations */
 
-extern adiost_initialize_t adiost_tool(void) { return default_adiost_initialize; }
+extern adiost_initialize_t default_adiost_tool(void) { return default_adiost_initialize; }
 
 
diff --git a/src/core/bp_utils.c b/src/core/bp_utils.c
index 6c8f386..1ac8990 100644
--- a/src/core/bp_utils.c
+++ b/src/core/bp_utils.c
@@ -22,6 +22,13 @@
 #include "core/adios_endianness.h"
 #include "core/adios_logger.h"
 #include "core/futils.h"
+#include <limits.h> // ULLONG_MAX
+
+/* dimension value indicating a joined dimension for local arrays.
+ * = 18446744073709551614ULL
+ */
+const uint64_t JoinedDimValue = (ULLONG_MAX-1);
+
 #define BYTE_ALIGN 8
 #define MINIFOOTER_SIZE 28
 
@@ -1453,7 +1460,6 @@ int bp_parse_attrs (BP_FILE * fh)
     return 0;
 }
 
-static const uint64_t JOINEDDIM = 18446744073709551614ULL;
 static void process_joined_array(struct adios_index_var_struct_v1 *v)
 {
     if (v->characteristics[0].value)  // scalar
@@ -1465,7 +1471,7 @@ static void process_joined_array(struct adios_index_var_struct_v1 *v)
     int i, j;
     for (i = 0; i < ndim; i++)
     {
-        if (v->characteristics[0].dims.dims[i*3+1] == JOINEDDIM)
+        if (v->characteristics[0].dims.dims[i*3+1] == JoinedDimValue)
         {
             joindim = i;
             log_debug("Variable %s is a Joined Array in dimension %d\n", v->var_name, i);
@@ -1496,6 +1502,10 @@ static void process_joined_array(struct adios_index_var_struct_v1 *v)
             v->characteristics[i].dims.dims[joindim*3+2] = offset;
             offset += v->characteristics[i].dims.dims[joindim*3];
         }
+        // Update global dimensions of all characteristics for the last time_index now
+        for (j = startidx; j < i; ++j) {
+            v->characteristics[j].dims.dims[joindim*3+1] = offset;
+        }
     }
 }
 
diff --git a/src/core/common_adios.c b/src/core/common_adios.c
index 46510c1..7a0f4de 100644
--- a/src/core/common_adios.c
+++ b/src/core/common_adios.c
@@ -56,6 +56,7 @@ int common_adios_init(const char *config, MPI_Comm comm) {
   adiost_pre_init();
   adios_parse_config(config, comm);
   adiost_post_init();
+  ADIOST_CALLBACK(adiost_event_init, config, comm);
   return adios_errno;
 }
 
@@ -67,11 +68,13 @@ int common_adios_init_noxml(MPI_Comm comm) {
   adiost_pre_init();
   adios_local_config(comm);
   adiost_post_init();
+  ADIOST_CALLBACK(adiost_event_init_noxml, comm);
   return adios_errno;
 }
 
 ///////////////////////////////////////////////////////////////////////////////
 int common_adios_finalize(int mype) {
+  ADIOST_CALLBACK_ENTER(adiost_event_finalize, mype);
   struct adios_method_list_struct *m;
   struct adios_group_list_struct *g;
 
@@ -109,6 +112,7 @@ int common_adios_finalize(int mype) {
   timer_finalize();
 #endif
 
+  ADIOST_CALLBACK_EXIT(adiost_event_finalize, mype);
   adiost_finalize();
   return adios_errno;
 }
@@ -142,7 +146,7 @@ int common_adios_open(int64_t *fd_p, const char *group_name, const char *name,
   timer_start("adios_open_to_close");
   timer_start("adios_open");
 #endif
-  ADIOST_CALLBACK_ENTER(adiost_event_open, *fd_p, group_name, name, file_mode);
+  ADIOST_CALLBACK_ENTER(adiost_event_open, *fd_p, group_name, name, file_mode, comm);
 
   struct adios_group_struct *g = NULL;
   struct adios_method_list_struct *methods = NULL;
@@ -159,7 +163,7 @@ int common_adios_open(int64_t *fd_p, const char *group_name, const char *name,
                 "adios_open: try to open file %s with undefined group: %s\n",
                 name, group_name);
     *fd_p = 0;
-    ADIOST_CALLBACK_EXIT(adiost_event_open, *fd_p, group_name, name, file_mode);
+    ADIOST_CALLBACK_EXIT(adiost_event_open, *fd_p, group_name, name, file_mode, comm);
     return adios_errno;
   }
 
@@ -436,7 +440,7 @@ int common_adios_open(int64_t *fd_p, const char *group_name, const char *name,
 #if defined(WITH_NCSU_TIMER) && defined(TIMER_LEVEL) && (TIMER_LEVEL <= 0)
   timer_stop("adios_open");
 #endif
-  ADIOST_CALLBACK_EXIT(adiost_event_open, *fd_p, group_name, name, file_mode);
+  ADIOST_CALLBACK_EXIT(adiost_event_open, *fd_p, group_name, name, file_mode, comm);
   return adios_errno;
 }
 
@@ -448,7 +452,7 @@ int common_adios_group_size(int64_t fd_p, uint64_t data_size,
   timer_start("adios_group_size");
 #endif
   // printf("enter adios_group_size datasize= %llu\n", data_size);
-  ADIOST_CALLBACK_ENTER(adiost_event_group_size, fd_p, data_size, *total_size);
+  ADIOST_CALLBACK_ENTER(adiost_event_group_size, fd_p, data_size, total_size);
 
   adios_errno = err_no_error;
   struct adios_file_struct *fd;
@@ -457,7 +461,7 @@ int common_adios_group_size(int64_t fd_p, uint64_t data_size,
   if (!fd) {
     adios_error(err_invalid_file_pointer,
                 "Invalid handle passed to adios_group_size\n");
-    ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, *total_size);
+    ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, total_size);
     return adios_errno;
   }
 
@@ -467,13 +471,13 @@ int common_adios_group_size(int64_t fd_p, uint64_t data_size,
 #if defined(WITH_NCSU_TIMER) && defined(TIMER_LEVEL) && (TIMER_LEVEL <= 0)
     timer_stop("adios_group_size");
 #endif
-    ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, *total_size);
+    ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, total_size);
     return err_no_error;
   }
 
   if (fd->buffer_size == 0) {
     *total_size = 0;
-    ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, *total_size);
+    ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, total_size);
     return err_no_error;
   }
 
@@ -517,7 +521,7 @@ int common_adios_group_size(int64_t fd_p, uint64_t data_size,
   // each var will be added to the buffer by the adios_write calls
   // attributes will be added by adios_close
 
-  ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, *total_size);
+  ADIOST_CALLBACK_EXIT(adiost_event_group_size, fd_p, data_size, total_size);
   return adios_errno;
 }
 
@@ -616,7 +620,7 @@ int common_adios_write(struct adios_file_struct *fd, struct adios_var_struct *v,
 #if defined(WITH_NCSU_TIMER) && defined(TIMER_LEVEL) && (TIMER_LEVEL <= 0)
   timer_start("adios_write");
 #endif
-  ADIOST_CALLBACK_ENTER(adiost_event_write, fd);
+  ADIOST_CALLBACK_WRITE_ENTER(adiost_event_write, fd, v);
   adios_errno = err_no_error;
   struct adios_method_list_struct *m = fd->group->methods;
 
@@ -725,7 +729,7 @@ int common_adios_write(struct adios_file_struct *fd, struct adios_var_struct *v,
 #if defined(WITH_NCSU_TIMER) && defined(TIMER_LEVEL) && (TIMER_LEVEL <= 0)
     timer_start("adios_transform");
 #endif
-    ADIOST_CALLBACK_ENTER(adiost_event_transform, fd);
+    ADIOST_CALLBACK_ENTER(adiost_event_transform, (int64_t)fd);
     int success = common_adios_write_transform_helper(fd, v);
     if (success) {
       // Make it appear as if the user had supplied the transformed data
@@ -737,7 +741,7 @@ int common_adios_write(struct adios_file_struct *fd, struct adios_var_struct *v,
           adios_transform_plugin_primary_xml_alias(v->transform_type), v->name);
       // FIXME: Reverse the transform metadata and write raw data as usual
     }
-    ADIOST_CALLBACK_EXIT(adiost_event_transform, fd);
+    ADIOST_CALLBACK_EXIT(adiost_event_transform, (int64_t)fd);
 #if defined(WITH_NCSU_TIMER) && defined(TIMER_LEVEL) && (TIMER_LEVEL <= 0)
     timer_stop("adios_transform");
 #endif
@@ -784,7 +788,7 @@ int common_adios_write(struct adios_file_struct *fd, struct adios_var_struct *v,
 #if defined(WITH_NCSU_TIMER) && defined(TIMER_LEVEL) && (TIMER_LEVEL <= 0)
   timer_stop("adios_write");
 #endif
-  ADIOST_CALLBACK_EXIT(adiost_event_write, fd);
+  ADIOST_CALLBACK_WRITE_EXIT(adiost_event_write, fd, v);
   // printf ("var: %s written %d\n", v->name, v->write_count);
   return adios_errno;
 }
@@ -794,10 +798,10 @@ int common_adios_write_byid(struct adios_file_struct *fd,
                             struct adios_var_struct *v, const void *var) {
   struct adios_method_list_struct *m = fd->group->methods;
 
-  ADIOST_CALLBACK_ENTER(adiost_event_write, fd);
+  ADIOST_CALLBACK_WRITE_ENTER(adiost_event_write_byid, fd, v);
   adios_errno = err_no_error;
   if (m && m->next == NULL && m->method->m == ADIOS_METHOD_NULL) {
-    ADIOST_CALLBACK_EXIT(adiost_event_write, fd);
+    ADIOST_CALLBACK_WRITE_EXIT(adiost_event_write_byid, fd, v);
     return adios_errno;
   }
 
@@ -834,7 +838,7 @@ int common_adios_write_byid(struct adios_file_struct *fd,
               err_no_memory,
               "In adios_write, cannot allocate %lld bytes to copy scalar %s\n",
               element_size, v->name);
-          ADIOST_CALLBACK_EXIT(adiost_event_write, fd);
+          ADIOST_CALLBACK_WRITE_EXIT(adiost_event_write_byid, fd, v);
           return adios_errno;
         }
 
@@ -849,7 +853,7 @@ int common_adios_write_byid(struct adios_file_struct *fd,
               err_no_memory,
               "In adios_write, cannot allocate %lld bytes to copy string %s\n",
               element_size, v->name);
-          ADIOST_CALLBACK_EXIT(adiost_event_write, fd);
+          ADIOST_CALLBACK_WRITE_EXIT(adiost_event_write_byid, fd, v);
           return adios_errno;
         }
         ((char *)v->adata)[element_size] = 0;
@@ -873,7 +877,7 @@ int common_adios_write_byid(struct adios_file_struct *fd,
     adios_copy_var_written(fd, v);
   }
 
-  ADIOST_CALLBACK_EXIT(adiost_event_write, fd);
+  ADIOST_CALLBACK_WRITE_EXIT(adiost_event_write_byid, fd, v);
   return adios_errno;
 }
 
@@ -925,13 +929,13 @@ int common_adios_get_write_buffer(int64_t fd_p, const char *name,
 
 int common_adios_read(int64_t fd_p, const char *name, void *buffer,
                       uint64_t buffer_size) {
-  ADIOST_CALLBACK_ENTER(adiost_event_read, fd_p);
+  ADIOST_CALLBACK_ENTER(adiost_event_read, fd_p, name, buffer, buffer_size);
   struct adios_file_struct *fd = (struct adios_file_struct *)fd_p;
   adios_errno = err_no_error;
   if (!fd) {
     adios_error(err_invalid_file_pointer,
                 "Invalid handle passed to adios_group_size\n");
-    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p);
+    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p, name, buffer, buffer_size);
 
     return adios_errno;
   }
@@ -940,7 +944,7 @@ int common_adios_read(int64_t fd_p, const char *name, void *buffer,
 
   if (m && m->next == NULL && m->method->m == ADIOS_METHOD_NULL) {
     // nothing to do so just return
-    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p);
+    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p, name, buffer, buffer_size);
     return err_no_error;
   }
 
@@ -948,7 +952,7 @@ int common_adios_read(int64_t fd_p, const char *name, void *buffer,
     adios_error(err_invalid_file_mode,
                 "read attempted on %s which was opened for write\n", fd->name);
 
-    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p);
+    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p, name, buffer, buffer_size);
     return adios_errno;
   }
 
@@ -970,11 +974,11 @@ int common_adios_read(int64_t fd_p, const char *name, void *buffer,
     adios_error(err_invalid_varname, "var %s in file %s not found on read\n",
                 name, fd->name);
 
-    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p);
+    ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p, name, buffer, buffer_size);
     return adios_errno;
   }
 
-  ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p);
+  ADIOST_CALLBACK_EXIT(adiost_event_read, fd_p, name, buffer, buffer_size);
   return adios_errno;
 }
 
@@ -1129,12 +1133,12 @@ int common_adios_close(struct adios_file_struct *fd) {
 #endif
   adios_errno = err_no_error;
 
-  ADIOST_CALLBACK_ENTER(adiost_event_close, fd);
+  ADIOST_CALLBACK_ENTER(adiost_event_close, (int64_t)fd);
   if (!fd) {
     adios_error(err_invalid_file_pointer,
                 "Invalid handle passed to adios_close\n");
 
-    ADIOST_CALLBACK_EXIT(adiost_event_close, fd);
+    ADIOST_CALLBACK_EXIT(adiost_event_close, (int64_t)fd);
     return adios_errno;
   }
 
@@ -1145,7 +1149,7 @@ int common_adios_close(struct adios_file_struct *fd) {
     timer_stop("adios_close");
     timer_stop("adios_open_to_close");
 #endif
-    ADIOST_CALLBACK_EXIT(adiost_event_close, fd);
+    ADIOST_CALLBACK_EXIT(adiost_event_close, (int64_t)fd);
     return 0;
   }
 
@@ -1460,7 +1464,7 @@ fd->current_pg->pg_start_in_file=%lld\n",
 // timer_reset_timers ();
 #endif
 
-  ADIOST_CALLBACK_EXIT(adiost_event_close, fd);
+  ADIOST_CALLBACK_EXIT(adiost_event_close, (int64_t)fd);
   return adios_errno;
 }
 
diff --git a/src/core/common_read.c b/src/core/common_read.c
index 15daa38..27968ef 100644
--- a/src/core/common_read.c
+++ b/src/core/common_read.c
@@ -173,6 +173,8 @@ int common_read_init_method (enum ADIOS_READ_METHOD method,
     common_query_init(); 
 
     adiost_post_init();
+	// single event, no enter/exit
+    ADIOST_CALLBACK(adiost_event_read_init_method, method, comm, parameters);
     return retval;
 }
 
@@ -189,6 +191,8 @@ static int calc_hash_size(unsigned int nvars)
 
 int common_read_finalize_method(enum ADIOS_READ_METHOD method)
 {
+	// single event, no enter/exit
+    ADIOST_CALLBACK(adiost_event_read_finalize_method, method);
     adios_errno = err_no_error;
     int retval;
     if ((int)method < 0 || (int)method >= ADIOS_READ_METHOD_COUNT) {
@@ -383,12 +387,12 @@ ADIOS_FILE * common_read_open (const char * fname,
     struct common_read_internals_struct * internals; 
     long i;
 
-    ADIOST_CALLBACK_ENTER(adiost_event_open, fp, "", "", "");
+    ADIOST_CALLBACK_ENTER(adiost_event_read_open, method, comm, lock_mode, timeout_sec, fp);
 
     if ((int)method < 0 || (int)method >= ADIOS_READ_METHOD_COUNT) {
         adios_error (err_invalid_read_method,
             "Invalid read method (=%d) passed to adios_read_open().\n", (int)method);
-        ADIOST_CALLBACK_EXIT(adiost_event_open, fp, "", "", "");
+        ADIOST_CALLBACK_EXIT(adiost_event_read_open, method, comm, lock_mode, timeout_sec, fp);
         return NULL;
     }
 
@@ -404,7 +408,7 @@ ADIOS_FILE * common_read_open (const char * fname,
         adios_error (err_invalid_read_method, 
             "Read method (=%d) passed to adios_read_open() is not provided "
             "by this build of ADIOS.\n", (int)method);
-        ADIOST_CALLBACK_EXIT(adiost_event_open, fp, "", "", "");
+        ADIOST_CALLBACK_EXIT(adiost_event_read_open, method, comm, lock_mode, timeout_sec, fp);
         return NULL;
     }
 
@@ -419,7 +423,7 @@ ADIOS_FILE * common_read_open (const char * fname,
 
     fp = adios_read_hooks[internals->method].adios_read_open_fn (fname, comm, lock_mode, timeout_sec);
     if (!fp) {
-        ADIOST_CALLBACK_EXIT(adiost_event_open, fp, "", "", "");
+        ADIOST_CALLBACK_EXIT(adiost_event_read_open, method, comm, lock_mode, timeout_sec, fp);
         return fp;
     }
 
@@ -449,7 +453,7 @@ ADIOS_FILE * common_read_open (const char * fname,
 
     common_read_link (fp);
 
-    ADIOST_CALLBACK_EXIT(adiost_event_open, fp, "", "", "");
+    ADIOST_CALLBACK_EXIT(adiost_event_read_open, method, comm, lock_mode, timeout_sec, fp);
     return fp;
 }
 
@@ -462,9 +466,11 @@ ADIOS_FILE * common_read_open_file (const char * fname,
     struct common_read_internals_struct * internals; 
     long i;
 
+    ADIOST_CALLBACK_ENTER(adiost_event_read_open_file, fname, method, comm, fp);
     if ((int)method < 0 || (int)method >= ADIOS_READ_METHOD_COUNT) {
         adios_error (err_invalid_read_method,
             "Invalid read method (=%d) passed to adios_read_open_file().\n", (int)method);
+        ADIOST_CALLBACK_EXIT(adiost_event_read_open_file, fname, method, comm, fp);
         return NULL;
     }
 
@@ -489,12 +495,15 @@ ADIOS_FILE * common_read_open_file (const char * fname,
         adios_error (err_invalid_read_method, 
             "Read method (=%d) passed to adios_read_open_file() is not provided "
             "by this build of ADIOS.\n", (int)method);
+        ADIOST_CALLBACK_EXIT(adiost_event_read_open_file, fname, method, comm, fp);
         return NULL;
     }
 	
     fp = adios_read_hooks[internals->method].adios_read_open_file_fn (fname, comm);
-    if (!fp)
+    if (!fp) {
+        ADIOST_CALLBACK_EXIT(adiost_event_read_open_file, fname, method, comm, fp);
         return fp;
+    }
     
     fp->is_streaming = 0; // Mark file handle as not streaming
 
@@ -522,6 +531,7 @@ ADIOS_FILE * common_read_open_file (const char * fname,
 
     common_read_link (fp);
 
+    ADIOST_CALLBACK_EXIT(adiost_event_read_open_file, fname, method, comm, fp);
     return fp;
 }
 
@@ -540,7 +550,7 @@ int common_read_close (ADIOS_FILE *fp)
     struct common_read_internals_struct * internals;
     int retval;
 
-    ADIOST_CALLBACK_ENTER(adiost_event_close, fp);
+    ADIOST_CALLBACK_ENTER(adiost_event_close, (int64_t)fp);
 
     adios_errno = err_no_error;
     if (fp) {
@@ -580,7 +590,7 @@ int common_read_close (ADIOS_FILE *fp)
         retval = err_invalid_file_pointer;
     }
 
-    ADIOST_CALLBACK_EXIT(adiost_event_close, fp);
+    ADIOST_CALLBACK_EXIT(adiost_event_close, (int64_t)fp);
     return retval;
 }
 
@@ -641,7 +651,7 @@ int common_read_advance_step (ADIOS_FILE *fp, int last, float timeout_sec)
     int retval;
     long i;
     
-    ADIOST_CALLBACK_ENTER(adiost_event_advance_step, fp);
+    ADIOST_CALLBACK_ENTER(adiost_event_advance_step, fp, last, timeout_sec);
 
     adios_errno = err_no_error;
     if (fp) {
@@ -687,7 +697,7 @@ int common_read_advance_step (ADIOS_FILE *fp, int last, float timeout_sec)
         retval = err_invalid_file_pointer;
     }
 
-    ADIOST_CALLBACK_EXIT(adiost_event_advance_step, fp);
+    ADIOST_CALLBACK_EXIT(adiost_event_advance_step, fp, last, timeout_sec);
     return retval;
 }
 
@@ -695,6 +705,7 @@ int common_read_advance_step (ADIOS_FILE *fp, int last, float timeout_sec)
 void common_read_release_step (ADIOS_FILE *fp)
 {
     struct common_read_internals_struct * internals;
+    ADIOST_CALLBACK(adiost_event_release_step, (int64_t)fp);
 
     adios_errno = err_no_error;
     if (fp) {
@@ -793,6 +804,7 @@ static int common_read_find_attr (int n, char ** namelist, const char *name, int
 ADIOS_VARINFO * common_read_inq_var (const ADIOS_FILE *fp, const char * varname)
 {
     ADIOS_VARINFO * retval;
+    ADIOST_CALLBACK_ENTER(adiost_event_inq_var, fp, varname, retval);
 
     adios_errno = err_no_error;
     if (fp) {
@@ -806,6 +818,7 @@ ADIOS_VARINFO * common_read_inq_var (const ADIOS_FILE *fp, const char * varname)
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_inq_var()\n");
         retval = NULL;
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_inq_var, fp, varname, retval);
     return retval;
 }
 
@@ -839,12 +852,15 @@ ADIOS_VARINFO * common_read_inq_var_byid (const ADIOS_FILE *fp, int varid)
     struct common_read_internals_struct * internals;
 	ADIOS_VARINFO *vi;
     ADIOS_TRANSINFO *ti;
+    ADIOST_CALLBACK_ENTER(adiost_event_inq_var_byid, fp, varid, vi);
 
     internals = (struct common_read_internals_struct *)fp->internal_data;
 
     vi = common_read_inq_var_raw_byid(fp, varid);
-    if (vi == NULL)
+    if (vi == NULL) {
+        ADIOST_CALLBACK_EXIT(adiost_event_inq_var_byid, fp, varid, vi);
         return NULL;
+    }
 
     if (internals->data_view == LOGICAL_DATA_VIEW) { // Only translate the varinfo in logical view mode
     	// NCSU ALACRITY-ADIOS - translate between original and transformed metadata if necessary
@@ -855,6 +871,7 @@ ADIOS_VARINFO * common_read_inq_var_byid (const ADIOS_FILE *fp, int varid)
     	common_read_free_transinfo(vi, ti);
     }
 
+    ADIOST_CALLBACK_EXIT(adiost_event_inq_var_byid, fp, varid, vi);
     return vi;
 }
 
@@ -989,12 +1006,15 @@ int common_read_inq_trans_blockinfo(const ADIOS_FILE *fp, const ADIOS_VARINFO *v
 int common_read_inq_var_stat (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo,
                              int per_step_stat, int per_block_stat)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_inq_var_stat, fp, varinfo, per_step_stat, per_block_stat);
     if (!fp) {
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_inq_var_stat()\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_inq_var_stat, fp, varinfo, per_step_stat, per_block_stat);
         return adios_errno;
     }
     if (!varinfo) {
         adios_error (err_invalid_argument, "Null pointer passed as varinfo to adios_inq_var_stat()\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_inq_var_stat, fp, varinfo, per_step_stat, per_block_stat);
         return adios_errno;
     }
 
@@ -1008,6 +1028,7 @@ int common_read_inq_var_stat (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo,
     int retval = internals->read_hooks[internals->method].adios_inq_var_stat_fn (fp, varinfo, per_step_stat, per_block_stat);
     /* Translate back real varid to the group varid presented to the user */
     varinfo->varid = group_varid;
+    ADIOST_CALLBACK_EXIT(adiost_event_inq_var_stat, fp, varinfo, per_step_stat, per_block_stat);
     return retval;
 }
 
@@ -1015,12 +1036,15 @@ int common_read_inq_var_stat (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo,
 //   patch the original metadata in from the transform info
 int common_read_inq_var_blockinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_inq_var_blockinfo, fp, varinfo);
     if (!fp) {
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_inq_var_blockinfo()\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_inq_var_blockinfo, fp, varinfo);
         return adios_errno;
     }
     if (!varinfo) {
         adios_error (err_invalid_argument, "Null pointer passed as varinfo to adios_inq_var_blockinfo()\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_inq_var_blockinfo, fp, varinfo);
         return adios_errno;
     }
 
@@ -1038,6 +1062,7 @@ int common_read_inq_var_blockinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo
             varinfo->blockinfo = NULL;
         } else {
             // return without modification
+            ADIOST_CALLBACK_EXIT(adiost_event_inq_var_blockinfo, fp, varinfo);
             return retval;
         }
     }
@@ -1048,8 +1073,10 @@ int common_read_inq_var_blockinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo
         ti = common_read_inq_transinfo(fp, varinfo);
         if (ti && ti->transform_type != adios_transform_none) {
             retval = common_read_inq_trans_blockinfo(fp, varinfo, ti);
-            if (retval != err_no_error)
+            if (retval != err_no_error) {
+                ADIOST_CALLBACK_EXIT(adiost_event_inq_var_blockinfo, fp, varinfo);
                 return retval;
+			}
 
             patch_varinfo_with_transform_blockinfo(varinfo, ti);
         }
@@ -1063,6 +1090,7 @@ int common_read_inq_var_blockinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo
         retval = common_read_inq_var_blockinfo_raw(fp, varinfo);
     }
 
+    ADIOST_CALLBACK_EXIT(adiost_event_inq_var_blockinfo, fp, varinfo);
     return retval;
 }
 
@@ -1111,6 +1139,7 @@ static void common_read_free_blockinfo(ADIOS_VARBLOCK **varblock, int sum_nblock
 
 void common_read_free_varinfo (ADIOS_VARINFO *vp)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_free_varinfo, vp);
     if (vp) {
         common_read_free_blockinfo(&vp->blockinfo, vp->sum_nblocks);
 
@@ -1180,6 +1209,7 @@ void common_read_free_varinfo (ADIOS_VARINFO *vp)
         if (vp->attr_ids) MYFREE(vp->attr_ids);
         free(vp);
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_free_varinfo, vp);
 }
 
 // NCSU ALACRITY-ADIOS - Free transform info
@@ -1260,6 +1290,7 @@ int common_read_get_attr_mesh (const ADIOS_FILE * fp,
 
 int common_read_inq_var_meshinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_inq_var_meshinfo, fp, varinfo);
     enum ADIOS_DATATYPES attr_type;
     int  attr_size;
     int  read_fail = 0;
@@ -1281,6 +1312,7 @@ int common_read_inq_var_meshinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo)
 //                     "No matching mesh for var %s.\n", 
 //                     var_nme);
         varinfo->meshinfo = NULL;
+        ADIOST_CALLBACK_EXIT(adiost_event_inq_var_meshinfo, fp, varinfo);
         return 1;
     }
     else
@@ -1302,6 +1334,7 @@ int common_read_inq_var_meshinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo)
 //                         "Mesh %s for var %s is not stored in meshlist.\n", 
 //                         (char *)data, var_name);
             varinfo->meshinfo = NULL;
+            ADIOST_CALLBACK_EXIT(adiost_event_inq_var_meshinfo, fp, varinfo);
             return 1;
         }
     }
@@ -1340,6 +1373,7 @@ int common_read_inq_var_meshinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo)
                              "Centering info of var %s on mesh %s is required\n",
                              var_name, fp->mesh_namelist[varinfo->meshinfo->meshid]);
                 varinfo->meshinfo = NULL; 
+                ADIOST_CALLBACK_EXIT(adiost_event_inq_var_meshinfo, fp, varinfo);
                 return 1;
 //            }
 //        }
@@ -1360,10 +1394,12 @@ int common_read_inq_var_meshinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo)
                          "Centering method of var %s on mesh %s is not supported (point/cell).\n", 
                          var_name, fp->mesh_namelist[varinfo->meshinfo->meshid]);
             varinfo->meshinfo = NULL;
+            ADIOST_CALLBACK_EXIT(adiost_event_inq_var_meshinfo, fp, varinfo);
             return 1;
         }
     }
 
+    ADIOST_CALLBACK_EXIT(adiost_event_inq_var_meshinfo, fp, varinfo);
     return 0;
 }
 
@@ -1840,6 +1876,7 @@ int adios_get_uniform_mesh_attr (ADIOS_FILE * fp, ADIOS_MESH *meshinfo, char * a
 
 ADIOS_MESH * common_read_inq_mesh_byid (ADIOS_FILE *fp, int meshid)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_inq_mesh_byid, fp, meshid, NULL);
     enum ADIOS_DATATYPES attr_type;
     int attr_size;
     void * data = NULL;
@@ -1862,6 +1899,7 @@ ADIOS_MESH * common_read_inq_mesh_byid (ADIOS_FILE *fp, int meshid)
     {
         meshinfo->file_name = strdup((char *)data);
         // user has to open this file and call common_read_complete_meshinfo() again with both file pointers
+        ADIOST_CALLBACK_EXIT(adiost_event_inq_mesh_byid, fp, meshid, meshinfo);
         return meshinfo;
     }
 
@@ -1923,6 +1961,7 @@ ADIOS_MESH * common_read_inq_mesh_byid (ADIOS_FILE *fp, int meshid)
         // user has to open this file and call common_read_complete_meshinfo() again with both file pointers
     }
 #endif
+    ADIOST_CALLBACK_EXIT(adiost_event_inq_mesh_byid, fp, meshid, meshinfo);
     return meshinfo;
 }
 
@@ -2512,7 +2551,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                 ADIOS_VARINFO * v = common_read_inq_var(mp, mp->var_namelist[varid]); 
                 if (v->ndim == 0)                      //scalar
                 {
-                    adios_error (err_mesh_structured_invaid_dim_points,
+                    adios_error (err_mesh_structured_invalid_dim_points,
                                  "Strctured mesh %s points dimension is 0.\n", 
                                  meshinfo->name);
                     return adios_errno; 
@@ -2526,7 +2565,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                             dim_tmp *= meshinfo->structured->dimensions[j];
                         if (dim_tmp*meshinfo->structured->num_dimensions != v->dims[0])
                         {
-                            adios_error (err_mesh_structured_invaid_points,
+                            adios_error (err_mesh_structured_invalid_points,
                                          "Strctured mesh %s points dimension %"PRIu64" does not match mesh dimension %"PRIu64"\n", 
                                          meshinfo->name, v->dims[0], dim_tmp*meshinfo->structured->num_dimensions);
                             return adios_errno; 
@@ -2541,7 +2580,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                         {
                             if (meshinfo->structured->dimensions[j] != v->dims[j])
                             {
-                                adios_error (err_mesh_structured_invaid_points,
+                                adios_error (err_mesh_structured_invalid_points,
                                              "Strctured mesh %s dimension[%d]= %"PRIu64" does not match points dimension[%d]= %"PRIu64"\n",
                                              meshinfo->name, j, meshinfo->structured->dimensions[j], j, v->dims[j] );
                                 return adios_errno; 
@@ -2554,7 +2593,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
             }
             else
             {
-                adios_error (err_mesh_structured_invaid_points,
+                adios_error (err_mesh_structured_invalid_points,
                             "Strctured mesh %s points var name %s not found\n",
                             meshinfo->name, coords_tmp);
                 return adios_errno;
@@ -2574,7 +2613,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                 int points_dim = *(int *)data;
                 if (points_dim < meshinfo->structured->num_dimensions)
                 {
-                    adios_error (err_mesh_structured_invaid_dim_points,
+                    adios_error (err_mesh_structured_invalid_dim_points,
                                  "Strctured mesh %s provided points dim %d is less than dims of mesh %d!\n",
                                  meshinfo->name, points_dim, meshinfo->structured->num_dimensions);
                     return adios_errno; 
@@ -2631,7 +2670,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                                 dim_tmp *= meshinfo->structured->dimensions[m];
                             if (dim_tmp != v->dims[0])
                             {
-                                adios_error (err_mesh_structured_invaid_points,
+                                adios_error (err_mesh_structured_invalid_points,
                                              "Strctured mesh %s points dimension %"PRIu64" does not match mesh dimension %"PRIu64"\n", 
                                              meshinfo->name, v->dims[0], dim_tmp);
                                 return adios_errno; 
@@ -2647,7 +2686,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                             {
                                 if (meshinfo->structured->dimensions[m] != v->dims[m])
                                 {
-                                    adios_error (err_mesh_structured_invaid_points,
+                                    adios_error (err_mesh_structured_invalid_points,
                                                  "Strctured mesh %s dimension[%d]= %"PRIu64" does not match points dimension[%d]= %"PRIu64"\n",
                                                  meshinfo->name, m, meshinfo->structured->dimensions[m], m, v->dims[m] );
                                     return adios_errno; 
@@ -2751,10 +2790,11 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
             {
 //                ADIOS_VARINFO * v = common_read_inq_var(fp, fp->var_namelist[varid]);
                 ADIOS_VARINFO * v = common_read_inq_var(mp, mp->var_namelist[varid]);
-                if (v->ndim == 0)                      //scalar
+                if (v->ndim != 2)                      //scalar
                 {
-                    adios_error (err_mesh_unstructured_invaid_points,
-                                 "Unstructured mesh %s points dimension is 0.\n", 
+                    adios_error (err_mesh_unstructured_invalid_points,
+                                 "Unstructured mesh %s points dimension must always be 2 "
+                                 "(a table of points, each row of N coordinates of an N-dim point\n",
                                  meshinfo->name);
                     return adios_errno; 
                 }
@@ -2765,7 +2805,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                     int j = 0;
                     for (j=0; j<v->ndim; j++)
                         meshinfo->unstructured->npoints *= v->dims[j];         
-                    meshinfo->unstructured->npoints /= v->ndim;               //unstructured mesh npoints init
+                    meshinfo->unstructured->npoints = v->dims[0];
 //                    meshinfo->unstructured->points[0] = strdup (fp->var_namelist[varid]);
                     meshinfo->unstructured->points[0] = strdup (mp->var_namelist[varid]);
                 }
@@ -2773,7 +2813,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
             }
             else
             {
-                adios_error (err_mesh_unstructured_invaid_points,
+                adios_error (err_mesh_unstructured_invalid_points,
                              "Unstrctured mesh %s var %s for points-single-var is not found.\n", 
                              meshinfo->name, coords_tmp);
                 return adios_errno;
@@ -2805,7 +2845,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                         i_buffer = (char *) malloc (sizeof(char)+1);
                     else
                     {
-                        adios_error (err_mesh_unstructured_invaid_num_points,
+                        adios_error (err_mesh_unstructured_invalid_num_points,
                                      "Structured mesh %s has more than 10 points.\n", 
                                      meshinfo->name);
                         return adios_errno; 
@@ -2850,7 +2890,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                             {
                                 if (meshinfo->unstructured->npoints != v->dims[0])
                                 {
-                                    adios_error (err_mesh_unstructured_invaid_dim_points,
+                                    adios_error (err_mesh_unstructured_invalid_dim_points,
                                                  "Unstructured mesh %s points-multi-var%d %"PRIu64" does not match points-multi-var0 %"PRIu64".\n", 
                                                  meshinfo->name, i, v->dims[0], meshinfo->unstructured->npoints);
                                     return adios_errno; 
@@ -2868,7 +2908,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                                         var_dim_tmp *= v->dims[k];
                                     if (var_dim_tmp != meshinfo->unstructured->npoints)
                                     {
-                                        adios_error (err_mesh_unstructured_invaid_dim_points, 
+                                        adios_error (err_mesh_unstructured_invalid_dim_points, 
                                                      "Unstructured mesh %s points-multi-var%d %"PRIu64" does not match points-multi-var0 %"PRIu64".\n",
                                                      meshinfo->name, i, var_dim_tmp, meshinfo->unstructured->npoints);
                                         return adios_errno; 
@@ -2878,7 +2918,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                                 {
                                     if (v_first->ndim != v->ndim)
                                     {
-                                        adios_error (err_mesh_unstructured_invaid_dim_points,
+                                        adios_error (err_mesh_unstructured_invalid_dim_points,
                                                      "Unstructured mesh %s points-multi-var%d dim does not match points-multi-var0 dim.\n",
                                                      meshinfo->name, i);
                                         return adios_errno; 
@@ -2890,7 +2930,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
                                         {
                                             if (v->dims[k]!=v_first->dims[k])
                                             {
-                                                adios_error (err_mesh_unstructured_invaid_dim_points,
+                                                adios_error (err_mesh_unstructured_invalid_dim_points,
                                                              "Unstructured mesh %s points-multi-var%d dim%d does not match points-multi-var0 dim%d.\n",
                                                     meshinfo->name, i, k, k);
                                                 return adios_errno; 
@@ -3476,6 +3516,7 @@ void common_read_free_linkinfo (ADIOS_LINK * linkinfo)
 
 void common_read_free_meshinfo (ADIOS_MESH * meshinfo)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_free_meshinfo, meshinfo);
     if(meshinfo)
     {
         int i = 0;
@@ -3558,6 +3599,7 @@ void common_read_free_meshinfo (ADIOS_MESH * meshinfo)
         }
         free (meshinfo);
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_free_meshinfo, meshinfo);
 }
 
 int common_read_schedule_read (const ADIOS_FILE      * fp,
@@ -3569,6 +3611,7 @@ int common_read_schedule_read (const ADIOS_FILE      * fp,
                                void                  * data)
 
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_schedule_read, fp, sel, varname, from_steps, nsteps, param, data);
     int retval = 0;
 
     adios_errno = err_no_error;
@@ -3583,6 +3626,7 @@ int common_read_schedule_read (const ADIOS_FILE      * fp,
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_schedule_read()\n");
         retval = err_invalid_file_pointer;
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_schedule_read, fp, sel, varname, from_steps, nsteps, param, data);
     return retval;
 }
 
@@ -3597,6 +3641,7 @@ int common_read_schedule_read_byid (const ADIOS_FILE      * fp,
         void                  * data)
 
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_schedule_read_byid, fp, sel, varid, from_steps, nsteps, param, data);
     struct common_read_internals_struct * internals = (struct common_read_internals_struct *) fp->internal_data;
     int retval = 0; 
 
@@ -3669,6 +3714,7 @@ int common_read_schedule_read_byid (const ADIOS_FILE      * fp,
         retval = err_invalid_file_pointer;
     }
 
+    ADIOST_CALLBACK_EXIT(adiost_event_schedule_read_byid, fp, sel, varid, from_steps, nsteps, param, data);
     return retval;
 }
 
@@ -3679,7 +3725,7 @@ int common_read_perform_reads (const ADIOS_FILE *fp, int blocking)
     struct common_read_internals_struct * internals;
     int retval;
 
-    ADIOST_CALLBACK_ENTER(adiost_event_read, fp);
+    ADIOST_CALLBACK_ENTER(adiost_event_perform_reads, fp, blocking);
 
     adios_errno = err_no_error;
     if (fp) {
@@ -3699,12 +3745,13 @@ int common_read_perform_reads (const ADIOS_FILE *fp, int blocking)
         retval = err_invalid_file_pointer;
     }
 
-    ADIOST_CALLBACK_EXIT(adiost_event_read, fp);
+    ADIOST_CALLBACK_EXIT(adiost_event_perform_reads, fp, blocking);
     return retval;
 }
 
 int common_read_check_reads (const ADIOS_FILE * fp, ADIOS_VARCHUNK ** chunk)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_check_reads, fp, chunk);
     struct common_read_internals_struct * internals;
     int retval;
 
@@ -3736,11 +3783,13 @@ int common_read_check_reads (const ADIOS_FILE * fp, ADIOS_VARCHUNK ** chunk)
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_check_reads()\n");
         retval = err_invalid_file_pointer;
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_check_reads, fp, chunk);
     return retval;
 }
 
 void common_read_free_chunk (ADIOS_VARCHUNK *chunk)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_free_chunk, chunk);
     /** Free the memory of a chunk allocated inside adios_check_reads().
      * It only frees the ADIOS_VARCHUNK struct and the ADIOS_SELECTION struct
      * pointed by the chunk. The data pointer should never be freed since
@@ -3753,6 +3802,7 @@ void common_read_free_chunk (ADIOS_VARCHUNK *chunk)
         }
         free(chunk);
      }
+    ADIOST_CALLBACK_EXIT(adiost_event_free_chunk, chunk);
 }
 
 
@@ -3762,6 +3812,7 @@ int common_read_get_attr (const ADIOS_FILE * fp,
                           int * size,
                           void ** data)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_get_attr, fp, attrname, type, size, (const void**)data);
     int retval;
 
     adios_errno = err_no_error;
@@ -3776,6 +3827,7 @@ int common_read_get_attr (const ADIOS_FILE * fp,
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_read_get_attr()\n");
         retval = err_invalid_file_pointer;
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_get_attr, fp, attrname, type, size, (const void**)data);
     return retval;
 }
 
@@ -3786,6 +3838,7 @@ int common_read_get_attr_byid (const ADIOS_FILE * fp,
                                int * size,
                                void ** data)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_get_attr_byid, fp, attrid, type, size, (const void**)data);
     struct common_read_internals_struct * internals;
     int retval;
 
@@ -3804,6 +3857,7 @@ int common_read_get_attr_byid (const ADIOS_FILE * fp,
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_read_get_attr_byid()\n");
         retval = err_invalid_file_pointer;
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_get_attr_byid, fp, attrid, type, size, (const void**)data);
     return retval;
 }
 
@@ -3849,6 +3903,7 @@ int common_read_type_size(enum ADIOS_DATATYPES type, const void *data)
 
 int common_read_get_grouplist (const ADIOS_FILE  *fp, char ***group_namelist)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_get_grouplist, fp, (const char***)group_namelist);
     struct common_read_internals_struct * internals;
     int retval;
 
@@ -3861,6 +3916,7 @@ int common_read_get_grouplist (const ADIOS_FILE  *fp, char ***group_namelist)
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_get_grouplist()\n");
         retval = err_invalid_file_pointer;
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_get_grouplist, fp, (const char***)group_namelist);
     return retval;
 }
 
@@ -3871,6 +3927,7 @@ int common_read_get_grouplist (const ADIOS_FILE  *fp, char ***group_namelist)
  */
 int common_read_group_view (ADIOS_FILE  *fp, int groupid)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_group_view, fp, groupid);
     struct common_read_internals_struct * internals;
     int retval, i;
 
@@ -3918,6 +3975,7 @@ int common_read_group_view (ADIOS_FILE  *fp, int groupid)
         adios_error (err_invalid_file_pointer, "Null pointer passed as file to adios_group_view()\n");
         retval = err_invalid_file_pointer;
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_group_view, fp, groupid);
     return retval;
 }
 
diff --git a/src/core/flexpath.h b/src/core/flexpath.h
index c41dec3..5d48fd4 100644
--- a/src/core/flexpath.h
+++ b/src/core/flexpath.h
@@ -107,6 +107,8 @@ typedef struct _evgroup {
     int process_id;
     char *group_name;
     global_var* vars;
+    int bitfield_len;
+    uint64_t *write_bitfields;
 } evgroup, *evgroup_ptr;
 
  
@@ -192,6 +194,8 @@ static FMField evgroup_field_list[]=
     {"process_id", "integer", sizeof(int), FMOffset(evgroup_ptr, process_id)},
     {"group_name", "string", sizeof(char*), FMOffset(evgroup_ptr, group_name)},
     {"vars", "global_var[num_vars]", sizeof(global_var), FMOffset(evgroup_ptr, vars)},
+    {"bitfield_len", "integer", sizeof(int), FMOffset(evgroup_ptr, bitfield_len)},
+    {"write_bitfields", "integer[bitfield_len]", sizeof(uint64_t), FMOffset(evgroup_ptr, write_bitfields)},
     {NULL, NULL, 0, 0}
 };
 
diff --git a/src/mxml/Makefile.in b/src/mxml/Makefile.in
index 2ce3c95..9f9f0c7 100644
--- a/src/mxml/Makefile.in
+++ b/src/mxml/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,11 +89,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/mxml
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -119,6 +129,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -206,6 +217,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -245,6 +257,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -480,6 +496,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -537,7 +554,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/mxml/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu src/mxml/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -872,6 +888,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/src/public/adios_error.h b/src/public/adios_error.h
index 1d1b66e..5fb50a4 100644
--- a/src/public/adios_error.h
+++ b/src/public/adios_error.h
@@ -102,9 +102,9 @@ enum ADIOS_ERRCODES {
     err_no_matching_mesh_var                  = -147, // no mesh is associated to var
     err_mesh_missing                          = -148, // mesh is missing in meshlist
     err_mesh_name_attr_missing                = -149, // mesh attr is missing
-    err_mesh_unstructured_invaid_points       = -150, // points were invalid
-    err_mesh_unstructured_invaid_num_points   = -151, // number of points is invalid
-    err_mesh_unstructured_invaid_dim_points   = -152, // dim of points is invalid
+    err_mesh_unstructured_invalid_points       = -150, // points were invalid
+    err_mesh_unstructured_invalid_num_points   = -151, // number of points is invalid
+    err_mesh_unstructured_invalid_dim_points   = -152, // dim of points is invalid
     err_mesh_unstructured_missing_one_points  = -153, // one of the points is not defined
     err_mesh_unstructured_missing_points      = -154, // points are not defined
     err_mesh_unstructured_missing_ncsets      = -155, // ncsets was not defined 
@@ -141,8 +141,8 @@ enum ADIOS_ERRCODES {
     err_mesh_structured_missing_dims          = -191, // dimensions are not defined
     err_mesh_structured_missing_one_dim       = -192, // one of the dimensions is not defined
     err_mesh_structured_invalid_dim           = -193, // could not read the dim value
-    err_mesh_structured_invaid_dim_points     = -194, // # of points were invalid
-    err_mesh_structured_invaid_points         = -195, // points were invalid
+    err_mesh_structured_invalid_dim_points     = -194, // # of points were invalid
+    err_mesh_structured_invalid_points         = -195, // points were invalid
     err_mesh_structured_missing_one_points    = -196, // one of the points is not defined
     err_mesh_structured_missing_points        = -197, // points are not defined
     err_mesh_structured_invalid_num_points    = -198, // number of points is invalid
diff --git a/src/public/adios_version.h b/src/public/adios_version.h
index 37f29cf..5002b1e 100644
--- a/src/public/adios_version.h
+++ b/src/public/adios_version.h
@@ -9,9 +9,9 @@
 #define ADIOS_VERSION_H
 
 /* ADIOS Software release version */
-#define ADIOS_VERSION "1.12.0"
+#define ADIOS_VERSION "1.13.0"
 #define ADIOS_VERSION_MAJOR 1
-#define ADIOS_VERSION_MINOR 12
+#define ADIOS_VERSION_MINOR 13
 #define ADIOS_VERSION_PATCH 0
 
 /* macros for comparing the version */
@@ -27,7 +27,7 @@
 
 /* ADIOS Software release version as strings*/
 #define ADIOS_VERSION_MAJOR_STRING "1"
-#define ADIOS_VERSION_MINOR_STRING "12"
+#define ADIOS_VERSION_MINOR_STRING "13"
 #define ADIOS_VERSION_PATCH_STRING "0"
 
 /* BP File format version
diff --git a/src/public/adiost_callback_api.h b/src/public/adiost_callback_api.h
index 6a74466..488cc79 100644
--- a/src/public/adiost_callback_api.h
+++ b/src/public/adiost_callback_api.h
@@ -13,13 +13,19 @@
  ****************************************************************************/
 
 #include <stdint.h>
-#ifndef ADIOST_EXPORT 
-#define ADIOST_EXPORT 
-#endif
-#ifndef ADIOST_WEAK
-#define ADIOST_WEAK
+// we want our implementation of the tool to be weak, and exported.
+#define ADIOST_EXPORT __attribute__((visibility("default")))
+#if defined(__clang__)
+#define ADIOST_WEAK_PRE 
+#define ADIOST_WEAK_POST __attribute__((weak_import))
+#else
+#define ADIOST_WEAK_PRE __attribute__ (( weak )) 
+#define ADIOST_WEAK_POST 
 #endif
 
+#include "adios_types.h"
+#include "adios_read.h"
+
 /****************************************************************************
  * iteration macros - to be expanded by other macros in multiple places
  ****************************************************************************/
@@ -30,19 +36,78 @@
 
 /* For each event, specify the callback type and the enumeration value. */
 #define FOREACH_ADIOST_EVENT(macro) \
-macro(adiost_event_thread,                  adiost_thread_callback_t,      1) \
-macro(adiost_event_open,                    adiost_open_callback_t,        3) \
-macro(adiost_event_close,                   adiost_file_callback_t,        5) \
-macro(adiost_event_write,                   adiost_file_callback_t,        10) \
-macro(adiost_event_read,                    adiost_file_callback_t,        12) \
-macro(adiost_event_advance_step,            adiost_file_callback_t,        14) \
-macro(adiost_event_group_size,              adiost_group_size_callback_t,  51) \
-macro(adiost_event_transform,               adiost_file_callback_t,        52) \
-macro(adiost_event_fp_send_finalize_msg,    adiost_file_callback_t,       102) \
-macro(adiost_event_fp_send_read_msg,        adiost_file_callback_t,       105) \
-macro(adiost_event_fp_add_var_to_read_msg,  adiost_file_callback_t,       106) \
-macro(adiost_event_fp_copy_buffer,          adiost_file_callback_t,       205) \
-macro(adiost_event_library_shutdown,        adiost_callback_t,            999) \
+macro(adiost_event_thread,                 adiost_thread_callback_t,      1) \
+macro(adiost_event_init,                   adiost_init_callback_t,        2) \
+macro(adiost_event_open,                   adiost_open_callback_t,        3) \
+macro(adiost_event_close,                  adiost_file_callback_t,       5) \
+macro(adiost_event_finalize,               adiost_finalize_callback_t,    6) \
+macro(adiost_event_write,                  adiost_write_callback_t,       10) \
+macro(adiost_event_read,                   adiost_read_callback_t,        12) \
+macro(adiost_event_advance_step,           adiost_advance_step_callback_t,14) \
+macro(adiost_event_init_noxml,             adiost_init_noxml_callback_t,  20) \
+macro(adiost_event_set_max_buffer_size,    adiost_set_max_buffer_size_callback_t,  21) \
+macro(adiost_event_declare_group,          adiost_declare_group_callback_t,  22) \
+macro(adiost_event_define_var,             adiost_define_var_callback_t,  23) \
+macro(adiost_event_define_attribute,       adiost_define_attribute_callback_t,  24) \
+macro(adiost_event_define_attribute_byvalue, adiost_define_attribute_byvalue_callback_t,  25) \
+macro(adiost_event_set_transform,          adiost_set_transform_callback_t,  26) \
+macro(adiost_event_write_byid,             adiost_write_callback_t,  27) \
+macro(adiost_event_select_method,          adiost_select_method_callback_t,  28) \
+macro(adiost_event_expected_var_size,      adiost_expected_var_size_callback_t,  29) \
+macro(adiost_event_group_size,             adiost_group_size_callback_t,  51) \
+macro(adiost_event_transform,              adiost_file_callback_t,        52) \
+macro(adiost_event_define_schema_version,  adiost_define_schema_version_callback_t, 100) \
+macro(adiost_event_define_var_mesh,        adiost_define_var_mesh_callback_t, 101) \
+macro(adiost_event_define_var_centering,   adiost_define_var_centering_callback_t, 102) \
+macro(adiost_event_define_var_timesteps,   adiost_define_var_timesteps_callback_t, 103) \
+macro(adiost_event_define_var_timescale,   adiost_define_var_timescale_callback_t, 104) \
+macro(adiost_event_define_var_timeseriesformat, adiost_define_var_timeseriesformat_callback_t, 105) \
+macro(adiost_event_define_var_hyperslab,   adiost_define_var_hyperslab_callback_t, 106) \
+macro(adiost_event_define_mesh_timevarying, adiost_define_mesh_timevarying_callback_t, 107) \
+macro(adiost_event_define_mesh_timesteps,  adiost_define_mesh_timesteps_callback_t, 108) \
+macro(adiost_event_define_mesh_timescale,  adiost_define_mesh_timescale_callback_t, 109) \
+macro(adiost_event_define_mesh_timeseriesformat,  adiost_define_mesh_timeseriesformat_callback_t, 110) \
+macro(adiost_event_define_mesh_group,      adiost_define_mesh_group_callback_t, 111) \
+macro(adiost_event_define_mesh_file,       adiost_define_mesh_file_callback_t, 112) \
+macro(adiost_event_define_mesh_uniform,    adiost_define_mesh_uniform_callback_t, 113) \
+macro(adiost_event_define_mesh_rectilinear, adiost_define_mesh_rectilinear_callback_t, 114) \
+macro(adiost_event_define_mesh_structured, adiost_define_mesh_structured_callback_t, 115) \
+macro(adiost_event_define_mesh_unstructured, adiost_define_mesh_unstructured_callback_t, 116) \
+macro(adiost_event_fp_send_finalize_msg,   adiost_file_callback_t,       200) \
+macro(adiost_event_fp_send_read_msg,       adiost_file_callback_t,       201) \
+macro(adiost_event_fp_add_var_to_read_msg, adiost_file_callback_t,       202) \
+macro(adiost_event_fp_copy_buffer,         adiost_file_callback_t,       203) \
+macro(adiost_event_read_init_method,       adiost_read_init_method_callback_t, 300) \
+macro(adiost_event_read_finalize_method,   adiost_read_finalize_method_callback_t, 301) \
+macro(adiost_event_read_open,              adiost_read_open_callback_t, 302) \
+macro(adiost_event_read_open_file,         adiost_read_open_file_callback_t, 303) \
+macro(adiost_event_release_step,           adiost_file_callback_t, 304) \
+macro(adiost_event_inq_var,                adiost_inq_var_callback_t, 305) \
+macro(adiost_event_inq_var_byid,           adiost_inq_var_byid_callback_t, 306) \
+macro(adiost_event_free_varinfo,           adiost_free_varinfo_callback_t, 307) \
+macro(adiost_event_inq_var_stat,           adiost_inq_var_stat_callback_t, 308) \
+macro(adiost_event_inq_var_blockinfo,      adiost_inq_var_blockinfo_callback_t, 309) \
+macro(adiost_event_selection_boundingbox,  adiost_selection_boundingbox_callback_t, 310) \
+macro(adiost_event_selection_points,       adiost_selection_points_callback_t, 311) \
+macro(adiost_event_selection_writeblock,   adiost_selection_writeblock_callback_t, 312) \
+macro(adiost_event_selection_auto,         adiost_selection_auto_callback_t, 313) \
+macro(adiost_event_selection_delete,       adiost_selection_delete_callback_t, 314) \
+macro(adiost_event_schedule_read,          adiost_schedule_read_callback_t, 315) \
+macro(adiost_event_schedule_read_byid,     adiost_schedule_read_byid_callback_t, 316) \
+macro(adiost_event_perform_reads,          adiost_perform_reads_callback_t, 317) \
+macro(adiost_event_check_reads,            adiost_check_reads_callback_t, 318) \
+macro(adiost_event_free_chunk,             adiost_free_chunk_callback_t, 319) \
+macro(adiost_event_get_attr,               adiost_get_attr_callback_t, 320) \
+macro(adiost_event_get_attr_byid,          adiost_get_attr_byid_callback_t, 321) \
+macro(adiost_event_type_to_string,         adiost_type_to_string_callback_t, 322) \
+macro(adiost_event_type_size,              adiost_type_size_callback_t, 323) \
+macro(adiost_event_get_grouplist,          adiost_get_grouplist_callback_t, 324) \
+macro(adiost_event_group_view,             adiost_group_view_callback_t, 325) \
+macro(adiost_event_stat_cov,               adiost_stat_cov_callback_t, 326) \
+macro(adiost_event_inq_mesh_byid,          adiost_inq_mesh_byid_callback_t, 328) \
+macro(adiost_event_free_meshinfo,          adiost_free_meshinfo_callback_t, 329) \
+macro(adiost_event_inq_var_meshinfo,       adiost_inq_var_meshinfo_callback_t, 330) \
+macro(adiost_event_library_shutdown,       adiost_callback_t,            999) \
 
 #endif // #ifdef __ADIOST_CALLBACK_API_H__
 
@@ -79,36 +144,514 @@ typedef adiost_interface_fn_t (*adiost_function_lookup_t)(
 
 /* Events: adios_thread */
 typedef void (*adiost_thread_callback_t)(
-    int64_t file_descriptor,
     adiost_event_type_t type,
+    const ADIOS_FILE * file_descriptor,
     const char * thread_name
 );
 
+typedef void (*adiost_init_callback_t)(
+    adiost_event_type_t type,
+	const char * xml_fname,
+	MPI_Comm comm
+);
+
+typedef void (*adiost_finalize_callback_t)(
+    adiost_event_type_t type,
+	int proc_id
+);
+
 /* Events: adios_open */
 typedef void (*adiost_open_callback_t)(
-    int64_t file_descriptor,
     adiost_event_type_t type,
+    int64_t file_descriptor,
     const char * group_name,
     const char * file_name,
-    const char * mode
+    const char * mode,
+	MPI_Comm comm
 );
 
 /* Events: adios_close, adios_read_begin...adios_write_end */
 typedef void (*adiost_file_callback_t)(
+    adiost_event_type_t type,
+    int64_t file_descriptor);
+
+/* Events: adios_write */
+typedef void (*adiost_write_callback_t)(
+    adiost_event_type_t type,
     int64_t file_descriptor, 
-    adiost_event_type_t type);
+    const char * name, 
+    enum ADIOS_DATATYPES data_type, 
+    const int ndims, 
+    const char * dims, 
+    const void * value);
+
+typedef void (*adiost_read_callback_t)(
+    adiost_event_type_t type,
+    int64_t file_descriptor,
+	const char * name,
+	const void * buffer,
+	uint64_t buffer_size
+);
 
 /* Events: adios_group_size */
 typedef void (*adiost_group_size_callback_t)(
-    int64_t file_descriptor,
     adiost_event_type_t type,
+    int64_t file_descriptor,
     uint64_t data_size,
-    uint64_t total_size
+    const uint64_t * total_size
 );
 
 /* Events: adiost_event_library_shutdown */
 typedef void (*adiost_callback_t)(void);
 
+/* ----------- No-XML Write API ------------- */
+
+typedef void (*adiost_init_noxml_callback_t)(
+    adiost_event_type_t type,
+    MPI_Comm comm
+);
+
+typedef void (*adiost_set_max_buffer_size_callback_t)(
+    adiost_event_type_t type,
+    uint64_t buffer_size
+);
+
+typedef void (*adiost_declare_group_callback_t)(
+    adiost_event_type_t type,
+    const int64_t * id,
+	const char * name,
+	const char  *time_index,
+	enum ADIOS_STATISTICS_FLAG stats
+);
+
+typedef void (*adiost_define_var_callback_t)(
+    adiost_event_type_t type,
+    int64_t group_id,
+	const char * name,
+	const char * path,
+	enum ADIOS_DATATYPES data_type,
+	const char * dimensions,
+	const char * global_dimensions,
+	const char * local_offsets
+);
+
+typedef void (*adiost_set_transform_callback_t)(
+    adiost_event_type_t type,
+    int64_t var_id,
+	const char * transform_type_str
+);
+
+typedef void (*adiost_define_attribute_callback_t)(
+    adiost_event_type_t type,
+	int64_t group,
+	const char * name,
+	const char * path,
+	enum ADIOS_DATATYPES data_type,
+	const char * value,
+	const char * var
+);
+
+typedef void (*adiost_define_attribute_byvalue_callback_t)(
+    adiost_event_type_t type,
+	int64_t group,
+	const char * name,
+	const char * path,
+	enum ADIOS_DATATYPES data_type,
+	int nelems,
+	const char * values
+);
+
+typedef void (*adiost_select_method_callback_t)(
+    adiost_event_type_t type,
+	int64_t group,
+	const char * method,
+	const char * parameters,
+	const char * base_path
+);
+
+typedef void (*adiost_expected_var_size_callback_t)(
+    adiost_event_type_t type,
+	int64_t var_id
+);
+
+/* ----------- No-XML Write API for viz ------------- */
+
+typedef void (*adiost_define_schema_version_callback_t)(
+    adiost_event_type_t type,
+	int64_t group_id,
+	const char * schema_version
+);
+
+typedef void (*adiost_define_var_mesh_callback_t)(
+    adiost_event_type_t type,
+	int64_t group_id,
+	const char * varname,
+	const char * meshname
+);
+
+typedef void (*adiost_define_var_centering_callback_t)(
+    adiost_event_type_t type,
+	int64_t group_id,
+	const char * varname,
+	const char * centering
+);
+
+typedef void (*adiost_define_var_timesteps_callback_t)(
+    adiost_event_type_t type,
+	const char * timesteps,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_var_timescale_callback_t)(
+    adiost_event_type_t type,
+	const char * timescale,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_var_timeseriesformat_callback_t)(
+    adiost_event_type_t type,
+	const char * timeseries,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_var_hyperslab_callback_t)(
+    adiost_event_type_t type,
+	const char * hyperslab,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_timevarying_callback_t)(
+    adiost_event_type_t type,
+	const char * timevarying,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_timesteps_callback_t)(
+    adiost_event_type_t type,
+	const char * timesteps,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_timescale_callback_t)(
+    adiost_event_type_t type,
+	const char * timescale,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_timeseriesformat_callback_t)(
+    adiost_event_type_t type,
+	const char * timesseries,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_group_callback_t)(
+    adiost_event_type_t type,
+	const char * group,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_file_callback_t)(
+    adiost_event_type_t type,
+	int64_t group_id,
+	const char * name,
+	const char * file
+);
+
+typedef void (*adiost_define_mesh_uniform_callback_t)(
+    adiost_event_type_t type,
+	const char * dimensions,
+	const char * origin,
+	const char * spacing,
+	const char * maximum,
+	const char * nspace,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_rectilinear_callback_t)(
+    adiost_event_type_t type,
+	const char * dimensions,
+	const char * coordinates,
+	const char * nspace,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_structured_callback_t)(
+    adiost_event_type_t type,
+	const char * dimensions,
+	const char * points,
+	const char * nspace,
+	int64_t group_id,
+	const char * name
+);
+
+typedef void (*adiost_define_mesh_unstructured_callback_t)(
+    adiost_event_type_t type,
+	const char * points,
+	const char * data,
+	const char * count,
+	const char * cell_type,
+	const char * npoints,
+	const char * nspace,
+	int64_t group_id,
+	const char * name
+);
+
+/* ----------- Read API ------------- */
+
+/* Events: adios_read_init_method */
+typedef void (*adiost_read_init_method_callback_t)(
+    adiost_event_type_t type,
+    enum ADIOS_READ_METHOD method, 
+    MPI_Comm comm, 
+    const char * parameters
+);
+
+/* Events: adios_read_finalize_method */
+typedef void (*adiost_read_finalize_method_callback_t)(
+    adiost_event_type_t type,
+    enum ADIOS_READ_METHOD method 
+);
+
+/* Events: adios_read_open */
+typedef void (*adiost_read_open_callback_t)(
+    adiost_event_type_t type,
+    enum ADIOS_READ_METHOD method, 
+    MPI_Comm comm, 
+	enum ADIOS_LOCKMODE lock_mode,
+    float timeout_sec,
+	const ADIOS_FILE * file_descriptor
+);
+
+/* Events: adios_read_open_file */
+typedef void (*adiost_read_open_file_callback_t)(
+    adiost_event_type_t type,
+    const char * fname,
+    enum ADIOS_READ_METHOD method, 
+    MPI_Comm comm,
+	const ADIOS_FILE * file_descriptor
+);
+
+/* Events: adios_advance_step */
+typedef void (*adiost_advance_step_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+    int last,
+    float timeout_sec
+);
+
+/* Events: adios_read_inq_var */
+typedef void (*adiost_inq_var_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+    const char * varname,
+	ADIOS_VARINFO * varinfo
+);
+
+/* Events: adios_read_inq_var_byid */
+typedef void (*adiost_inq_var_byid_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+    int varid,
+	const ADIOS_VARINFO * varinfo
+);
+
+/* Events: adios_read_free_varinfo */
+typedef void (*adiost_free_varinfo_callback_t)(
+    adiost_event_type_t type,
+	const ADIOS_VARINFO * varinfo
+);
+
+/* Events: adios_read_inq_var_stat */
+typedef void (*adiost_inq_var_stat_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	const ADIOS_VARINFO * varinfo,
+	int per_prep_stat,
+	int per_block_stat
+);
+
+/* Events: adios_read_inq_var_blockinfo */
+typedef void (*adiost_inq_var_blockinfo_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	const ADIOS_VARINFO * varinfo
+);
+
+/* Events: adios_read_selection_boundingbox */
+typedef void (*adiost_selection_boundingbox_callback_t)(
+    adiost_event_type_t type,
+    uint64_t ndim,
+    const uint64_t *start,
+    const uint64_t *count,
+	const ADIOS_SELECTION * selection
+);
+
+/* Events: */
+typedef void (*adiost_selection_points_callback_t)(
+    adiost_event_type_t type,
+    uint64_t ndim,
+    uint64_t npoints,
+    const uint64_t *points,
+	const ADIOS_SELECTION * container,
+	int free_points_on_delete,
+	const ADIOS_SELECTION * selection
+);
+
+/* Events: */
+typedef void (*adiost_selection_writeblock_callback_t)(
+    adiost_event_type_t type,
+    int index,
+	const ADIOS_SELECTION * selection
+);
+
+/* Events: */
+typedef void (*adiost_selection_auto_callback_t)(
+    adiost_event_type_t type,
+    char * hints,
+	const ADIOS_SELECTION * selection
+);
+
+/* Events: */
+typedef void (*adiost_selection_delete_callback_t)(
+    adiost_event_type_t type,
+	const ADIOS_SELECTION * selection
+);
+
+/* Events: */
+typedef void (*adiost_schedule_read_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	const ADIOS_SELECTION * selection,
+	const char * varname,
+	int from_steps,
+	int nsteps,
+	const char * param,
+	void * data
+);
+
+/* Events: */
+typedef void (*adiost_schedule_read_byid_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	const ADIOS_SELECTION * selection,
+	int varid,
+	int from_steps,
+	int nsteps,
+	const char * param,
+	const void * data
+);
+
+/* Events: */
+typedef void (*adiost_perform_reads_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	int blocking
+);
+
+/* Events: */
+typedef void (*adiost_check_reads_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	ADIOS_VARCHUNK **chunk
+);
+
+/* Events: */
+typedef void (*adiost_free_chunk_callback_t)(
+    adiost_event_type_t type,
+	ADIOS_VARCHUNK *chunk
+);
+
+/* Events: */
+typedef void (*adiost_get_attr_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	const char * attrname,
+	enum ADIOS_DATATYPES * datatypes,
+    const int * size,
+	const void **data
+);
+
+/* Events: */
+typedef void (*adiost_get_attr_byid_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	int attrid,
+	enum ADIOS_DATATYPES * datatypes,
+    const int * size,
+	const void **data
+);
+
+/* Events: */
+typedef void (*adiost_type_to_string_callback_t)(
+    adiost_event_type_t type,
+    const char * name
+);
+
+/* Events: */
+typedef void (*adiost_type_size_callback_t)(
+    adiost_event_type_t type,
+    const void * dadta,
+	int size
+);
+
+/* Events: */
+typedef void (*adiost_get_grouplist_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	const char ***group_namelist
+);
+
+/* Events: */
+typedef void (*adiost_group_view_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	int groupid
+);
+
+/* Events: */
+typedef void (*adiost_stat_cov_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_VARINFO * vix,
+	const ADIOS_VARINFO * viy,
+	const char * characteristic,
+	uint32_t time_start,
+	uint32_t time_end,
+	uint32_t lag,
+	double correlation
+);
+
+/* Events: */
+typedef void (*adiost_inq_mesh_byid_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	int meshid,
+	const ADIOS_MESH * mesh
+);
+
+/* Events: */
+typedef void (*adiost_free_meshinfo_callback_t)(
+    adiost_event_type_t type,
+	const ADIOS_MESH * mesh
+);
+
+/* Events: */
+typedef void (*adiost_inq_var_meshinfo_callback_t)(
+    adiost_event_type_t type,
+    const ADIOS_FILE *fp,
+	const ADIOS_VARINFO * varinfo
+);
+
 /****************************************************************************
  * ADIOST API
  ****************************************************************************/
@@ -133,7 +676,7 @@ ADIOST_API_FUNCTION(void, adiost_initialize, (
 ));
 
 /* initialization interface - to be defined by tool */
-ADIOST_EXPORT adiost_initialize_t ADIOST_WEAK adiost_tool(void);
+ADIOST_EXPORT ADIOST_WEAK_PRE adiost_initialize_t adiost_tool(void) ADIOST_WEAK_POST;
 
 /* Registering a callback function */
 ADIOST_API_FUNCTION(int, adiost_set_callback, (
diff --git a/src/read/read_bp.c b/src/read/read_bp.c
index 3cde677..e3c9a42 100644
--- a/src/read/read_bp.c
+++ b/src/read/read_bp.c
@@ -4299,6 +4299,7 @@ static ADIOS_VARCHUNK * read_var_wb (const ADIOS_FILE * fp, read_request * r)
 // NCSU - Timer series analysis, correlation
 double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characteristic, uint32_t time_start, uint32_t time_end, uint32_t lag)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
     int i,j;
 
     double avg_x = 0.0, avg_y = 0.0, avg_lag = 0.0;
@@ -4308,6 +4309,7 @@ double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
     if (vix == NULL)
     {
         fprintf(stderr, "Variable not defined\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
         return 0;
     }
 
@@ -4315,6 +4317,7 @@ double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
     if ((vix->timedim < 0) && (viy->timedim < 0))
     {
         fprintf(stderr, "Covariance must involve timeseries data\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
         return 0;
     }
 
@@ -4326,6 +4329,7 @@ double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
     { //global covariance
         if(viy == NULL) {
             fprintf(stderr, "Must have two variables for global covariance\n");
+            ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
             return 0;
         }
 
@@ -4344,6 +4348,7 @@ double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
             if(! (time_end+lag) > min)
             {
                 fprintf(stderr, "Must leave enough timesteps for lag\n");
+                ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
                 return 0;
             }
 
@@ -4418,8 +4423,10 @@ double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
             else
             {
                 fprintf (stderr, "Unknown characteristic\n");
+                ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
                 return 0;
             }
+            ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
             return cov / (sqrt (var_x) * sqrt (var_lag));
         }
         else
@@ -4491,14 +4498,17 @@ double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
             else
             {
                 fprintf (stderr, "Unknown characteristic\n");
+                ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
                 return 0;
             }
+            ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
             return cov / (sqrt (var_x) * sqrt (var_y));
         }
     }
     else
     {
         fprintf (stderr, "Time values out of bounds\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
         return 0;
     }
 }
@@ -4507,6 +4517,7 @@ double adios_stat_cor (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
 //covariance(x,y) = sum(i=1,..N) [(x_1 - x_mean)(y_i - y_mean)]/N
 double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characteristic, uint32_t time_start, uint32_t time_end, uint32_t lag)
 {
+    ADIOST_CALLBACK_ENTER(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
     int i,j;
 
     double avg_x = 0.0, avg_y = 0.0, avg_lag = 0.0;
@@ -4515,6 +4526,7 @@ double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
     if (vix == NULL)
     {
         fprintf(stderr, "Variable not defined\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
         return 0;
     }
 
@@ -4522,6 +4534,7 @@ double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
     if ((vix->timedim < 0) && (viy->timedim < 0))
     {
         fprintf(stderr, "Covariance must involve timeseries data\n");
+        ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
         return 0;
     }
 
@@ -4533,6 +4546,7 @@ double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
     { //global covariance
         if(viy == NULL) {
             fprintf(stderr, "Must have two variables for global covariance\n");
+            ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
             return 0;
         }
 
@@ -4551,6 +4565,7 @@ double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
             if(! (time_end+lag) > min)
             {
                 fprintf(stderr, "Must leave enough timesteps for lag\n");
+                ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
                 return 0;
             }
 
@@ -4601,6 +4616,7 @@ double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
             else
             {
                 fprintf (stderr, "Unknown characteristic\n");
+                ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
                 return 0;
             }
         }
@@ -4657,6 +4673,7 @@ double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
             else
             {
                 fprintf (stderr, "Unknown characteristic\n");
+                ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
                 return 0;
             }
         }
@@ -4665,6 +4682,7 @@ double adios_stat_cov (ADIOS_VARINFO * vix, ADIOS_VARINFO * viy, char * characte
     {
         fprintf (stderr, "Time values out of bounds\n");
     }
+    ADIOST_CALLBACK_EXIT(adiost_event_stat_cov, vix, viy, characteristic, time_start, time_end, lag);
     return cov;
 }
 #endif
diff --git a/src/read/read_flexpath.c b/src/read/read_flexpath.c
index ce921dd..d9cac5a 100644
--- a/src/read/read_flexpath.c
+++ b/src/read/read_flexpath.c
@@ -15,6 +15,7 @@
 #include <pthread.h>
 #include <unistd.h>
 #include <stdlib.h>
+#include <inttypes.h>
 
 // evpath libraries
 #include <ffs.h>
@@ -187,6 +188,7 @@ typedef struct _local_read_data
 
     // EVPath stuff
     CManager cm;
+    int open_file_count;
 } flexpath_read_data;
 
 flexpath_read_data* fp_read_data = NULL;
@@ -403,6 +405,8 @@ static void dump_timestep_separated_lists(flexpath_reader_file *fp)
     }
 }
 
+static void set_nvars_and_nattrs(ADIOS_FILE *adiosfile);
+
 static timestep_separated_lists *
 flexpath_get_curr_timestep_list(flexpath_reader_file *fp)
 {
@@ -582,12 +586,12 @@ flexpath_var_free(flexpath_var * tmpvars)
 	for (i=0; i<tmpvars->num_chunks; i++) {
 	    flexpath_var_chunk *chunk = &tmpvars->chunks[i];
 	    if (chunk->has_data) {
-		//free(chunk->data);
+		if (chunk->data) free(chunk->data);
 		chunk->data = NULL;
 		chunk->has_data = 0;
 	    }
 	}
-	
+	free(tmpvars->chunks);
 
 
         flexpath_var * tmp = tmpvars->next;
@@ -799,6 +803,12 @@ enum ADIOS_DATATYPES ffs_type_to_adios_type(const char *ffs_type, int size)
         if (size == sizeof(int)) {
             free(free_pointer);
             return adios_integer;
+        } else if (size == sizeof(short)) {
+            free(free_pointer);
+            return adios_short;
+        } else if (size == sizeof(char)) {
+            free(free_pointer);
+            return adios_byte;
         } else if (size == sizeof(long)) {
             free(free_pointer);
             return adios_long;
@@ -810,6 +820,12 @@ enum ADIOS_DATATYPES ffs_type_to_adios_type(const char *ffs_type, int size)
         } else if (size == sizeof(unsigned long)) {
             free(free_pointer);
             return adios_unsigned_long;
+        } else if (size == sizeof(unsigned short)) {
+            free(free_pointer);
+            return adios_unsigned_short;
+        } else if (size == sizeof(unsigned char)) {
+            free(free_pointer);
+            return adios_unsigned_byte;
         }
     } else if (!strcmp("float", filtered_type)) {
         free(free_pointer);
@@ -884,6 +900,7 @@ ADIOS_VARINFO *convert_var_info(flexpath_var *fpvar, ADIOS_VARINFO *v,
             memcpy(v->dims, fpvar->global_dims, cpysize);
         } else {
             v->global = 0;
+	    memcpy(v->dims, fpvar->local_dims, cpysize);
         }
     }
     return v;
@@ -947,10 +964,11 @@ find_displacement(array_displacements *list, int rank, int num_displ)
 array_displacements*
 get_writer_displacements(
     int writer_rank,
-    const ADIOS_SELECTION * sel,
+    flexpath_var *fpvar,
     global_var* gvar,
     uint64_t *size)
 {
+    ADIOS_SELECTION *sel = fpvar->sel;
     int ndims = sel->u.bb.ndim;
     //where do I free these?
     array_displacements *displ = malloc(sizeof(array_displacements));
@@ -962,31 +980,43 @@ get_writer_displacements(
     memset(displ->count, 0, sizeof(uint64_t) * ndims);
 
     displ->ndims = ndims;
-    uint64_t *offsets = gvar->offsets[0].local_offsets;
-    uint64_t *local_dims = gvar->offsets[0].local_dimensions;
-    uint64_t pos = writer_rank * gvar->offsets[0].offsets_per_rank;
+    uint64_t *offsets;
+    uint64_t *local_dims;
+    uint64_t pos;
 
     int i;
     int _size = 1;
-    for (i=0; i<ndims; i++) {
-	if (sel->u.bb.start[i] >= offsets[pos+i]) {
-	    int start = sel->u.bb.start[i] - offsets[pos+i];
-	    displ->start[i] = start;
-	}
-
+    if (gvar) {
+	offsets = gvar->offsets[0].local_offsets;
+	local_dims = gvar->offsets[0].local_dimensions;
+	pos = writer_rank * gvar->offsets[0].offsets_per_rank;
+	for (i=0; i<ndims; i++) {
+	    if (sel->u.bb.start[i] >= offsets[pos+i]) {
+		int start = sel->u.bb.start[i] - offsets[pos+i];
+		displ->start[i] = start;
+	    }
+	    
 
-	if ((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) <=
-	   (offsets[pos+i] + local_dims[pos+i] - 1)) {
-	    int count = ((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) -
-			 offsets[pos+i]) - displ->start[i] + 1;
-	    displ->count[i] = count;
-	} else {
-	    int count = (local_dims[pos+i] - 1) - displ->start[i] + 1;
-	    displ->count[i] = count;
-	}
+	    if ((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) <=
+		(offsets[pos+i] + local_dims[pos+i] - 1)) {
+		int count = ((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) -
+			     offsets[pos+i]) - displ->start[i] + 1;
+		displ->count[i] = count;
+	    } else {
+		int count = (local_dims[pos+i] - 1) - displ->start[i] + 1;
+		displ->count[i] = count;
+	    }
 
 
-	_size *= displ->count[i];
+	    _size *= displ->count[i];
+	}
+    } else {
+	/* local variable */
+	for (i=0; i < ndims; i++) {
+	    displ->start[i] = 0;
+	    displ->count[i] = fpvar->local_dims[i];
+	    _size *= displ->count[i];
+	}
     }
     *size = _size;
     return displ;
@@ -1002,6 +1032,9 @@ need_writer(
 {
     //select var from group
     global_var *gvar = find_gbl_var(gp->vars, varname, gp->num_vars);
+    
+    /* local variable, not write-block selection, need rank 0 */
+    if (!gvar) return (fp->rank == 0);
 
     //for each dimension
     int i=0;
@@ -1042,9 +1075,10 @@ need_writer(
 }
 
 flexpath_var*
-setup_flexpath_vars(FMField *f, int *num, int nattrs)
+setup_flexpath_vars(flexpath_reader_file *fp, FMField *f, int *num, int nattrs)
 {
-    flexpath_var *vars = NULL;
+    flexpath_var *last = NULL;
+    flexpath_var *first = NULL;
     int var_count = 0;
 
     while (f->field_name != NULL) {
@@ -1062,9 +1096,14 @@ setup_flexpath_vars(FMField *f, int *num, int nattrs)
 	memset(curr_var->chunks, 0, sizeof(flexpath_var_chunk)*curr_var->num_chunks);
 	curr_var->sel = NULL;
 	curr_var->type = ffs_type_to_adios_type(f->field_type, f->field_size);
-	flexpath_var *temp = vars;
-	curr_var->next = temp;
-	vars = curr_var;
+        if (last == NULL) {
+            first = curr_var;
+            last = curr_var;
+        } else {
+            last->next = curr_var;
+            curr_var->next = NULL;
+            last = curr_var;
+        }
 	if (strncmp(unmangle, "FPDIM", 5)) {
 	    var_count++;
 	}
@@ -1072,7 +1111,7 @@ setup_flexpath_vars(FMField *f, int *num, int nattrs)
         free(unmangle);
     }
     *num = var_count;
-    return vars;
+    return first;
 }
 
 
@@ -1081,7 +1120,7 @@ setup_flexpath_vars(FMField *f, int *num, int nattrs)
 void
 send_finalize_msg(flexpath_reader_file *fp)
 {
-    ADIOST_CALLBACK_ENTER(adiost_event_fp_send_finalize_msg, fp);
+    ADIOST_CALLBACK_ENTER(adiost_event_fp_send_finalize_msg, (int64_t)fp);
     int i; 
     if((fp->rank / fp->num_bridges) == 0)
     {
@@ -1105,13 +1144,13 @@ send_finalize_msg(flexpath_reader_file *fp)
             EVsubmit(fp->bridges[send_to].finalize_source, &msg, NULL);
         }
     }
-    ADIOST_CALLBACK_EXIT(adiost_event_fp_send_finalize_msg, fp);
+    ADIOST_CALLBACK_EXIT(adiost_event_fp_send_finalize_msg, (int64_t)fp);
 }
 
 static void
 send_read_msg(flexpath_reader_file *fp, int index, int use_condition)
 {
-    ADIOST_CALLBACK_ENTER(adiost_event_fp_send_read_msg, fp);
+    ADIOST_CALLBACK_ENTER(adiost_event_fp_send_read_msg, (int64_t)fp);
     //Initial sanity check
     if(index >= fp->num_sendees)
     {
@@ -1147,13 +1186,13 @@ send_read_msg(flexpath_reader_file *fp, int index, int use_condition)
 	CMCondition_wait(fp_read_data->cm, msg->condition);
 	fp_verbose(fp, "Done with WAIT\n");
     }
-    ADIOST_CALLBACK_EXIT(adiost_event_fp_send_read_msg, fp);
+    ADIOST_CALLBACK_EXIT(adiost_event_fp_send_read_msg, (int64_t)fp);
 }
 
 void
 add_var_to_read_message(flexpath_reader_file *fp, int destination, char *varname)
 {
-    ADIOST_CALLBACK_ENTER(adiost_event_fp_add_var_to_read_msg, fp);
+    ADIOST_CALLBACK_ENTER(adiost_event_fp_add_var_to_read_msg, (int64_t)fp);
         int i = 0;
         int found = 0;
         int index = -1;
@@ -1189,7 +1228,7 @@ add_var_to_read_message(flexpath_reader_file *fp, int destination, char *varname
 	if (!fp->bridges[destination].opened) {
 	    fp->bridges[destination].opened = 1;
 	}
-    ADIOST_CALLBACK_EXIT(adiost_event_fp_add_var_to_read_msg, fp);
+    ADIOST_CALLBACK_EXIT(adiost_event_fp_add_var_to_read_msg, (int64_t)fp);
 }
 
 /********** EVPath Handlers **********/
@@ -1201,6 +1240,7 @@ group_msg_handler(CManager cm, void *vevent, void *client_data, attr_list attrs)
     evgroup *msg = (evgroup*)vevent;
     ADIOS_FILE *adiosfile = client_data;
     flexpath_reader_file * fp = (flexpath_reader_file*)adiosfile->fh;
+    fp_verbose(fp, "Received a group message for timestep %d from writer %d\n", msg->step, msg->process_id);
     if (fp->group_name == NULL) {
         fp->group_name = strdup(msg->group_name);
     }
@@ -1222,8 +1262,9 @@ group_msg_handler(CManager cm, void *vevent, void *client_data, attr_list attrs)
     }
 
     curr->metadata = msg;
+#ifdef GROUP_DEBUG
     //Made for debugging purposes, not needed but worked too hard to remove
-    /*if(fp->rank == 1)
+    if(fp->rank == 0)
     {
         printf("Group message_info****************\n");
         printf("Condition: %d\n", msg->condition);
@@ -1244,16 +1285,28 @@ group_msg_handler(CManager cm, void *vevent, void *client_data, attr_list attrs)
                 printf("\t\t\t\tLocal_dimensions: ");
                 int k;
                 for(k = 0; k < msg->vars->offsets->total_offsets; k++)
-                    printf("%ld ", msg->vars->offsets->local_dimensions[k]);
+                    printf("%" PRId64 " ", msg->vars->offsets->local_dimensions[k]);
 
                 printf("\n\t\t\t\tLocal_offsets: ");
                 for(k = 0; k < msg->vars->offsets->total_offsets; k++)
-                    printf("%ld ", msg->vars->offsets->local_offsets[k]);
+                    printf("%" PRId64 " ", msg->vars->offsets->local_offsets[k]);
                 printf("\n");
             }
         }
+        for (int i = 0; i < fp->num_bridges; i++) {
+            int individual_bitfield_len = msg->bitfield_len / fp->num_bridges;
+            printf("Writer %d wrote elements : ", i);
+            for (int j = 0; j < sizeof(msg->write_bitfields[0]) * individual_bitfield_len * 8; j++) {
+                int element = i * individual_bitfield_len + j / 64;
+                int bit = j % 64;
+                if (msg->write_bitfields[element] & (((uint64_t)1) << bit)) {
+                    printf(" %d ", j);
+                }
+            }
+            printf("\n");
+        }
     }
-*/
+#endif
     
     pthread_mutex_unlock(&(fp->queue_mutex));
     return 0;
@@ -1405,6 +1458,7 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
     get_int_attr(attrs, TIMESTEP_ATOM, &timestep);
     get_int_attr(attrs, SCALAR_ATOM, &only_scalars);
     get_int_attr(attrs, NATTRS, &nattrs);
+    fp_verbose(fp, "Received a data message for timestep %d from writer %d, only_scalars %d\n", timestep, writer_rank, only_scalars);
     /* fprintf(stderr, "\treader rank:%d:got data from writer:%d:step:%d\n", */
     /* 	    fp->rank, writer_rank, fp->mystep); */
     FMContext context = CMget_FMcontext(cm);
@@ -1423,7 +1477,7 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
         pthread_mutex_lock(&(fp->queue_mutex));
         create_flexpath_var_for_timestep(fp, timestep);
         timestep_separated_lists * ts_var_list = find_var_list(fp, timestep);
-	ts_var_list->var_list = setup_flexpath_vars(f, &var_count, nattrs);
+	ts_var_list->var_list = setup_flexpath_vars(fp, f, &var_count, nattrs);
         pthread_mutex_unlock(&(fp->queue_mutex));
 
 	adiosfile->var_namelist = malloc(var_count * sizeof(char *));
@@ -1466,13 +1520,13 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
         }
 	flexpath_var * var = find_any_var(ts_var_list->var_list, unmangle);
         pthread_mutex_unlock(&(fp->queue_mutex));
-        free(unmangle);
 
     	if (!var) {
     	    adios_error(err_file_open_error,
-    			"file not opened correctly.  var does not match format.\n");
+    			"Flexpath error:  Variable \"%s\" not found.\n", unmangle);
     	    return err_file_open_error;
     	}
+        free(unmangle);
 
 	int num_dims = 0;
 	if (f->field_type) {
@@ -1491,9 +1545,41 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
 	flexpath_var_chunk *curr_chunk = &var->chunks[0];
 	int i;
 
+	if (only_scalars && var->ndims) {
+	    /* we have to setup the dimensionality of the variable */
+	    var->local_dims = malloc(num_dims * sizeof(var->local_dims[0]));
+	    var->array_size = var->type_size;
+	    fp_verbose(fp, "Setting up dimensionality for variable %s, dimensions %d\n", var->varname, var->ndims);
+	    for (i=0; i<num_dims; i++) {
+		char *dim = dims[i];
+		FMField *temp_field = find_field_by_name(dim, struct_list[0].field_list);
+		uint64_t lval = 1;
+		if (!temp_field) {
+                    char *end;
+		    lval = strtol(dim, &end, 10);
+                    if ((end == dim) || (*end != 0)) {
+                        adios_error(err_corrupted_variable,
+                                    "Dimension value \"%s\" not a fieldname or simple numeric value\n",
+                                    dim);
+                       lval = -1;
+                    }
+		} else {
+		    int *temp_data = get_FMfieldAddr_by_name
+			(
+			    temp_field,
+			    temp_field->field_name,
+			    base_data
+			    );
+		    
+		    lval = (uint64_t)(*temp_data);
+		}
+		var->local_dims[i] = lval;
+		var->array_size = var->array_size * lval;
+	    }
+	}
 	// Has the var been scheduled
 	if (var->sel) {
-            //fp_verbose(fp, "Vars have been scheduled for timestep:%d\n", timestep);
+            //fp_verbose(fp, "Var %s have been scheduled for timestep:%d\n", var->varname, timestep);
 	    if (var->sel->type == ADIOS_SELECTION_WRITEBLOCK) {
                 //fp_verbose(fp, "Var is type selection_writeblock for scalars!\n");
 		if (num_dims == 0) { // writeblock selection for scalar
@@ -1508,13 +1594,21 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
                     //fp_verbose(fp, "Var is type selection_writeblock for arrays!\n");
 		    if (var->sel->u.block.index == writer_rank) {
 			var->array_size = var->type_size;
+			if (num_dims) var->local_dims = 
+					  malloc(num_dims * sizeof(var->local_dims[0]));
 			for (i=0; i<num_dims; i++) {
 			    char *dim = dims[i];
 			    FMField *temp_field = find_field_by_name(dim, struct_list[0].field_list);
+                            uint64_t lval;
 			    if (!temp_field) {
-				adios_error(err_corrupted_variable,
-					    "Could not find fieldname: %s\n",
-					    dim);
+                                char *end;
+                                lval = strtol(dim, &end, 10);
+                                if ((end == dim) || (*end != 0)) {
+                                    adios_error(err_corrupted_variable,
+                                                "Dimension value \"%s\" not a fieldname or simple numeric value\n",
+                                                dim);
+                                    lval = -1;
+                                }
 			    } else {
 				int *temp_data = get_FMfieldAddr_by_name
 				    (
@@ -1523,9 +1617,10 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
 					base_data
 				    );
 
-				uint64_t dim = (uint64_t)(*temp_data);
-				var->array_size = var->array_size * dim;
+				lval = (uint64_t)(*temp_data);
 			    }
+                            var->local_dims[i] = lval;
+                            var->array_size = var->array_size * lval;
 			}
 			void *arrays_data  = get_FMPtrField_by_name(f,
 								    f->field_name,
@@ -1540,6 +1635,8 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
                 //fp_verbose(fp, "Var is type selection_boundingbox for arrays!\n");
 		if (var->ndims > 0) { // arrays
 		    int i;
+	    if (num_dims) var->local_dims = 
+					  malloc(num_dims * sizeof(var->local_dims[0]));
 		    global_var *gv = find_gbl_var(fp->current_global_info->vars,
 						  var->varname,
 						  fp->current_global_info->num_vars);
@@ -1547,11 +1644,11 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
 		    array_displacements *disp = find_displacement(var->displ,
 								  writer_rank,
 								  var->num_displ);
-		    if (disp) { // does this writer hold a chunk we've asked for
+		    if (gv && disp) { // does this writer hold a chunk we've asked for
                         //fp_verbose(fp, "Var is in the displacement, it should have data that we've asked for!\n");
 
 			//if(fp->rank == 0)
-			    //print_displacement(disp, fp->rank);
+			//print_displacement(disp, fp->rank);
 
 			uint64_t *global_sel_start = var->sel->u.bb.start;
 			uint64_t *global_sel_count = var->sel->u.bb.count;
@@ -1630,9 +1727,7 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
             CMCondition_signal(fp_read_data->cm, curr_var_list->req_cond.condition);
         }
 
-    }
-    else
-    {
+    } else {
         fp_verbose(fp, "Only scalars message received for timestep:%d from writer %d\n", timestep, writer_rank);
         pthread_mutex_lock(&(fp->queue_mutex));
         timestep_separated_lists * ts_var_list = find_var_list(fp, timestep);
@@ -1861,9 +1956,9 @@ adios_read_flexpath_open(const char * fname,
 
         // broadcast writer contact info to all reader ranks
         fp_verbose(fp, "Broadcasting writer data to all ranks!\n");
-        MPI_Bcast(&fp->num_bridges, 1, MPI_INT, 0, MPI_COMM_WORLD);
+        MPI_Bcast(&fp->num_bridges, 1, MPI_INT, 0, fp->comm);
         
-        MPI_Bcast(send_buffer, fp->num_bridges*CONTACT_LENGTH, MPI_CHAR, 0, MPI_COMM_WORLD);
+        MPI_Bcast(send_buffer, fp->num_bridges*CONTACT_LENGTH, MPI_CHAR, 0, fp->comm);
         
 	// prepare to send all ranks contact info to writer root
         reader_register_msg reader_register;
@@ -1879,6 +1974,11 @@ adios_read_flexpath_open(const char * fname,
         CMFormat format = CMregister_simple_format(fp_read_data->cm, "Flexpath reader register", reader_register_field_list, sizeof(reader_register_msg));
         attr_list writer_rank0_contact = attr_list_from_string(fp->bridges[0].contact);
         CMConnection conn = CMget_conn (fp_read_data->cm, writer_rank0_contact);
+	if (!conn) {
+	    fp_verbose(fp, "Flexpath failed to contact the writer at its contact point!  Open failed.");
+	    adios_errno = err_end_of_stream;
+	    return NULL;
+	}
         fp->go_cond = CMCondition_get(fp_read_data->cm, conn);
         CMwrite(conn, format, &reader_register);
 
@@ -1893,16 +1993,16 @@ adios_read_flexpath_open(const char * fname,
         free_attr_list(writer_rank0_contact);
 
         //CMConnection_close(conn);
-        MPI_Barrier(MPI_COMM_WORLD);
+        MPI_Barrier(fp->comm);
     } else {
         /* not rank 0 */
         fp_verbose(fp, "About to run the normal setup for bridges before MPI_Gather operation!\n");
         char *this_side_contact_buffer;
         MPI_Gather(data_contact_info, CONTACT_LENGTH, MPI_CHAR, recvbuf,
                    CONTACT_LENGTH, MPI_CHAR, 0, fp->comm);
-        MPI_Bcast(&fp->num_bridges, 1, MPI_INT, 0, MPI_COMM_WORLD);
+        MPI_Bcast(&fp->num_bridges, 1, MPI_INT, 0, fp->comm);
         this_side_contact_buffer = malloc(fp->num_bridges*CONTACT_LENGTH);
-        MPI_Bcast(this_side_contact_buffer, fp->num_bridges*CONTACT_LENGTH, MPI_CHAR, 0, MPI_COMM_WORLD);
+        MPI_Bcast(this_side_contact_buffer, fp->num_bridges*CONTACT_LENGTH, MPI_CHAR, 0, fp->comm);
         fp->bridges = malloc(sizeof(bridge_info) * fp->num_bridges);
         for (i = 0; i < fp->num_bridges; i++) {
             int their_stone;
@@ -1915,7 +2015,7 @@ adios_read_flexpath_open(const char * fname,
             fp->bridges[i].opened = 0;
             fp->bridges[i].scheduled = 0;
         }
-        MPI_Barrier(MPI_COMM_WORLD);
+        MPI_Barrier(fp->comm);
         fp_verbose(fp, "Past the MPI_Barrier on the non-root side\n");
     }
 
@@ -1945,6 +2045,7 @@ adios_read_flexpath_open(const char * fname,
     adiosfile->version = -1;
     adiosfile->file_size = 0;
     adios_errno = err_no_error;
+    set_nvars_and_nattrs(adiosfile);
     fp_verbose(fp, "leaving flexpath_open\n");
     return adiosfile;
 }
@@ -1975,17 +2076,10 @@ adios_flexpath_create_feedback_source(ADIOS_FILE *adiosfile, FMStructDescList fo
 
 int adios_read_flexpath_finalize_method ()
 {
-    /* oddly, ADIOS doesn't let us close a single file.  Instead, this finalizes all operations.  Commented out below is the body that we should have when we can close a file. */
-
-    /* flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh; */
-    /* int i; */
-    /* for (i=0; i<fp->num_bridges; i++) { */
-    /*     if (fp->bridges[i].created && !fp->bridges[i].opened) { */
-    /* 	    fp_verbose(fp, "sending open msg in flexpath_release_step\n"); */
-    /* 	    send_finalize_msg(fp, i); */
-    /*     } */
-    /* } */
-    return 1;
+    CManager_close(fp_read_data->cm);
+    free(fp_read_data);
+    fp_read_data = NULL;
+    return 0;
 }
 
 
@@ -2007,6 +2101,42 @@ void adios_read_flexpath_release_step(ADIOS_FILE *adiosfile) {
     pthread_mutex_unlock(&(fp->queue_mutex));
 }
 
+static int
+query_bitfield(uint64_t *b, int bfield_len, int the_bit)
+{
+    int element = the_bit / (sizeof(b[0]) * 8);
+    int bit = the_bit % (sizeof(b[0]) * 8);
+    if (element >= bfield_len) {
+        return -1;
+    }
+    return (b[element] | (1<<bit));
+}
+
+#define TestBit(A,k)    (( A[(k/64)] & (1 << (k%64)) ) != 0)
+static void
+set_nvars_and_nattrs(ADIOS_FILE *adiosfile)
+{
+    flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
+    evgroup * gp = fp->current_global_info;
+    timestep_separated_lists * curr_var_list = flexpath_get_curr_timestep_list(fp);
+    flexpath_var *fpvar = curr_var_list->var_list;
+    int var_count = 0;
+    int attr_count = 0;
+
+    while (fpvar) {
+        if (query_bitfield(gp->write_bitfields, gp->bitfield_len, fpvar->id)) {
+            if (fpvar->is_attr) {
+                attr_count++;
+            } else {
+                var_count++;
+            }
+        }
+        fpvar=fpvar->next;
+    }
+    adiosfile->nvars = var_count;
+    adiosfile->nattrs = attr_count;
+}
+
 int
 adios_read_flexpath_advance_step(ADIOS_FILE *adiosfile, int last, float timeout_sec)
 {    
@@ -2046,18 +2176,14 @@ adios_read_flexpath_advance_step(ADIOS_FILE *adiosfile, int last, float timeout_
                     "Global metadata removed: %d\t\tFlexpath vars removed: %d\n", global_data_cleaned, flexpath_var_cleaned);
     pthread_mutex_unlock(&(fp->queue_mutex));
 
-    //Fix the last of the info the reader will need, this locks and unlocks the mutex so that's why we have it out here
-
-    //Wait for all readers to reach this step, this should change in extended version
-    //MPI_Barrier(fp->comm);
-
+    set_nvars_and_nattrs(adiosfile);
     return 0;
 }
 
 int adios_read_flexpath_close(ADIOS_FILE * fp)
 {
     flexpath_reader_file *file = (flexpath_reader_file*)fp->fh;
-
+    fp_verbose(file, "entering adios_read_flexpath_close\n");
     MPI_Barrier(file->comm);
 
     
@@ -2070,7 +2196,6 @@ int adios_read_flexpath_close(ADIOS_FILE * fp)
     */
 
     flexpath_free_filedata(file);
-    CManager_close(fp_read_data->cm);
 
     //Cleaning the ADIOS FILE
 
@@ -2175,9 +2300,38 @@ int adios_read_flexpath_perform_reads(const ADIOS_FILE *adiosfile, int blocking)
 }
 
 int
-adios_read_flexpath_inq_var_blockinfo(const ADIOS_FILE* fp,
+adios_read_flexpath_inq_var_blockinfo(const ADIOS_FILE* adiosfile,
 				      ADIOS_VARINFO* varinfo)
-{ /*log_debug( "flexpath:adios function inq var block info\n");*/ return 0; }
+{ 
+    int i;
+    flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
+    fp_verbose(fp, "Entering inq_var_blockinfo\n");
+    timestep_separated_lists * curr_var_list = flexpath_get_curr_timestep_list(fp);
+    flexpath_var *fpvar = curr_var_list->var_list;
+    while (fpvar) {
+        if ((!fpvar->is_attr) && (fpvar->id == varinfo->varid))
+        	break;
+        else
+	    fpvar=fpvar->next;
+    }
+    if (!fpvar) {
+        adios_error(err_invalid_varid,
+		    "Invalid variable id: %d\n",
+		    varinfo->varid);
+        return 1;
+    }
+
+    varinfo->blockinfo = (ADIOS_VARBLOCK *) malloc (sizeof(ADIOS_VARBLOCK)); // just one block
+    varinfo->blockinfo->start = (uint64_t *) malloc (fpvar->ndims * sizeof(uint64_t));
+    varinfo->blockinfo->count = (uint64_t *) malloc (fpvar->ndims * sizeof(uint64_t));
+    for (i = 0; i<fpvar->ndims; i++) {
+        varinfo->blockinfo->start[i] = 0;
+        varinfo->blockinfo->count[i] = fpvar->global_dims ? fpvar->global_dims[i] : fpvar->local_dims[i];
+    }
+    varinfo->blockinfo->process_id = 0;
+    varinfo->blockinfo->time_index = fp->mystep;
+    return 0;
+}
 
 int
 adios_read_flexpath_inq_var_stat(const ADIOS_FILE* fp,
@@ -2187,32 +2341,41 @@ adios_read_flexpath_inq_var_stat(const ADIOS_FILE* fp,
 { /*log_debug( "flexpath:adios function inq var stat\n");*/ return 0; }
 
 
-int
-adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
-				       const ADIOS_SELECTION *sel,
-				       int varid,
-				       int from_steps,
-				       int nsteps,
-				       void *data)
+static int
+get_Nth_written_item(const  ADIOS_FILE *adiosfile, int count, int attr)
 {
     flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
-    fp_verbose(fp, "Entering schedule_read_by_id\n");
+    evgroup * gp = fp->current_global_info;
     timestep_separated_lists * curr_var_list = flexpath_get_curr_timestep_list(fp);
     flexpath_var *fpvar = curr_var_list->var_list;
+    int element_count = gp->bitfield_len / fp->num_bridges;
+    int written_count = 0;
 
-    fp_verbose(fp, "entering schedule_read_byid, varid %d\n", varid);
+    if (element_count < ((count + 63) / 64)) {printf("Return -1\n");return -1;}
     while (fpvar) {
-        if ((!fpvar->is_attr) && (fpvar->id == varid))
-        	break;
-        else
-	    fpvar=fpvar->next;
-    }
-    if (!fpvar) {
-        adios_error(err_invalid_varid,
-		    "Invalid variable id: %d\n",
-		    varid);
-        return err_invalid_varid;
+        if ((fpvar->is_attr == attr) && query_bitfield(gp->write_bitfields, gp->bitfield_len, fpvar->id)) {
+            if (written_count == count) {
+                return fpvar->id;
+            }
+            written_count++;
+        }
+        fpvar=fpvar->next;
     }
+    return -1;
+}
+
+static int
+adios_read_flexpath_schedule_read_fpvar(const ADIOS_FILE *adiosfile,
+                                        const ADIOS_SELECTION *sel,
+                                        flexpath_var *fpvar,
+                                        int from_steps,
+                                        int nsteps,
+                                        void *data)
+{
+    flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
+    //fp_verbose(fp, "Entering schedule_read_by_id\n");
+    timestep_separated_lists * curr_var_list = flexpath_get_curr_timestep_list(fp);
+    evgroup *gp = fp->current_global_info ;
 
     //store the user allocated buffer.
     flexpath_var_chunk *chunk = &fpvar->chunks[0];
@@ -2235,8 +2398,20 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
 	// but dataspaces doesn't have local arrays so there
 	// are no use cases for it.
 	uint64_t *starts = calloc(fpvar->ndims, sizeof(uint64_t));
-	uint64_t *counts = calloc(fpvar->ndims, sizeof(uint64_t));
-	memcpy(counts, fpvar->global_dims, fpvar->ndims*sizeof(uint64_t));
+	uint64_t *counts;
+	if (fpvar->global_dims) {
+	    counts = calloc(fpvar->ndims, sizeof(uint64_t));
+	    memcpy(counts, fpvar->global_dims, fpvar->ndims*sizeof(uint64_t));
+	} else {
+            if (fpvar->ndims > 0) {
+                adios_error(err_out_of_bound,
+                            "No selection specified and local arrays were used - Not valid for flexpath transport.\n");
+                return err_out_of_bound;
+            } else {
+                counts = NULL;
+                starts = NULL;
+            }
+	}
 	fpvar->sel = a2sel_boundingbox(fpvar->ndims, starts, counts);
     } else {
 	fpvar->sel = a2sel_copy(sel);
@@ -2254,7 +2429,7 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
 			"No process exists on the writer side matching the index.\n");
 	    return err_out_of_bound;
 	}
-        fp_verbose(fp, "Adding var to read message for ADIOS_SELECTION_WRITEBLOCK for writer_index: %d\n", writer_index);
+        //fp_verbose(fp, "Adding var to read message for ADIOS_SELECTION_WRITEBLOCK for writer_index: %d\n", writer_index);
 	add_var_to_read_message(fp, writer_index, fpvar->varname);
 	break;
     }
@@ -2264,7 +2439,7 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
         if (fpvar->ndims == 0) {
 	    if (chunk->has_data) {
 		memcpy(data, chunk->data, fpvar->type_size);
-                fp_verbose(fp, "Grabbing scalar data immediately, no need for message!\n");
+                //fp_verbose(fp, "Grabbing scalar data immediately, no need for message!\n");
 	    } else {
 		printf("Trying to schedule read on scalar %s, no data fpvar %p, chunk %p\n", fpvar->varname, fpvar, chunk);
 	    }
@@ -2290,22 +2465,22 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
                     destination = j;
                     global_var *gvar = find_gbl_var(the_gp->vars, fpvar->varname, the_gp->num_vars);
                     // displ is freed in release_step.
-                    array_displacements *displ = get_writer_displacements(j, fpvar->sel, gvar, &_pos);
-                    displ->pos = pos;
-                    _pos *= (uint64_t)fpvar->type_size;
-                    pos += _pos;
-
-                    all_disp = realloc(all_disp, sizeof(array_displacements)*need_count);
-                    //TODO: Figure this out with Greg...
-                    all_disp[need_count-1] = *displ;
-                    fp_verbose(fp, "Adding var to read message for ADIOS_SELECTION_BOUNDINGBOX for writer: %d\n", j);
-                    add_var_to_read_message(fp, j, fpvar->varname);
-                    //free displ
-                    if(displ) {
-                        //if(displ->start) free(displ->start);
-                        //if(displ->count) free(displ->count);
-                        free(displ);
-                    }
+		    array_displacements *displ = get_writer_displacements(j, fpvar, gvar, &_pos);
+		    displ->pos = pos;
+		    _pos *= (uint64_t)fpvar->type_size;
+		    pos += _pos;
+		    
+		    all_disp = realloc(all_disp, sizeof(array_displacements)*need_count);
+		    //TODO: Figure this out with Greg...
+		    all_disp[need_count-1] = *displ;
+		    //fp_verbose(fp, "Adding var to read message for ADIOS_SELECTION_BOUNDINGBOX for writer: %d\n", j);
+		    add_var_to_read_message(fp, j, fpvar->varname);
+		    //free displ
+		    if(displ) {
+			//if(displ->start) free(displ->start);
+			//if(displ->count) free(displ->count);
+			free(displ);
+		    }
                 }
             }
             if (all_disp == NULL) {
@@ -2331,11 +2506,42 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
 	break;
     }
     }
-    fp_verbose(fp, "exiting schedule_read_byid\n");
+    //fp_verbose(fp, "exiting schedule_read_byid\n");
     return 0;
 }
 
 int
+adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
+				       const ADIOS_SELECTION *sel,
+				       int varid,
+				       int from_steps,
+				       int nsteps,
+				       void *data)
+{
+    flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
+    //fp_verbose(fp, "Entering schedule_read_by_id\n");
+    timestep_separated_lists * curr_var_list = flexpath_get_curr_timestep_list(fp);
+    flexpath_var *fpvar = curr_var_list->var_list;
+    evgroup *gp = fp->current_global_info ;
+
+    int var_index = get_Nth_written_item(adiosfile, varid, 0);
+    //fp_verbose(fp, "entering schedule_read_byid, varid %d\n", varid);
+    while (fpvar) {
+        if ((!fpvar->is_attr) && (fpvar->id == var_index))
+        	break;
+        else
+	    fpvar=fpvar->next;
+    }
+    if (!fpvar) {
+        adios_error(err_invalid_varid,
+		    "Invalid variable id: %d\n",
+		    varid);
+        return err_invalid_varid;
+    }
+    return adios_read_flexpath_schedule_read_fpvar(adiosfile, sel, fpvar, from_steps, nsteps, data);
+}
+
+int
 adios_read_flexpath_schedule_read(const ADIOS_FILE *adiosfile,
 			const ADIOS_SELECTION * sel,
 			const char * varname,
@@ -2344,7 +2550,7 @@ adios_read_flexpath_schedule_read(const ADIOS_FILE *adiosfile,
 			void * data)
 {
     flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
-    fp_verbose(fp, "entering schedule_read, var: %s\n", varname);
+    //fp_verbose(fp, "entering schedule_read, var: %s\n", varname);
     timestep_separated_lists * curr_var_list = flexpath_get_curr_timestep_list(fp);
 
     flexpath_var *fpvar = find_fp_var(curr_var_list->var_list, varname);
@@ -2358,8 +2564,8 @@ adios_read_flexpath_schedule_read(const ADIOS_FILE *adiosfile,
 
     int id = fpvar->id;
 
-    fp_verbose(fp, "Calling read_by_id, var: %d\n", id);
-    return adios_read_flexpath_schedule_read_byid(adiosfile, sel, id, from_steps, nsteps, data);
+    //fp_verbose(fp, "Calling read_by_id, var: %d\n", id);
+    return adios_read_flexpath_schedule_read_fpvar(adiosfile, sel, fpvar, from_steps, nsteps, data);
 }
 
 int
@@ -2381,7 +2587,17 @@ adios_read_flexpath_get_attr (const ADIOS_FILE *adiosfile, const char *attrname,
 
     *type = fpvar->type;
     *size = fpvar->type_size;
-    *data = fpvar->chunks[0].data;
+    if (fpvar->type == adios_string) {
+	*data = strdup(fpvar->chunks[0].data);
+	*size = strlen(fpvar->chunks[0].data) +1;
+    } else {
+	*data = (void*)malloc(*size);
+	if (*data) memcpy(*data, fpvar->chunks[0].data, *size);
+    } 
+    if (!(*data)) {
+        adios_error (err_no_memory, "Could not allocate memory for attribute info.\n");
+        return adios_errno;
+    }
     return 0;
 }
 
@@ -2391,8 +2607,9 @@ adios_read_flexpath_get_attr_byid (const ADIOS_FILE *adiosfile, int attrid,
 				   int *size, void **data)
 {
     flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
-    if (attrid >= 0 && attrid < adiosfile->nattrs) {
-	int ret = adios_read_flexpath_get_attr(adiosfile, adiosfile->attr_namelist[attrid],
+    int attr_index = get_Nth_written_item(adiosfile, attrid, 1);
+    if (attr_index >= 0) {
+	int ret = adios_read_flexpath_get_attr(adiosfile, adiosfile->attr_namelist[attr_index],
 					       type, size, data);
 	//fp_verbose(fp, "leaving flexpath_inq_attr_byid\n");
 	return ret;
@@ -2436,14 +2653,17 @@ ADIOS_VARINFO*
 adios_read_flexpath_inq_var_byid (const ADIOS_FILE * adiosfile, int varid)
 {
     flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
-    //fp_verbose(fp, "entering flexpath_inq_var_byid, varid: %d\n", varid);
-    if (varid >= 0 && varid < adiosfile->nvars) {
-	ADIOS_VARINFO *v = adios_read_flexpath_inq_var(adiosfile, adiosfile->var_namelist[varid]);
-	//fp_verbose(fp, "leaving flexpath_inq_var_byid\n");
+    fp_verbose(fp, "entering flexpath_inq_var_byid, varid: %d\n", varid);
+    int var_index = get_Nth_written_item(adiosfile, varid, 0);
+    fp_verbose(fp, "entering flexpath_inq_var_byid, varindex is : %d\n", var_index);
+    if (var_index >= 0) {
+	ADIOS_VARINFO *v = adios_read_flexpath_inq_var(adiosfile, adiosfile->var_namelist[var_index]);
+	fp_verbose(fp, "leaving flexpath_inq_var_byid with varname %s\n", adiosfile->var_namelist[var_index]);
 	return v;
     }
     else {
         adios_error(err_invalid_varid, "FLEXPATH method: Cannot find var %d\n", varid);
+        fp_verbose(fp, "Leaving flexpath_inq_var_byid with NULL\n");
         return NULL;
     }
 }
diff --git a/src/transforms/Makefile.plugins b/src/transforms/Makefile.plugins
index 7d55b8c..3e23602 100644
--- a/src/transforms/Makefile.plugins
+++ b/src/transforms/Makefile.plugins
@@ -37,3 +37,7 @@ transforms_read_method_SOURCES += transforms/adios_transform_sz_read.c
 # LZ4 plugin:
 transforms_write_method_SOURCES += transforms/adios_transform_lz4_write.c
 transforms_read_method_SOURCES += transforms/adios_transform_lz4_read.c
+
+# Blosc plugin:
+transforms_write_method_SOURCES += transforms/adios_transform_blosc_write.c
+transforms_read_method_SOURCES += transforms/adios_transform_blosc_read.c
diff --git a/src/transforms/adios_transform_blosc_common.h b/src/transforms/adios_transform_blosc_common.h
new file mode 100644
index 0000000..ff262c4
--- /dev/null
+++ b/src/transforms/adios_transform_blosc_common.h
@@ -0,0 +1,12 @@
+#ifndef ADIOS_TRANSFORM_BLOSC_COMMON_H
+#define ADIOS_TRANSFORM_BLOSC_COMMON_H
+
+#include "blosc.h"
+
+typedef int32_t adiosBloscSize_t;
+
+#define ADIOS_BLOSC_MAX_INPUT_SIZE BLOSC_MAX_BUFFERSIZE
+#define ADIOS_BLOSC_MAX_OVERHEAD BLOSC_MAX_OVERHEAD
+#define ADIOS_BLOSC_MAX_TYPESIZE BLOSC_MAX_TYPESIZE
+
+#endif /* ADIOS_TRANSFORM_BLOSC_COMMON_H */
diff --git a/src/transforms/adios_transform_blosc_read.c b/src/transforms/adios_transform_blosc_read.c
new file mode 100644
index 0000000..ba9a180
--- /dev/null
+++ b/src/transforms/adios_transform_blosc_read.c
@@ -0,0 +1,180 @@
+/*
+ * adios_transform_blosc_read.c
+ *
+ * 	Author: Rene Widera
+ * 	Contact: r.widera at hzdr.de
+ *
+ *  This code based on `adios_transform_zlib_read.c`.
+ */
+
+#include <stdlib.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <assert.h>
+
+#include "core/util.h"
+#include "core/adios_logger.h"
+#include "core/transforms/adios_transforms_hooks_read.h"
+#include "core/transforms/adios_transforms_reqgroup.h"
+#include "core/adios_internals.h" // adios_get_type_size()
+#include "core/adios_endianness.h"
+
+#ifdef BLOSC
+
+#include "blosc.h"
+#include "adios_transform_blosc_common.h"
+
+int adios_transform_blosc_is_implemented (void) {return 1;}
+
+int adios_transform_blosc_decompress( 
+                                  const void* input_data,
+                                  void* output_data,
+                                  const adiosBloscSize_t max_output_len,
+                                  adiosBloscSize_t* decoded_bytes)
+{
+    assert(input_data != NULL &&  output_data != NULL && max_output_len > 0 && decoded_bytes != 0);
+
+    
+    adiosBloscSize_t result = blosc_decompress(input_data, output_data, max_output_len);
+
+    *decoded_bytes = 0;
+    if( result > 0)
+    {
+        *decoded_bytes = result;
+    }
+
+    return result <= 0;
+}
+
+int adios_transform_blosc_generate_read_subrequests(adios_transform_read_request *reqgroup,
+                                                    adios_transform_pg_read_request *pg_reqgroup)
+{
+    void *buf = malloc(pg_reqgroup->raw_var_length);
+    assert(buf);
+    adios_transform_raw_read_request *subreq = adios_transform_raw_read_request_new_whole_pg(pg_reqgroup, buf);
+    adios_transform_raw_read_request_append(pg_reqgroup, subreq);
+    return 0;
+}
+
+// Do nothing for individual subrequest
+adios_datablock * adios_transform_blosc_subrequest_completed(adios_transform_read_request *reqgroup,
+                                                            adios_transform_pg_read_request *pg_reqgroup,
+                                                            adios_transform_raw_read_request *completed_subreq)
+{
+    return NULL;
+}
+
+/* convert a 4 byte size from the blosc meta data to adiosBloscSize_t
+ * 
+ * big and little endian is observed
+ */
+static adiosBloscSize_t adios_transform_blosc_endian_convert(const char* const input)
+{
+    int32_t result = *((int32_t*)input);
+    /* check for big and little endian */
+    int check = 1;  
+    /* first byte of big enian is zero */
+    if ( *((char *)&check) != 1) {
+        /* big endian need swap */
+        swap_32_ptr(&result);
+    }
+    return result;
+}
+
+adios_datablock * adios_transform_blosc_pg_reqgroup_completed(adios_transform_read_request *reqgroup,
+                                                             adios_transform_pg_read_request *completed_pg_reqgroup)
+{
+    uint64_t input_size = (uint64_t)completed_pg_reqgroup->raw_var_length;
+    char* input_buff = (char*)(completed_pg_reqgroup->subreqs->data);
+
+    adiosBloscSize_t num_chunks = *((adiosBloscSize_t*)completed_pg_reqgroup->transform_metadata);
+    adiosBloscSize_t compressed_size_last_chunk = *((adiosBloscSize_t*)(completed_pg_reqgroup->transform_metadata + sizeof(adiosBloscSize_t)));
+
+    int is_compressed = 1;
+    if( num_chunks == 0 && compressed_size_last_chunk == 0 )
+        is_compressed = 0;
+    
+    uint64_t uncompressed_size = adios_get_type_size(reqgroup->transinfo->orig_type, "");
+    int d = 0;
+    for(d = 0; d < reqgroup->transinfo->orig_ndim; d++)
+    {
+        uncompressed_size *= (uint64_t)(completed_pg_reqgroup->orig_varblock->count[d]);
+    }
+
+    char* output_buff = (char*)malloc(uncompressed_size);
+    if(!output_buff)
+    {
+        return NULL;
+    }
+    
+   
+    uint64_t input_offset = 0;
+    uint64_t actual_output_size = 0;
+
+    adiosBloscSize_t chunk = 0;
+    for(; (chunk < num_chunks || input_offset < input_size) && is_compressed; ++chunk)
+    {
+        /* move over the size of the compressed data */
+        const char* in_ptr = input_buff + input_offset;
+        
+        /** read the size of the compress block from the blosc meta data
+         * 
+         * blosc meta data format (all little endian):
+         *   - 1 byte blosc format version
+         *   - 1 byte blosclz format version
+         *   - 1 byte flags
+         *   - 1 byte typesize
+         *   - 4 byte uncompressed data size
+         *   - 4 byte block size
+         *   - 4 byte compressed data size
+         * 
+         * we need only the compressed size ( source address + 12 byte)
+         */
+        adiosBloscSize_t max_input_size = adios_transform_blosc_endian_convert(in_ptr+12);
+
+        char* out_ptr = output_buff + actual_output_size;
+        adiosBloscSize_t max_output_size = ADIOS_BLOSC_MAX_INPUT_SIZE;
+        // handle the last not full chunk
+        if (chunk >= num_chunks)
+        {
+            max_output_size = uncompressed_size - actual_output_size;
+        }
+        
+        adiosBloscSize_t max_chunk_size = max_output_size + BLOSC_MAX_OVERHEAD;
+        adiosBloscSize_t decoded_bytes = 0;
+        int rtn = adios_transform_blosc_decompress( in_ptr, 
+                                                   out_ptr, max_output_size, &decoded_bytes);
+        /* abort if decompression failed */
+        if( 0 != rtn )
+        {
+            return NULL;
+        }
+
+        actual_output_size += (uint64_t) decoded_bytes;
+        input_offset += (uint64_t) max_input_size;
+    }
+
+    if(!is_compressed)
+    {
+        memcpy(output_buff, input_buff, input_size);
+        actual_output_size = input_size;
+        input_offset += input_size;
+    }
+
+    assert(actual_output_size == uncompressed_size);
+    assert(input_offset == input_size);
+
+    return adios_datablock_new_whole_pg(reqgroup, completed_pg_reqgroup, output_buff);
+}
+
+adios_datablock * adios_transform_blosc_reqgroup_completed(adios_transform_read_request *completed_reqgroup)
+{
+    return NULL;
+}
+
+
+#else
+
+DECLARE_TRANSFORM_READ_METHOD_UNIMPL(blosc);
+
+#endif
diff --git a/src/transforms/adios_transform_blosc_write.c b/src/transforms/adios_transform_blosc_write.c
new file mode 100644
index 0000000..e3afa9e
--- /dev/null
+++ b/src/transforms/adios_transform_blosc_write.c
@@ -0,0 +1,297 @@
+/*
+ * adios_transform_blosc_write.c
+ *
+ * 	Author: Rene Widera
+ * 	Contact: r.widera at hzdr.de
+ *
+ *  This code based on `adios_transform_zlib_write.c`.
+ */
+
+#include <stdint.h>
+#include <inttypes.h>
+#include <assert.h>
+#include <limits.h>
+#include <sys/time.h>
+
+#include "core/adios_logger.h"
+#include "core/transforms/adios_transforms_common.h"
+#include "core/transforms/adios_transforms_write.h"
+#include "core/transforms/adios_transforms_hooks_write.h"
+#include "core/transforms/adios_transforms_util.h"
+
+#ifdef BLOSC
+
+#include <blosc.h>
+#include "adios_transform_blosc_common.h"
+
+
+int adios_transform_blosc_compress( 
+                                const void* input_data,
+                                const adiosBloscSize_t input_len,
+                                void* output_data,
+                                const adiosBloscSize_t max_output_len,
+                                adiosBloscSize_t* compressed_size,
+                                int compress_level,
+                                int shuffle, int typesize
+                                )
+{
+    assert( input_data != NULL && input_len > 0 && output_data != NULL && max_output_len > 0 && compressed_size != NULL);
+
+    
+    adiosBloscSize_t result = blosc_compress( 
+        compress_level, shuffle, typesize, 
+        input_len, input_data,
+        output_data, 
+        max_output_len
+    );
+    *compressed_size = 0;
+    if( result > 0)
+    {
+        *compressed_size = result;
+    }
+    
+    return result <= 0;
+}
+
+uint16_t adios_transform_blosc_get_metadata_size(struct adios_transform_spec *transform_spec)
+{
+    // number of chunks with max size and compressed size of the last chunk
+    return (sizeof(adiosBloscSize_t) + sizeof(adiosBloscSize_t));
+}
+
+uint64_t calculate_max_overhead(const uint64_t input_size, uint64_t* n_full_chunks, uint64_t* max_size_last_chunks)
+{   
+    const uint64_t max_input_per_chunk = ADIOS_BLOSC_MAX_INPUT_SIZE;
+    const uint64_t num_full_chunks = input_size / max_input_per_chunk;
+    const uint64_t size_last_chunk = input_size % max_input_per_chunk;
+    
+    const uint64_t max_output_per_chunk = ADIOS_BLOSC_MAX_INPUT_SIZE + ADIOS_BLOSC_MAX_OVERHEAD;
+    const uint64_t max_output_last_chunk = size_last_chunk + ADIOS_BLOSC_MAX_OVERHEAD;
+    
+    if(n_full_chunks)
+        *n_full_chunks = num_full_chunks;
+    if(max_size_last_chunks)
+        *max_size_last_chunks = max_output_last_chunk;
+    
+    const uint64_t full_size = max_output_per_chunk * num_full_chunks + max_output_last_chunk;
+    return full_size - input_size;
+}
+
+void adios_transform_blosc_transformed_size_growth(
+		const struct adios_var_struct *var, const struct adios_transform_spec *transform_spec,
+		uint64_t *constant_factor, double *linear_factor, double *capped_linear_factor, uint64_t *capped_linear_cap)
+{
+    struct adios_var_struct *var_no_const = (struct adios_var_struct *)var;
+    const uint64_t input_size = adios_transform_get_pre_transform_var_size(var_no_const);
+
+    const uint64_t max_overhead = calculate_max_overhead(input_size, NULL, NULL);
+    
+    *constant_factor = max_overhead;
+}
+
+int adios_transform_blosc_apply(struct adios_file_struct *fd,
+                                struct adios_var_struct *var,
+                                uint64_t *transformed_len,
+                                int use_shared_buffer,
+                                int *wrote_to_shared_buffer)
+{
+    // Assume this function is only called for Blosc transform type
+    assert(var->transform_type == adios_transform_blosc);
+
+    // Get the input data and data length
+    const uint64_t input_size = adios_transform_get_pre_transform_var_size(var);
+    const char *input_buff= (char*)var->data;
+    
+    uint64_t num_chunks = 0;
+    uint64_t max_size_last_chunk = 0;
+    const uint64_t max_overhead = calculate_max_overhead(input_size, &num_chunks, &max_size_last_chunk);
+   
+    int compress_level = 1;
+    int shuffle = BLOSC_NOSHUFFLE;
+    int num_threads = 1;
+    char compressor[32];
+    strcpy( compressor, "memcpy" );
+    /* input size under this bound would not compressed */
+    uint64_t threshold_size = 128;
+    
+    int typesize = adios_get_type_size( var->pre_transform_type, NULL );
+    if( typesize > ADIOS_BLOSC_MAX_TYPESIZE )
+        typesize = 1;
+
+    int num_param = var->transform_spec->param_count;
+    int p;
+    for( p = 0; p < num_param; ++p )
+    {
+        const struct adios_transform_spec_kv_pair* const param = &var->transform_spec->params[p];
+        if( strcmp( param->key, "lvl") == 0 )
+        {
+            compress_level = atoi( param->value );
+            if( compress_level < 1 || compress_level > 9 )
+            {
+                if( compress_level < 1 )
+                    compress_level = 1;
+                if( compress_level > 9 )
+                    compress_level = 9;
+                log_warn("Blosc: invalid compression level %s, switch to lvl %i\n",param->value, compress_level);
+            }
+        }
+        else if( strcmp( param->key, "threshold") == 0 )
+        {
+            threshold_size = atoi( param->value );
+            if (threshold_size < 128)
+                threshold_size = 128;
+        }
+        else if( strcmp( param->key, "shuffle") == 0 )
+        {
+            if (strcmp(param->value, "byte") == 0) 
+               shuffle = BLOSC_SHUFFLE;
+            else if (strcmp(param->value, "bit") == 0)
+               shuffle = BLOSC_BITSHUFFLE;
+            else if (strcmp(param->value, "no") == 0) 
+               shuffle = BLOSC_NOSHUFFLE;
+            else
+            {
+                log_warn("Blosc: unknown shuffle %s, disable shuffle\n",param->value);
+            }
+        }
+        else if( strcmp(param->key, "threads") == 0 )
+        {
+            num_threads = atoi( param->value );
+            if( num_threads < 1 || num_threads > 8)
+                num_threads = 1;
+        }
+        else if( strcmp( param->key, "compressor") == 0 )
+        {
+            strcpy( compressor, param->value );
+            if( strcmp( compressor, "memcpy") != 0 && blosc_set_compressor( compressor ) < 0 )
+            {
+                log_warn("Blosc: unknown compressor %s, switch to memcpy\n",param->value);
+                strcpy( compressor, "memcpy" );
+            }
+        }
+        else
+        {
+            adios_error(err_invalid_argument, "An unknown Blosc compression parameter '%s' was specified for variable %s.\n",
+                        param->key, var->name);
+            return 0;
+        }
+    }
+
+    
+    // decide the output buffer
+    uint64_t output_size = input_size + max_overhead; // for compression, at most the original data size
+    char* output_buff = NULL;
+
+    if (use_shared_buffer)    // If shared buffer is permitted, serialize to there
+    {
+        *wrote_to_shared_buffer = 1;
+        if (!shared_buffer_reserve(fd, output_size))
+        {
+            log_error("Out of memory allocating %" PRIu64 " bytes for %s for blosc transform\n", output_size, var->name);
+            return 0;
+        }
+
+        // Write directly to the shared buffer
+        output_buff = (char*)( fd->buffer + fd->offset );
+    }
+    else    // Else, fall back to var->adata memory allocation
+    {
+        *wrote_to_shared_buffer = 0;
+        output_buff = (char*)malloc(output_size);
+        if (!output_buff)
+        {
+            log_error("Out of memory allocating %" PRIu64 " bytes for %s for blosc transform\n", output_size, var->name);
+            return 0;
+        }
+    }
+
+    uint64_t actual_output_size = 0;
+    uint64_t input_offset = 0;
+    int compress_failed = 0;
+    
+    if( input_size < threshold_size )
+    {
+        /* disable compression */
+        compress_failed = 1;
+    }
+    
+    if( strcmp( compressor, "memcpy") == 0 )
+    {
+        char* envvar = getenv("BLOSC_COMPRESSOR");
+        if (envvar == NULL)
+            compress_failed = 1;
+    }
+        
+    blosc_set_nthreads(num_threads);
+    adiosBloscSize_t compressed_size_last_chunk = 0;
+    uint64_t chunk = 0;
+    for(; (chunk < num_chunks || input_offset < input_size) && !compress_failed; ++chunk)
+    {
+        adiosBloscSize_t max_intput_size = ADIOS_BLOSC_MAX_INPUT_SIZE;
+        // handle the last not full chunk
+        if (chunk >= num_chunks)
+            max_intput_size = input_size - input_offset;
+        adiosBloscSize_t max_chunk_size = max_intput_size + ADIOS_BLOSC_MAX_OVERHEAD;
+       
+        const char* in_ptr = input_buff + input_offset;
+        char* out_ptr = output_buff + actual_output_size;
+
+        adiosBloscSize_t compressed_size = 0;
+        compress_failed = adios_transform_blosc_compress(in_ptr, max_intput_size,
+                                          out_ptr, max_chunk_size,&compressed_size,
+                                          compress_level, shuffle, typesize );
+        
+        if (chunk >= num_chunks)
+            compressed_size_last_chunk = compressed_size;
+
+        /* add size to written output data */
+        input_offset += (uint64_t) max_intput_size;
+        actual_output_size += (int64_t) compressed_size;
+    }
+    
+    if (!compress_failed)
+        assert(input_offset == input_size);
+    
+    if(compress_failed)
+    {
+        memcpy(output_buff, input_buff, input_size);
+        actual_output_size = input_size;
+    }
+
+    // Wrap up, depending on buffer mode
+    if (use_shared_buffer)
+    {
+        shared_buffer_mark_written(fd, actual_output_size);
+    }
+    else
+    {
+        var->adata = output_buff;
+        var->data_size = actual_output_size;
+        var->free_data = adios_flag_yes;
+    }
+
+    // copy the metadata, simply the original size before compression
+    if(var->transform_metadata && var->transform_metadata_len > 0)
+    {
+        adiosBloscSize_t n_chunks = num_chunks;
+        
+        if(compress_failed == 1)
+        {
+            n_chunks = 0;
+            compressed_size_last_chunk = 0;
+        }
+        /* store size of the chunk behind the bit mask */
+        memcpy((char*)var->transform_metadata, &n_chunks, sizeof(adiosBloscSize_t));
+        /* store the bit mask */
+        memcpy((char*)var->transform_metadata + sizeof(adiosBloscSize_t), &compressed_size_last_chunk, sizeof(adiosBloscSize_t));
+    }
+
+    *transformed_len = actual_output_size; // Return the size of the data buffer
+    return 1;
+}
+
+#else
+
+DECLARE_TRANSFORM_WRITE_METHOD_UNIMPL(blosc)
+
+#endif
diff --git a/src/transforms/adios_transform_sz_read.c b/src/transforms/adios_transform_sz_read.c
index ce67d03..bb4762f 100644
--- a/src/transforms/adios_transform_sz_read.c
+++ b/src/transforms/adios_transform_sz_read.c
@@ -39,7 +39,7 @@ adios_datablock * adios_transform_sz_pg_reqgroup_completed(adios_transform_read_
                                                            adios_transform_pg_read_request *completed_pg_reqgroup)
 {
     //log_debug("function: %s\n", __FUNCTION__);
-    int raw_size = (int) completed_pg_reqgroup->raw_var_length;
+    size_t raw_size = (size_t) completed_pg_reqgroup->raw_var_length;
     unsigned char *raw_buff = completed_pg_reqgroup->subreqs->data;
 
     // Get type info
@@ -66,7 +66,7 @@ adios_datablock * adios_transform_sz_pg_reqgroup_completed(adios_transform_read_
         return NULL;
     }
 
-    int r[5] = {0,0,0,0,0};
+    size_t r[5] = {0,0,0,0,0};
     int i = 0;
     for(i = 0; i < ndims; i++)
     {
@@ -89,7 +89,7 @@ adios_datablock * adios_transform_sz_pg_reqgroup_completed(adios_transform_read_
     }
     //log_debug("=== SZ decompress ===\n");
     log_debug("%s: %d\n", "SZ dtype", dtype);
-    log_debug("%s: %d\n", "SZ raw_size", raw_size);
+    log_debug("%s: %lu\n", "SZ raw_size", raw_size);
     /*
     log_debug("%s: %d %d %d %d %d ... %d %d %d %d %d\n", "SZ out_buff",
               raw_buff[0], raw_buff[1], raw_buff[2], raw_buff[3], raw_buff[4],
@@ -101,7 +101,7 @@ adios_datablock * adios_transform_sz_pg_reqgroup_completed(adios_transform_read_
     }
     log_debug("%s: %d\n", "SZ sum", sum);
      */
-    log_debug("%s: %d %d %d %d %d\n", "SZ dim", r[0], r[1], r[2], r[3], r[4]);
+    log_debug("%s: %lu %lu %lu %lu %lu\n", "SZ dim", r[0], r[1], r[2], r[3], r[4]);
     //log_debug("=====================\n");
 
     return adios_datablock_new_whole_pg(reqgroup, completed_pg_reqgroup, orig_buff);
diff --git a/src/transforms/adios_transform_sz_write.c b/src/transforms/adios_transform_sz_write.c
index fca49b0..bb3f02d 100644
--- a/src/transforms/adios_transform_sz_write.c
+++ b/src/transforms/adios_transform_sz_write.c
@@ -52,6 +52,16 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
     const uint64_t input_size = adios_transform_get_pre_transform_var_size(var);
     const void *input_buff = var->data;
 
+    // Get dimension info
+    struct adios_dimension_struct* d = var->pre_transform_dimensions;
+    int ndims = (uint) count_dimensions(d);
+    //log_debug("ndims: %d\n", ndims);
+    if (ndims > 5)
+    {
+        adios_error(err_transform_failure, "No more than 5 dimension is supported.\n");
+        return -1;
+    }
+
     sz_params sz;
     memset(&sz, 0, sizeof(sz_params));
     sz.max_quant_intervals = 65536;
@@ -68,12 +78,14 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
     sz.errorBoundMode = ABS;
     sz.absErrBound = 1E-4;
     sz.relBoundRatio = 1E-3;
+    sz.psnr = 80.0;
     sz.pw_relBoundRatio = 1E-5;
-    sz.segment_size = 32;
+    sz.segment_size = (int)pow(5, (double)ndims);
+    sz.pwr_type = SZ_PWR_MIN_TYPE;
 
     unsigned char *bytes;
-    int outsize;
-    int r[5] = {0,0,0,0,0};
+    size_t outsize;
+    size_t r[5] = {0,0,0,0,0};
 
     /* SZ parameters */
     int use_configfile = 0;
@@ -196,6 +208,27 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
         {
             sz.segment_size = atoi(param->value);
         }
+        else if (strcmp(param->key, "pwr_type") == 0)
+        {
+            int pwr_type = SZ_PWR_MIN_TYPE;
+            if (!strcmp(param->key, "MIN") || !strcmp(param->key, "SZ_PWR_MIN_TYPE"))
+            {
+              pwr_type = SZ_PWR_MIN_TYPE;
+            }
+            else if (!strcmp(param->key, "AVG") || !strcmp(param->key, "SZ_PWR_AVG_TYPE"))
+            {
+              pwr_type = SZ_PWR_AVG_TYPE;
+            }
+            else if (!strcmp(param->key, "MAX") || !strcmp(param->key, "SZ_PWR_MAX_TYPE"))
+            {
+              pwr_type = SZ_PWR_MAX_TYPE;
+            }
+            else
+            {
+              log_warn("An unknown pwr_type: %s\n", param->value);
+            }
+            sz.pwr_type = pwr_type;
+        }
         else if (!strcmp(param->key, "abs") || !strcmp(param->key, "absolute") || !strcmp(param->key, "accuracy"))
         {
             sz.errorBoundMode = ABS;
@@ -206,6 +239,11 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
             sz.errorBoundMode = REL;
             sz.relBoundRatio = atof(param->value);
         }
+        else if (!strcmp(param->key, "pw") || !strcmp(param->key, "pwr") || !strcmp(param->key, "pwrel") || !strcmp(param->key, "pwrelative"))
+        {
+            sz.errorBoundMode = PW_REL;
+            sz.pw_relBoundRatio = atof(param->value);
+        }
         else
         {
             log_warn("An unknown SZ parameter: %s\n", param->key);
@@ -236,8 +274,10 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
             log_debug("%s: %d\n", "sz.errorBoundMode", sz.errorBoundMode);
             log_debug("%s: %g\n", "sz.absErrBound", sz.absErrBound);
             log_debug("%s: %g\n", "sz.relBoundRatio", sz.relBoundRatio);
+            log_debug("%s: %g\n", "sz.psnr", sz.psnr);
             log_debug("%s: %g\n", "sz.pw_relBoundRatio", sz.pw_relBoundRatio);
             log_debug("%s: %d\n", "sz.segment_size", sz.segment_size);
+            log_debug("%s: %d\n", "sz.pwr_type", sz.pwr_type);
         }
         SZ_Init_Params(&sz);
     }
@@ -258,16 +298,6 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
             break;
     }
 
-    // Get dimension info
-    struct adios_dimension_struct* d = var->pre_transform_dimensions;
-    int ndims = (uint) count_dimensions(d);
-    //log_debug("ndims: %d\n", ndims);
-    if (ndims > 5)
-    {
-        adios_error(err_transform_failure, "No more than 5 dimension is supported.\n");
-        return -1;
-    }
-
     // r[0] is the fastest changing dimension and r[4] is the lowest changing dimension
     // In C, r[0] is the last dimension. In Fortran, r[0] is the first dimension
     for (i=0; i<ndims; i++)
@@ -285,10 +315,10 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
 
     unsigned char *raw_buff = (unsigned char*) bytes;
 
-    int raw_size = outsize;
+    size_t raw_size = outsize;
     //log_debug("=== SZ compress ===\n");
     log_debug("%s: %d\n", "SZ dtype", dtype);
-    log_debug("%s: %d\n", "SZ out_size", raw_size);
+    log_debug("%s: %lu\n", "SZ out_size", raw_size);
     /*
     log_debug("%s: %d %d %d %d %d ... %d %d %d %d %d\n", "SZ out_buff",
               raw_buff[0], raw_buff[1], raw_buff[2], raw_buff[3], raw_buff[4],
@@ -300,7 +330,7 @@ int adios_transform_sz_apply(struct adios_file_struct *fd,
     }
     log_debug("%s: %d\n", "SZ sum", sum);
      */
-    log_debug("%s: %d %d %d %d %d\n", "SZ dim", r[0], r[1], r[2], r[3], r[4]);
+    log_debug("%s: %lu %lu %lu %lu %lu\n", "SZ dim", r[0], r[1], r[2], r[3], r[4]);
     //log_debug("===================\n");
 
     // Output
diff --git a/src/transforms/transform_plugins.h b/src/transforms/transform_plugins.h
index d7c7135..90c8872 100644
--- a/src/transforms/transform_plugins.h
+++ b/src/transforms/transform_plugins.h
@@ -14,3 +14,4 @@ REGISTER_TRANSFORM_PLUGIN(alacrity, "alacrity", "ncsu-alacrity", "ALACRITY index
 REGISTER_TRANSFORM_PLUGIN(zfp, "zfp", "zfp", "zfp compression")
 REGISTER_TRANSFORM_PLUGIN(sz, "sz", "sz", "sz compression")
 REGISTER_TRANSFORM_PLUGIN(lz4, "lz4", "lz4", "lz4 compression")
+REGISTER_TRANSFORM_PLUGIN(blosc, "blosc", "blosc", "blosc compression")
diff --git a/src/write/adios_flexpath.c b/src/write/adios_flexpath.c
index 4e6fa7b..0ba5e61 100644
--- a/src/write/adios_flexpath.c
+++ b/src/write/adios_flexpath.c
@@ -100,14 +100,19 @@ typedef struct _flexpath_dim_names {
     LIST_ENTRY(_flexpath_dim_names) entries;
 } FlexpathDimNames;
 
+typedef struct bitfield {
+    int len;
+    uint64_t *array;
+} bitfield;
+
 // structure for file data (metadata and buffer)
 typedef struct _flexpath_fm_structure {
     FMStructDescRec *format;
     int size;
     unsigned char *buffer;
+    bitfield write_bitfield;
     FMFormat ioFormat;
     int nattrs;
-    LIST_HEAD(tableHead, _flexpath_name_table) nameList;
     LIST_HEAD(dims, _flexpath_dim_names) dimList;
 } FlexpathFMStructure;
 
@@ -175,6 +180,36 @@ typedef struct _flexpath_write_data {
     CManager cm;
 } FlexpathWriteData;
 
+static void
+set_bitfield(bitfield *b, int the_bit)
+{
+    int element = the_bit / (sizeof(b->array[0]) * 8);
+    int bit = the_bit % (sizeof(b->array[0]) * 8);
+    if (element >= b->len) {
+        b->array = realloc(b->array, sizeof(b->array[0]) * (element + 1));
+    }
+    b->array[element] |= (1<<bit);
+}
+
+static void
+clear_bitfield(bitfield *b)
+{
+    memset(b->array, 0, b->len * sizeof(b->array[0]));
+}
+
+static void
+init_bitfield(bitfield *b, int max)
+{
+    int len = 1;
+    if (max > sizeof(b->array[0]) * 8) {
+        len = (max + (sizeof(b->array[0]) * 8) - 1 ) / (sizeof(b->array[0]) * 8);
+    }
+    b->len = len;
+    b->array = realloc(b->array, sizeof(b->array[0]) * len);
+    clear_bitfield(b);
+}
+
+
 /************************* Global Variable Declarations *************************/
 static atom_t RANK_ATOM = -1;
 static atom_t TIMESTEP_ATOM = -1;
@@ -184,7 +219,7 @@ static atom_t QUEUE_SIZE = -1;
 static atom_t NATTRS = -1;
 
 // used for global communication and data structures
-FlexpathWriteData flexpathWriteData;
+FlexpathWriteData flexpathWriteData = {0, NULL, NULL};
 
 /**************************** Function Definitions *********************************/
 static void 
@@ -485,6 +520,20 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
 	*size += sizeof(int);
 	break;
 
+    case adios_unsigned_short:
+	field_list[fieldNo].field_type = strdup("unsigned integer");
+	field_list[fieldNo].field_size = sizeof(unsigned short);
+	field_list[fieldNo].field_offset = *size;
+	*size += sizeof(unsigned short);
+	break;
+	
+    case adios_short:
+	field_list[fieldNo].field_type = strdup("integer");
+	field_list[fieldNo].field_size = sizeof(short);
+	field_list[fieldNo].field_offset = *size;
+	*size += sizeof(short);
+	break;
+
     case adios_real:       
 	field_list[fieldNo].field_type = strdup("float");
 	field_list[fieldNo].field_size = sizeof(float);
@@ -527,6 +576,13 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
 	*size += sizeof(char);
 	break;
 
+    case adios_unsigned_byte:
+	field_list[fieldNo].field_type = strdup("char");
+	field_list[fieldNo].field_size = sizeof(char);
+	field_list[fieldNo].field_offset = *size;
+	*size += sizeof(unsigned char);
+	break;
+
     case adios_long:
 	field_list[fieldNo].field_type = strdup("integer");
 	field_list[fieldNo].field_size = sizeof(long);
@@ -563,14 +619,18 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
 }
 
 // find a field in a given field list
-static FMField*
+static int
 internal_find_field(char *name, FMFieldList flist) 
 {
-    FMField *f = flist;
-    while (f->field_name != NULL && strcmp(f->field_name, name)) {
-	f++;
+    int i = 0;
+    while (flist[i].field_name != NULL && strcmp(flist[i].field_name, name)) {
+        i++;
+    }
+    if (flist[i].field_name == NULL) {
+        return -1;
+    } else {
+        return i;
     }
-    return f;
 }
 
 // generic memory check for after mallocs
@@ -706,7 +766,7 @@ set_field_type(int type, FMFieldList field_list, int fieldNo, char *dims, int al
             snprintf((char *) field_list[fieldNo].field_type, 255, "*(char%s)",
                      dims);
         } else {
-            snprintf((char *) field_list[fieldNo].field_type, 255, "*(char%s)",
+            snprintf((char *) field_list[fieldNo].field_type, 255, "char%s",
                      dims);
         }
         field_list[fieldNo].field_size = sizeof(char);
@@ -714,6 +774,55 @@ set_field_type(int type, FMFieldList field_list, int fieldNo, char *dims, int al
         currentFm->size += sizeof(void *);
         break;
         
+    case adios_unsigned_byte:
+        field_list[fieldNo].field_type =
+            (char *) malloc(sizeof(char) * 255);
+        if (all_static) {
+            snprintf((char *) field_list[fieldNo].field_type, 255, "*(char%s)",
+                     dims);
+        } else {
+            snprintf((char *) field_list[fieldNo].field_type, 255, "char%s",
+                     dims);
+        }
+        field_list[fieldNo].field_size = sizeof(unsigned char);
+        field_list[fieldNo].field_offset = currentFm->size;
+        currentFm->size += sizeof(void *);
+        break;
+        
+    case adios_short:
+        // to distinguish on reader_side, I have to look at the size also
+        field_list[fieldNo].field_type =
+            (char *) malloc(sizeof(char) * 255);
+        if (all_static) {
+            snprintf((char *) field_list[fieldNo].field_type, 255,
+                     "*(integer%s)", dims);
+        } else {
+            snprintf((char *) field_list[fieldNo].field_type, 255,
+                     "integer%s", dims);
+        }
+        field_list[fieldNo].field_size = sizeof(short);
+	
+        field_list[fieldNo].field_offset = currentFm->size;
+        currentFm->size += sizeof(void *);
+        break;
+	
+    case adios_unsigned_short: // needs to be unsigned integer in ffs
+        // to distinguish on reader_side, I have to look at the size also
+        field_list[fieldNo].field_type =
+            (char *) malloc(sizeof(char) * 255);
+        if (all_static) {
+            snprintf((char *) field_list[fieldNo].field_type, 255,
+                     "*(unsigned integer%s)", dims);
+        } else {
+            snprintf((char *) field_list[fieldNo].field_type, 255,
+                     "unsigned integer%s", dims);
+        }		    
+        field_list[fieldNo].field_size = sizeof(unsigned short);
+	
+        field_list[fieldNo].field_offset = currentFm->size;
+        currentFm->size += sizeof(void *);
+        break;
+        
     case adios_long: // needs to be unsigned integer in ffs
         // to distinguish on reader_side, I have to look at the size also
         field_list[fieldNo].field_type =
@@ -778,13 +887,13 @@ set_field_type(int type, FMFieldList field_list, int fieldNo, char *dims, int al
         currentFm->size += sizeof(void *);
         break;
         
-    default:
-        fprintf(stderr, "Rejecting field %d, name %s\n", fieldNo, field_list[fieldNo].field_name);
-        adios_error(err_invalid_group, 
-                    "set_format: Unknown Type Error %d: name: %s\n", 
-                    type, field_list[fieldNo].field_name);
-        fieldNo--;	      
-        return 1;
+    /* default: */
+    /*     fprintf(stderr, "Rejecting field %d, name %s\n", fieldNo, field_list[fieldNo].field_name); */
+    /*     adios_error(err_invalid_group,  */
+    /*                 "set_format: Unknown Type Error %d: name: %s\n",  */
+    /*                 type, field_list[fieldNo].field_name); */
+    /*     fieldNo--;	       */
+    /*     return 1; */
         //break;
     }
     return 0;
@@ -799,7 +908,6 @@ set_format(struct adios_group_struct *t,
 {
     FMStructDescRec *format = calloc(4, sizeof(FMStructDescRec));
     FlexpathFMStructure *currentFm = calloc(1, sizeof(FlexpathFMStructure));
-    LIST_INIT(&currentFm->nameList);
     LIST_INIT(&currentFm->dimList);
     currentFm->format = format;
     format[0].format_name = strdup(t->name);
@@ -833,7 +941,7 @@ set_format(struct adios_group_struct *t,
 	    }
 	}
 	field_list[fieldNo].field_name = mangle_name;
-	if (!attr->nelems) {
+	if ((attr->nelems == 0) || (attr->nelems == 1)) {
 	    // set the field type size and offset approrpriately
 	    set_field(attr->type, &field_list, fieldNo, &currentFm->size);
 	} else {
@@ -931,9 +1039,7 @@ set_format(struct adios_group_struct *t,
 	    }
 	    v_offset *= -1;
 		  
-	    while (currentFm->size % 8 != 0) {
-		currentFm->size ++;					
-	    }
+	    currentFm->size = (currentFm->size + 7) & ~7;
 		  
             set_field_type(adios_var->type, field_list, fieldNo, dims, all_static, currentFm);
         }        
@@ -975,14 +1081,14 @@ set_format(struct adios_group_struct *t,
     format[1].struct_size = sizeof(complex_dummy);
     format[2].struct_size = sizeof(double_complex_dummy);
     currentFm->buffer = calloc(1, currentFm->size);
-
+    init_bitfield(&currentFm->write_bitfield, fieldNo);
     return currentFm;
 }
 
 // copies buffer zeroing out pointers to arrays 
 void *copy_buffer_without_array(void *buffer, FlexpathWriteFileData *fileData)
 {
-    ADIOST_CALLBACK_ENTER(adiost_event_fp_copy_buffer, fileData);
+    ADIOST_CALLBACK_ENTER(adiost_event_fp_copy_buffer, (int64_t)fileData);
     char *temp = (char *)malloc(fileData->fm->size);
     memcpy(temp, buffer, fileData->fm->size);
     FMField *f = fileData->fm->format[0].field_list;
@@ -993,7 +1099,7 @@ void *copy_buffer_without_array(void *buffer, FlexpathWriteFileData *fileData)
         }
         f++;
     }
-    ADIOST_CALLBACK_EXIT(adiost_event_fp_copy_buffer, fileData);
+    ADIOST_CALLBACK_EXIT(adiost_event_fp_copy_buffer, (int64_t)fileData);
     return temp;
 }
 
@@ -1097,7 +1203,7 @@ fp_verbose_wrapper(char *format, ...)
     static int MPI_rank = -1;
     if (fp_verbose_set == -1) {
         fp_verbose_set = (getenv("FLEXPATH_VERBOSE") != NULL);
-        MPI_Comm_rank(MPI_COMM_WORLD, &MPI_rank);
+        MPI_rank = flexpathWriteData.rank;
     }
     if (fp_verbose_set) {
         va_list args;
@@ -1115,6 +1221,7 @@ adios_flexpath_init(const PairStruct *params, struct adios_method_struct *method
 {
     static cod_extern_entry externs[] = {   {"fp_verbose", (void*) 0},    {NULL, NULL}};
     // global data structure creation
+    if (flexpathWriteData.cm != NULL) return;
     flexpathWriteData.rank = -1;
     flexpathWriteData.openFiles = NULL;
 
@@ -1138,9 +1245,7 @@ adios_flexpath_init(const PairStruct *params, struct adios_method_struct *method
 	int listened = 0;
 	while (listened == 0) {
 	    if (CMlisten(flexpathWriteData.cm) == 0) {
-		int rank;
-		MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-		fprintf(stderr, "error: writer %d:pid:%d unable to initialize connection manager. Trying again.\n", rank, (int)getpid());
+		fprintf(stderr, "error: writer pid:%d unable to initialize connection manager. Trying again.\n", (int)getpid());
 	    } else {
 		listened = 1;
 	    }
@@ -1177,7 +1282,7 @@ adios_flexpath_open(struct adios_file_struct *fd,
     }
 
     // file creation
-    if (find_open_file(method->group->name)) {
+    if (find_open_file(fd->name)) {
         // stream already open
         return 0;
     }
@@ -1250,15 +1355,15 @@ adios_flexpath_open(struct adios_file_struct *fd,
 
         CMCondition_wait(flexpathWriteData.cm, condition);
         /* recv_buff and fileData->numBridges have been filled in by the reader_register_handler */
-        MPI_Bcast(&sub->numBridges, 1, MPI_INT, 0, MPI_COMM_WORLD);
-        MPI_Bcast(&sub->total_num_readers, 1, MPI_INT, 0, MPI_COMM_WORLD);
-        MPI_Bcast(recv_buff, sub->numBridges * CONTACT_LENGTH, MPI_CHAR, 0, MPI_COMM_WORLD);
+        MPI_Bcast(&sub->numBridges, 1, MPI_INT, 0, fileData->mpiComm);
+        MPI_Bcast(&sub->total_num_readers, 1, MPI_INT, 0, fileData->mpiComm);
+        MPI_Bcast(recv_buff, sub->numBridges * CONTACT_LENGTH, MPI_CHAR, 0, fileData->mpiComm);
         unlink(writer_info_filename);
     } else {
-        MPI_Bcast(&sub->numBridges, 1, MPI_INT, 0, MPI_COMM_WORLD);
-        MPI_Bcast(&sub->total_num_readers, 1, MPI_INT, 0, MPI_COMM_WORLD);
+        MPI_Bcast(&sub->numBridges, 1, MPI_INT, 0, fileData->mpiComm);
+        MPI_Bcast(&sub->total_num_readers, 1, MPI_INT, 0, fileData->mpiComm);
         recv_buff = (char *)malloc(sub->numBridges * CONTACT_LENGTH * sizeof(char));
-        MPI_Bcast(recv_buff, sub->numBridges * CONTACT_LENGTH, MPI_CHAR, 0, MPI_COMM_WORLD);
+        MPI_Bcast(recv_buff, sub->numBridges * CONTACT_LENGTH, MPI_CHAR, 0, fileData->mpiComm);
     }
 
     // build a bridge per line
@@ -1296,9 +1401,9 @@ adios_flexpath_open(struct adios_file_struct *fd,
     }
 
     fileData->fm = set_format(t, fields, fileData);
-
+    
     // attach rank attr and add file to open list
-    fileData->name = strdup(method->group->name);
+    fileData->name = strdup(fd->name);
     fileData->adios_file_data = fd;
     add_open_file(fileData);
     // Template for all other attrs set here
@@ -1324,8 +1429,8 @@ adios_flexpath_open(struct adios_file_struct *fd,
     attr_list multiqueue_stone_attrs = EVextract_attr_list(flexpathWriteData.cm, sub->multiStone);
     add_int_attr(multiqueue_stone_attrs, QUEUE_SIZE, 0);   
 
-    sub->dataSource = EVcreate_submit_handle(flexpathWriteData.cm, sub->multiStone,
-                                             fileData->fm->format);
+    sub->dataSource = EVcreate_submit_handle_free(flexpathWriteData.cm, sub->multiStone,
+						  fileData->fm->format, data_free, fileData);
 
     sub->scalarDataSource = EVcreate_submit_handle(flexpathWriteData.cm, sub->splitStone,
                                                    fileData->fm->format);
@@ -1373,6 +1478,7 @@ adios_flexpath_open(struct adios_file_struct *fd,
 
     if (fileData->rank == 0) {
         reader_go_msg go_msg;
+        memset(&go_msg, 0, sizeof(go_msg));
         go_msg.reader_file = sub->reader_file;
         go_msg.start_timestep = 0;
         CMFormat format = CMregister_simple_format(flexpathWriteData.cm, "Flexpath reader go", reader_go_field_list, sizeof(reader_go_msg));
@@ -1393,10 +1499,10 @@ adios_flexpath_write(
     const void *data, 
     struct adios_method_struct *method) 
 {
-    FlexpathWriteFileData* fileData = find_open_file(method->group->name);
+    FlexpathWriteFileData* fileData = find_open_file(fd->name);
     FlexpathFMStructure* fm = fileData->fm;
 
-    fp_verbose(fileData, " adios_flexpath_write called\n");
+    fp_verbose(fileData, " adios_flexpath_write called for variable %s\n", f->name);
     if (fm == NULL)
     {
 	log_error("adios_flexpath_write: something has gone wrong with format registration: %s\n", 
@@ -1406,11 +1512,15 @@ adios_flexpath_write(
     
     FMFieldList flist = fm->format[0].field_list;
     FMField *field = NULL;
+    int field_num;
     char *fullname = append_path_name(f->path, f->name);
     char *mangle_name = flexpath_mangle(fullname);
-    field = internal_find_field(mangle_name, flist);
+    field_num = internal_find_field(mangle_name, flist);
+
+    if (field_num != -1) {
+        field = &flist[field_num];
+        set_bitfield(&fm->write_bitfield, field_num);
 
-    if (field != NULL) {
 	//scalar quantity
 	if (!f->dimensions) {
 	    if (data) {
@@ -1472,6 +1582,8 @@ adios_flexpath_write(
 	    }
 	}
     }
+    free(fullname);
+    free(mangle_name);
 }
 
 static void 
@@ -1487,7 +1599,9 @@ exchange_dimension_data(struct adios_file_struct *fd, evgroup *gp, FlexpathWrite
     int commsize = fileData->size;
     int send_count = 0;   /* dimension count, sending size and offset per */
     uint64_t *send_block = malloc(1);
+    int i;
     
+    memset(gbl_vars, 0, sizeof(global_var));
     while (pg) {
         struct adios_var_struct * list = pg->vars_written;
         while (list) {
@@ -1514,30 +1628,38 @@ exchange_dimension_data(struct adios_file_struct *fd, evgroup *gp, FlexpathWrite
             send_block = realloc(send_block, (send_count + ndims * 2) * sizeof(send_block[0]));
             memcpy(&send_block[send_count], local_dimensions, ndims * sizeof(send_block[0]));
             memcpy(&send_block[send_count+ndims], local_offsets, ndims * sizeof(send_block[0]));
-            
+	    if (local_offsets) free(local_offsets);
+	    if (local_dimensions) free(local_dimensions);
             
             offset_struct *ostruct = malloc(sizeof(offset_struct));
+            memset(ostruct, 0, sizeof(offset_struct));
             ostruct->offsets_per_rank = ndims;
             ostruct->total_offsets = ndims * commsize;
             ostruct->global_dimensions = global_dimensions;
                 
             num_gbl_vars++;
             gbl_vars = realloc(gbl_vars, sizeof(global_var) * num_gbl_vars);
+	    memset(&gbl_vars[num_gbl_vars-1], 0, sizeof(global_var));
             gbl_vars[num_gbl_vars - 1].name = fullname;
             gbl_vars[num_gbl_vars - 1].noffset_structs = 1;
             gbl_vars[num_gbl_vars - 1].offsets = ostruct;
-
             send_count += ndims * 2;
             list=list->next;
         }
         pg = pg->next;
     }
-    int buf_size = send_count * commsize * sizeof(uint64_t);                
-    uint64_t *comm_block = malloc(buf_size);
+    
+    send_block = realloc(send_block, (send_count + fileData->fm->write_bitfield.len) * sizeof(send_block[0]));
+    memcpy(&send_block[send_count], fileData->fm->write_bitfield.array, 
+           fileData->fm->write_bitfield.len * sizeof(send_block[0]));
+    send_count += fileData->fm->write_bitfield.len;
+    int recv_size = send_count * commsize * sizeof(uint64_t);                
+    uint64_t *comm_block = malloc(recv_size);
 
     MPI_Allgather(send_block, send_count, MPI_UINT64_T,
                   comm_block, send_count, MPI_UINT64_T,
                   fileData->mpiComm);
+    free(send_block);
 
     pg = fd->pgs_written;
     int block_index = 0;
@@ -1546,6 +1668,11 @@ exchange_dimension_data(struct adios_file_struct *fd, evgroup *gp, FlexpathWrite
         struct adios_var_struct * list = pg->vars_written;
         while (list) {
             int i, ndims = get_dim_count(list);
+            uint64_t *local_offsets = NULL;
+            uint64_t *local_dimensions = NULL;
+            uint64_t *global_dimensions = NULL; // same at each rank.
+            ndims = get_var_offsets(list, g, &local_offsets, 
+                                        &local_dimensions, &global_dimensions);
 
             if (ndims == 0) {
                 list=list->next;
@@ -1566,22 +1693,27 @@ exchange_dimension_data(struct adios_file_struct *fd, evgroup *gp, FlexpathWrite
             }
             gbl_vars[gbl_var_index].offsets->local_offsets = all_offsets;
             gbl_vars[gbl_var_index].offsets->local_dimensions = all_local_dims;
-
             gbl_var_index++;
             block_index += ndims * 2;
             list=list->next;
         }
-        
         pg = pg->next;
     }
-    
+    gp->write_bitfields = malloc(fileData->fm->write_bitfield.len * sizeof(send_block[0]) * commsize);
+    gp->bitfield_len = fileData->fm->write_bitfield.len * commsize;
+    for (i=0; i < commsize; i++) {
+        memcpy(&gp->write_bitfields[i * fileData->fm->write_bitfield.len], &comm_block[i*send_count + block_index],
+               fileData->fm->write_bitfield.len * sizeof(send_block[0]));
+    }
     free(comm_block);
+    clear_bitfield(&fileData->fm->write_bitfield);
     if (num_gbl_vars == 0) {
         free(gbl_vars);
         gbl_vars = NULL;
     }
     gp->num_vars = num_gbl_vars;
     gp->vars = gbl_vars;
+    
     //fileData->gp = gp;       
 }
 
@@ -1617,6 +1749,26 @@ free_data_buffer(void * event_data, void * client_data)
     free(event_data);
 }
 
+static void
+free_gp_buffer(void * gp_data, void * client_data)
+{
+    evgroup *gp = (evgroup *) gp_data;
+    int i;
+    free(gp->group_name);
+    for (i=0; i < gp->num_vars; i++) {
+        int j;
+        free(gp->vars[i].name);
+        for (j=0 ; j< gp->vars[i].noffset_structs; j++) {
+            free(gp->vars[i].offsets[j].local_dimensions);
+            free(gp->vars[i].offsets[j].local_offsets);
+            free(gp->vars[i].offsets[j].global_dimensions);
+        }
+        if (gp->vars[i].offsets) free(gp->vars[i].offsets);
+    }
+    if (gp->vars) free(gp->vars);
+    free(gp);
+}
+
 void
 set_attributes_in_buffer(FlexpathWriteFileData *fileData, struct adios_group_struct *group, char *buffer)
 {
@@ -1625,20 +1777,25 @@ set_attributes_in_buffer(FlexpathWriteFileData *fileData, struct adios_group_str
     FMFieldList flist = fm->format[0].field_list;
     for (attr = group->attributes; attr != NULL; attr = attr->next) {
 	FMField *field = NULL;
+        int field_num;
 	char *fullname = append_path_name(attr->path, attr->name);
 	char *mangle_name = flexpath_mangle(fullname);
-	field = internal_find_field(mangle_name, flist);
-
-	if (field != NULL) {
-	    void *data = attr->value;
-	    if (attr->type == adios_string) {
-		char *tmpstr = strdup((char*)data);
-		if (!set_FMPtrField_by_name(flist, mangle_name, buffer, tmpstr)) 
-		    fp_verbose(fileData, "Set fmprtfield by name failed, name %s\n", mangle_name);
-	    } else {
-		memcpy(&buffer[field->field_offset], data, field->field_size);
-	    }
-	}
+	free(fullname);
+	field_num = internal_find_field(mangle_name, flist);
+        if (field_num != -1) {
+            set_bitfield(&fm->write_bitfield, field_num);
+            field = &flist[field_num];
+
+            void *data = attr->value;
+            if (attr->type == adios_string) {
+                char *tmpstr = strdup((char*)data);
+                if (!set_FMPtrField_by_name(flist, mangle_name, buffer, tmpstr)) 
+                    fp_verbose(fileData, "Set fmprtfield by name failed, name %s\n", mangle_name);
+            } else {
+                memcpy(&buffer[field->field_offset], data, field->field_size);
+            }
+        }
+	free(mangle_name);
     }
 }
 
@@ -1658,7 +1815,7 @@ extern void
 adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *method) 
 {
     attr_list attrs = create_attr_list();
-    FlexpathWriteFileData *fileData = find_open_file(method->group->name);
+    FlexpathWriteFileData *fileData = find_open_file(fd->name);
     subscriber_info sub = fileData->subscribers;
 
     fp_verbose(fileData, " adios_flexpath_close called\n");
@@ -1673,8 +1830,8 @@ adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *m
     //send out have got to be different.  We want to identify what is the only scalars message on the 
     //reader side to process it differently.
     attr_list temp_attr_scalars = attr_copy_list(attrs);
-    attr_list temp_attr_noscalars = attr_copy_list(attrs);
-    
+    attr_list temp_attr_noscalars = attrs;
+
     // now gather offsets and send them via MPI to root
     evgroup *gp = malloc(sizeof(evgroup));    
     memset(gp, 0, sizeof(evgroup));
@@ -1682,11 +1839,19 @@ adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *m
     gp->process_id = fileData->rank;
     gp->step = fileData->writerStep;
 
-    set_attributes_in_buffer(fileData, method->group, fileData->fm->buffer);
+    set_attributes_in_buffer(fileData, method->group, (char*)fileData->fm->buffer);
 
     if (fileData->globalCount == 0 ) {
+	int i;
 	gp->num_vars = 0;
 	gp->vars = NULL;
+        // duplicate write_bitfield here
+        gp->write_bitfields = malloc(fileData->fm->write_bitfield.len * sizeof(uint64_t) * fileData->size);
+        gp->bitfield_len = fileData->fm->write_bitfield.len * fileData->size;
+        for (i=0; i < fileData->size; i++) {
+            memcpy(&gp->write_bitfields[i * fileData->fm->write_bitfield.len], fileData->fm->write_bitfield.array,
+                   fileData->fm->write_bitfield.len * sizeof(uint64_t));
+    }
     } else {    
         //Synchronization point due to MPI_All_Gather operation
         exchange_dimension_data(fd, gp, fileData);
@@ -1703,7 +1868,7 @@ adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *m
     memcpy(buffer, fileData->fm->buffer, fileData->fm->size);
 
     //Submit the messages that will get forwarded on immediately to the designated readers through split stone
-    EVsubmit_general(sub->offsetSource, gp, NULL, temp_attr_scalars);
+    EVsubmit_general(sub->offsetSource, gp, free_gp_buffer, temp_attr_scalars);
     EVsubmit_general(sub->scalarDataSource, temp, free_data_buffer, temp_attr_scalars);
 
     //Testing against the maxqueuesize
@@ -1727,7 +1892,7 @@ adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *m
 
 
     //Full data is submitted to multiqueue stone
-    EVsubmit_general(sub->dataSource, buffer, free_data_buffer, temp_attr_noscalars);
+    EVsubmit(sub->dataSource, buffer, temp_attr_noscalars);
 
     free_attr_list(temp_attr_scalars);
     free_attr_list(temp_attr_noscalars);
@@ -1740,6 +1905,7 @@ extern void
 adios_flexpath_finalize(int mype, struct adios_method_struct *method) 
 {
     FlexpathWriteFileData* fileData = flexpathWriteData.openFiles;
+    if (!fileData) return;
     fp_verbose(fileData, "adios_flexpath_finalize called\n");
     subscriber_info sub = fileData->subscribers;
 
diff --git a/src/write/adios_mpi_amr.c b/src/write/adios_mpi_amr.c
index 7f5c740..7994785 100644
--- a/src/write/adios_mpi_amr.c
+++ b/src/write/adios_mpi_amr.c
@@ -922,7 +922,6 @@ void * adios_mpi_amr_do_mkdir (char * path)
 
 void * adios_mpi_amr_do_open_thread (void * param)
 {
-    ADIOST_CALLBACK_ENTER(adiost_event_thread, NULL, __func__);
     struct adios_MPI_thread_data_open * td = (struct adios_MPI_thread_data_open *) param;
     int err;
 
@@ -950,10 +949,19 @@ void * adios_mpi_amr_do_open_thread (void * param)
                      td->md->subfile_name, e);
     }
 
-    ADIOST_CALLBACK_ENTER(adiost_event_thread, NULL, __func__);
     return NULL;
 }
 
+/* This is so we can time the worker thread,
+ * and distinguish it from a direct function call. */
+void * adios_mpi_amr_do_open_thread_threaded (void * param)
+{
+    ADIOST_CALLBACK_ENTER(adiost_event_thread, NULL, __func__); 
+    void * rv = adios_mpi_amr_do_open_thread (param);
+    ADIOST_CALLBACK_EXIT(adiost_event_thread, NULL, __func__); 
+    return rv;
+}
+
 // reopen a subfile for append and read/build the existing index
 void * adios_mpi_amr_do_reopen_thread (void * param)
 {
@@ -1049,7 +1057,6 @@ void * adios_mpi_amr_do_reopen_thread (void * param)
 
 void * adios_mpi_amr_do_write_thread (void * param)
 {
-    ADIOST_CALLBACK_ENTER(adiost_event_thread, NULL, __func__);
     struct adios_MPI_thread_data_write * td = (struct adios_MPI_thread_data_write *) param;
 
     uint64_t count = adios_mpi_amr_striping_unit_write(
@@ -1066,10 +1073,18 @@ void * adios_mpi_amr_do_write_thread (void * param)
             count, td->total_data_size);
     }
 
-    ADIOST_CALLBACK_EXIT(adiost_event_thread, NULL, __func__);
     return NULL;
 }
 
+/* This is so we can time the worker thread,
+ * and distinguish it from a direct function call. */
+void * adios_mpi_amr_do_write_thread_threaded (void * param) {
+    ADIOST_CALLBACK_ENTER(adiost_event_thread, NULL, __func__);
+    void * rv = adios_mpi_amr_do_write_thread (param);
+    ADIOST_CALLBACK_EXIT(adiost_event_thread, NULL, __func__);
+    return rv;
+}
+
 void adios_mpi_amr_init (const PairStruct * parameters
                          ,struct adios_method_struct * method
                          )
@@ -1311,7 +1326,7 @@ int adios_mpi_amr_open (struct adios_file_struct * fd
                 if (md->g_threading)
                 {
                     pthread_create (&md->g_sot, NULL
-                            ,adios_mpi_amr_do_open_thread
+                            ,adios_mpi_amr_do_open_thread_threaded
                             ,(void *) md->open_thread_data
                             );
                 }
@@ -1954,7 +1969,7 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
                 if (md->g_threading)
                 {
                     pthread_create (&md->g_swt, NULL
-                            ,adios_mpi_amr_do_write_thread
+                            ,adios_mpi_amr_do_write_thread_threaded
                             ,(void *) &write_thread_data
                             );
                 }
@@ -2474,7 +2489,7 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
                 if (md->g_threading)
                 {
                     pthread_create (&md->g_swt, NULL
-                            ,adios_mpi_amr_do_write_thread
+                            ,adios_mpi_amr_do_write_thread_threaded
                             ,(void *) &write_thread_data
                             );
                 }
diff --git a/src/zfp/Makefile.in b/src/zfp/Makefile.in
index 0cae0c3..dca8e54 100644
--- a/src/zfp/Makefile.in
+++ b/src/zfp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,11 +89,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/zfp
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -119,6 +129,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -210,6 +221,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -249,6 +261,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -484,6 +500,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -562,7 +579,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/zfp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu src/zfp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -929,6 +945,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/C/Makefile.in b/tests/C/Makefile.in
index b29204f..3947fab 100644
--- a/tests/C/Makefile.in
+++ b/tests/C/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = adios_test_c$(EXEEXT)
 subdir = tests/C
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -213,6 +224,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -277,6 +289,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -512,6 +528,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -547,7 +564,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -882,6 +898,8 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/tests/C/fgr_tests/Makefile.in b/tests/C/fgr_tests/Makefile.in
index be1a734..5f9b4e1 100644
--- a/tests/C/fgr_tests/Makefile.in
+++ b/tests/C/fgr_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = posix_fgr$(EXEEXT)
 subdir = tests/C/fgr_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -196,6 +207,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -235,6 +247,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -470,6 +486,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -503,7 +520,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/fgr_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/fgr_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -764,6 +780,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/C/flexpath_tests/1D_arr_global/Makefile.in b/tests/C/flexpath_tests/1D_arr_global/Makefile.in
index 497ad66..d6ec8fe 100644
--- a/tests/C/flexpath_tests/1D_arr_global/Makefile.in
+++ b/tests/C/flexpath_tests/1D_arr_global/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = writer_global$(EXEEXT) reader_global$(EXEEXT)
 subdir = tests/C/flexpath_tests/1D_arr_global
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -204,6 +215,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -243,6 +255,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -478,6 +494,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -514,7 +531,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/1D_arr_global/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/1D_arr_global/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -779,6 +795,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in b/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in
index e602c49..d451113 100644
--- a/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in
+++ b/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = writer_global_noxml$(EXEEXT) \
 	reader_global_noxml$(EXEEXT)
 subdir = tests/C/flexpath_tests/1D_arr_global_noxml
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -211,6 +222,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -250,6 +262,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -485,6 +501,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -521,7 +538,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/1D_arr_global_noxml/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/1D_arr_global_noxml/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -786,6 +802,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/readme.txt $(builddir)
diff --git a/tests/C/flexpath_tests/Makefile.am b/tests/C/flexpath_tests/Makefile.am
index 8d9c6ab..921a143 100644
--- a/tests/C/flexpath_tests/Makefile.am
+++ b/tests/C/flexpath_tests/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS=1D_arr_global 1D_arr_global_noxml global_range_select maya_noxml scalar local_arrays
+SUBDIRS=1D_arr_global 1D_arr_global_noxml global_range_select maya_noxml scalar local_arrays two_streams
 
 EXTRA_DIST = include/misc.h include/test_common.h  include/utils.h  
 
diff --git a/tests/C/flexpath_tests/Makefile.in b/tests/C/flexpath_tests/Makefile.in
index 24bde93..92f7395 100644
--- a/tests/C/flexpath_tests/Makefile.in
+++ b/tests/C/flexpath_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = tests/C/flexpath_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -484,7 +501,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = 1D_arr_global 1D_arr_global_noxml global_range_select maya_noxml scalar local_arrays
+SUBDIRS = 1D_arr_global 1D_arr_global_noxml global_range_select maya_noxml scalar local_arrays two_streams
 EXTRA_DIST = include/misc.h include/test_common.h  include/utils.h  
 all: all-recursive
 
@@ -501,7 +518,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -796,6 +812,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/C/flexpath_tests/global_range_select/Makefile.in b/tests/C/flexpath_tests/global_range_select/Makefile.in
index b84f58a..7cdfbf8 100644
--- a/tests/C/flexpath_tests/global_range_select/Makefile.in
+++ b/tests/C/flexpath_tests/global_range_select/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = writer_range$(EXEEXT) reader_range$(EXEEXT)
 subdir = tests/C/flexpath_tests/global_range_select
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -204,6 +215,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -243,6 +255,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -478,6 +494,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -514,7 +531,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/global_range_select/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/global_range_select/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -779,6 +795,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/tests/C/flexpath_tests/include/test_common.h b/tests/C/flexpath_tests/include/test_common.h
index fbb8821..faf6b37 100644
--- a/tests/C/flexpath_tests/include/test_common.h
+++ b/tests/C/flexpath_tests/include/test_common.h
@@ -19,7 +19,7 @@
 #define DEBUG
 
 //! Debug printing verbosity
-#define DBG_LEVEL   DBG_DEBUG
+#define DBG_LEVEL   DBG_MESSAGE
 
 // New debug messaging state. There is no sense of a "level" for debugging. Each of these define the
 // purpose of the messages and is enabled/disabled per file
diff --git a/tests/C/flexpath_tests/local_arrays/Makefile.in b/tests/C/flexpath_tests/local_arrays/Makefile.in
index fa5ccc5..aceda8c 100644
--- a/tests/C/flexpath_tests/local_arrays/Makefile.in
+++ b/tests/C/flexpath_tests/local_arrays/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = writer_local$(EXEEXT) reader_local$(EXEEXT)
 subdir = tests/C/flexpath_tests/local_arrays
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -204,6 +215,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -243,6 +255,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -478,6 +494,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -514,7 +531,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/local_arrays/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/local_arrays/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -779,6 +795,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/C/flexpath_tests/maya_noxml/Makefile.in b/tests/C/flexpath_tests/maya_noxml/Makefile.in
index edfc5af..2b07961 100644
--- a/tests/C/flexpath_tests/maya_noxml/Makefile.in
+++ b/tests/C/flexpath_tests/maya_noxml/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = writer_maya_noxml$(EXEEXT) \
 	reader_maya_noxml$(EXEEXT)
 subdir = tests/C/flexpath_tests/maya_noxml
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -210,6 +221,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -249,6 +261,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -484,6 +500,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -520,7 +537,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/maya_noxml/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/maya_noxml/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -785,6 +801,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/C/flexpath_tests/scalar/Makefile.in b/tests/C/flexpath_tests/scalar/Makefile.in
index 0798a24..8d44cd0 100644
--- a/tests/C/flexpath_tests/scalar/Makefile.in
+++ b/tests/C/flexpath_tests/scalar/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = writer_scalar$(EXEEXT) reader_scalar$(EXEEXT)
 subdir = tests/C/flexpath_tests/scalar
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -204,6 +215,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -243,6 +255,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -478,6 +494,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -514,7 +531,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/scalar/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/scalar/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -779,6 +795,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/tests/C/flexpath_tests/two_streams/CMakeLists.txt b/tests/C/flexpath_tests/two_streams/CMakeLists.txt
new file mode 100644
index 0000000..b293d63
--- /dev/null
+++ b/tests/C/flexpath_tests/two_streams/CMakeLists.txt
@@ -0,0 +1,13 @@
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/tests/C/flexpath_tests/include)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
+link_directories(${PROJECT_SOURCE_DIR}/src)
+link_directories(${PROJECT_BINARY_DIR}/src)
+
+
+add_executable(writer_global_noxml writer.c ../common/utils.c)
+target_link_libraries(writer_global_noxml adios ${ADIOSLIB_LDADD} ${MPI_C_LIBRARIES}) 
+
+add_executable(reader_global_noxml reader.c ../common/utils.c)
+target_link_libraries(reader_global_noxml adios ${ADIOSLIB_LDADD} ${MPI_C_LIBRARIES})
diff --git a/tests/C/flexpath_tests/two_streams/Makefile.am b/tests/C/flexpath_tests/two_streams/Makefile.am
new file mode 100644
index 0000000..4a5ab1f
--- /dev/null
+++ b/tests/C/flexpath_tests/two_streams/Makefile.am
@@ -0,0 +1,19 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
+
+AUTOMAKE_OPTIONS = no-dependencies subdir-objects
+
+noinst_PROGRAMS = writer_two_streams reader_two_streams
+
+writer_two_streams_SOURCES = writer.c ../common/utils.c
+writer_two_streams_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+writer_two_streams_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+reader_two_streams_SOURCES = reader.c ../common/utils.c
+reader_two_streams_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+reader_two_streams_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+
+CLEANFILES = *.bp
+CC=$(MPICC)
+
+EXTRA_DIST = cfg.h
+
diff --git a/tests/C/flexpath_tests/maya_noxml/Makefile.in b/tests/C/flexpath_tests/two_streams/Makefile.in
similarity index 89%
copy from tests/C/flexpath_tests/maya_noxml/Makefile.in
copy to tests/C/flexpath_tests/two_streams/Makefile.in
index edfc5af..f8973c3 100644
--- a/tests/C/flexpath_tests/maya_noxml/Makefile.in
+++ b/tests/C/flexpath_tests/two_streams/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,14 +88,14 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-noinst_PROGRAMS = writer_maya_noxml$(EXEEXT) \
-	reader_maya_noxml$(EXEEXT)
-subdir = tests/C/flexpath_tests/maya_noxml
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
+noinst_PROGRAMS = writer_two_streams$(EXEEXT) \
+	reader_two_streams$(EXEEXT)
+subdir = tests/C/flexpath_tests/two_streams
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,35 +131,36 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am__dirstamp = $(am__leading_dot)dirstamp
-am_reader_maya_noxml_OBJECTS = reader.$(OBJEXT) \
+am_reader_two_streams_OBJECTS = reader.$(OBJEXT) \
 	../common/utils.$(OBJEXT)
-reader_maya_noxml_OBJECTS = $(am_reader_maya_noxml_OBJECTS)
+reader_two_streams_OBJECTS = $(am_reader_two_streams_OBJECTS)
 am__DEPENDENCIES_1 =
-reader_maya_noxml_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+reader_two_streams_DEPENDENCIES = $(top_builddir)/src/libadios.a \
 	$(am__DEPENDENCIES_1)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am__v_lt_1 = 
-reader_maya_noxml_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+reader_two_streams_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-	$(AM_CFLAGS) $(CFLAGS) $(reader_maya_noxml_LDFLAGS) $(LDFLAGS) \
-	-o $@
-am_writer_maya_noxml_OBJECTS = writer.$(OBJEXT) \
+	$(AM_CFLAGS) $(CFLAGS) $(reader_two_streams_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_writer_two_streams_OBJECTS = writer.$(OBJEXT) \
 	../common/utils.$(OBJEXT)
-writer_maya_noxml_OBJECTS = $(am_writer_maya_noxml_OBJECTS)
-writer_maya_noxml_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+writer_two_streams_OBJECTS = $(am_writer_two_streams_OBJECTS)
+writer_two_streams_DEPENDENCIES = $(top_builddir)/src/libadios.a \
 	$(am__DEPENDENCIES_1)
-writer_maya_noxml_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+writer_two_streams_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-	$(AM_CFLAGS) $(CFLAGS) $(writer_maya_noxml_LDFLAGS) $(LDFLAGS) \
-	-o $@
+	$(AM_CFLAGS) $(CFLAGS) $(writer_two_streams_LDFLAGS) \
+	$(LDFLAGS) -o $@
 AM_V_P = $(am__v_P_ at AM_V@)
 am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -183,9 +194,9 @@ AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(reader_maya_noxml_SOURCES) $(writer_maya_noxml_SOURCES)
-DIST_SOURCES = $(reader_maya_noxml_SOURCES) \
-	$(writer_maya_noxml_SOURCES)
+SOURCES = $(reader_two_streams_SOURCES) $(writer_two_streams_SOURCES)
+DIST_SOURCES = $(reader_two_streams_SOURCES) \
+	$(writer_two_streams_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -210,6 +221,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -249,6 +261,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -484,6 +500,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -496,14 +513,14 @@ AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
 	-I$(top_srcdir)/src -I$(top_srcdir)/src/public \
 	-I$(srcdir)/../include
 AUTOMAKE_OPTIONS = no-dependencies subdir-objects
-writer_maya_noxml_SOURCES = writer.c ../common/utils.c
-writer_maya_noxml_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
-writer_maya_noxml_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
-reader_maya_noxml_SOURCES = reader.c ../common/utils.c
-reader_maya_noxml_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
-reader_maya_noxml_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+writer_two_streams_SOURCES = writer.c ../common/utils.c
+writer_two_streams_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+writer_two_streams_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+reader_two_streams_SOURCES = reader.c ../common/utils.c
+reader_two_streams_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+reader_two_streams_LDFLAGS = $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
 CLEANFILES = *.bp
-EXTRA_DIST = cfg.h readme.txt
+EXTRA_DIST = cfg.h
 all: all-am
 
 .SUFFIXES:
@@ -517,10 +534,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/maya_noxml/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/flexpath_tests/two_streams/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/maya_noxml/Makefile
-.PRECIOUS: Makefile
+	  $(AUTOMAKE) --gnu tests/C/flexpath_tests/two_streams/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -552,13 +568,13 @@ clean-noinstPROGRAMS:
 	@: > ../common/$(am__dirstamp)
 ../common/utils.$(OBJEXT): ../common/$(am__dirstamp)
 
-reader_maya_noxml$(EXEEXT): $(reader_maya_noxml_OBJECTS) $(reader_maya_noxml_DEPENDENCIES) $(EXTRA_reader_maya_noxml_DEPENDENCIES) 
-	@rm -f reader_maya_noxml$(EXEEXT)
-	$(AM_V_CCLD)$(reader_maya_noxml_LINK) $(reader_maya_noxml_OBJECTS) $(reader_maya_noxml_LDADD) $(LIBS)
+reader_two_streams$(EXEEXT): $(reader_two_streams_OBJECTS) $(reader_two_streams_DEPENDENCIES) $(EXTRA_reader_two_streams_DEPENDENCIES) 
+	@rm -f reader_two_streams$(EXEEXT)
+	$(AM_V_CCLD)$(reader_two_streams_LINK) $(reader_two_streams_OBJECTS) $(reader_two_streams_LDADD) $(LIBS)
 
-writer_maya_noxml$(EXEEXT): $(writer_maya_noxml_OBJECTS) $(writer_maya_noxml_DEPENDENCIES) $(EXTRA_writer_maya_noxml_DEPENDENCIES) 
-	@rm -f writer_maya_noxml$(EXEEXT)
-	$(AM_V_CCLD)$(writer_maya_noxml_LINK) $(writer_maya_noxml_OBJECTS) $(writer_maya_noxml_LDADD) $(LIBS)
+writer_two_streams$(EXEEXT): $(writer_two_streams_OBJECTS) $(writer_two_streams_DEPENDENCIES) $(EXTRA_writer_two_streams_DEPENDENCIES) 
+	@rm -f writer_two_streams$(EXEEXT)
+	$(AM_V_CCLD)$(writer_two_streams_LINK) $(writer_two_streams_OBJECTS) $(writer_two_streams_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -785,6 +801,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/C/flexpath_tests/two_streams/cfg.h b/tests/C/flexpath_tests/two_streams/cfg.h
new file mode 100644
index 0000000..f8f905d
--- /dev/null
+++ b/tests/C/flexpath_tests/two_streams/cfg.h
@@ -0,0 +1,15 @@
+/**
+ * cfg.h
+ *
+ *  Created on: Sep 4, 2013
+ *  Author: Magda Slawinska aka Magic Magg magg dot gatech at gmail.com
+ */
+
+#ifndef CFG_H_
+#define CFG_H_
+
+//! size of the X dimension
+#define NX_DIM 10
+
+
+#endif /* CFG_H_ */
diff --git a/tests/C/flexpath_tests/two_streams/reader.c b/tests/C/flexpath_tests/two_streams/reader.c
new file mode 100644
index 0000000..657e13a
--- /dev/null
+++ b/tests/C/flexpath_tests/two_streams/reader.c
@@ -0,0 +1,195 @@
+/**
+ * arrays_read.c
+ *
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009.  UT-BATTELLE, LLC. All rights reserved.
+ *
+ * Created on: Jul 1, 2013
+ * Author: Magda Slawinska aka Magic Magg magg dot gatech at gmail.com
+ *
+ * This is a test for the FlexPath method based on examples/C/flexpath_arrays
+ */
+
+#include "mpi.h"
+#include "adios.h"
+#include "adios_read.h"
+
+#include "misc.h"
+#include "utils.h"
+#include "test_common.h"
+#include "cfg.h"
+
+#include <stdio.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+// for printing the values of the variable
+#define STR_BUFFER_SIZE 3000
+static    int rank =0, size =0;
+diag_t diag = DIAG_OK;  // to store the diagnostic information
+struct test_info test_result = {TEST_PASSED, "1D_arr_global_noxml"};
+struct err_counts err = { 0, 0};
+struct adios_tsprt_opts adios_opts;
+
+static int
+read_one_stream(char *filename, MPI_Comm comm)
+{
+    int NX = 0;
+    double *t = NULL;
+    // this is an array we expect as a reference array
+    double *t_ref = NULL;
+
+    // I will be working with streams so the lock mode is necessary,
+    // return immediately if the stream unavailable
+    ADIOS_FILE *adios_handle = adios_read_open(filename, adios_opts.method, comm, ADIOS_LOCKMODE_NONE, 0.0);
+    if ( !adios_handle){
+	p_error("Quitting ... (%d) %s\n", adios_errno, adios_errmsg());
+	return DIAG_ERR;
+    }
+    
+    // define portions of data how they will be read
+    ADIOS_SELECTION *sel = NULL;
+    ADIOS_VARINFO *avi = NULL;
+    
+    
+    // for storing the variables
+    char buf[STR_BUFFER_SIZE];
+
+    int step = 0;
+    
+    // read how many processors wrote that array
+    avi = adios_inq_var (adios_handle, "size");
+    if (!avi){
+	p_error("rank %d: Quitting ... (%d) %s\n", rank, adios_errno, adios_errmsg());
+	diag = DIAG_ERR;
+	goto close_adios;
+    }
+    size = *((int*)avi->value);
+    adios_free_varinfo(avi);
+    avi = NULL;
+    
+    // if I run the more readers than writers; just release
+    // the excessive readers
+    if (rank >= size){
+	p_info("rank %d: I am an excessive rank. Nothing to read ...\n", rank);
+	diag = DIAG_OK;
+	goto close_adios;
+    }
+    
+    // read the size of the array
+    avi = adios_inq_var (adios_handle, "NX");
+    if (!avi){
+	p_error("rank %d: Quitting ... (%d) %s\n", rank, adios_errno, adios_errmsg());
+	diag = DIAG_ERR;
+	goto close_adios;
+    }
+    
+    // I expect a scalar that will tell me the size of an array
+    assert(0 == avi->ndim);
+    assert(adios_integer == avi->type);
+    NX = *((int*)avi->value);
+    // I don't need that variable any more
+    adios_free_varinfo(avi);
+    assert(NX_DIM == NX);
+    avi = NULL;
+    
+    
+    // this will define the slice that we want to read; each rank should
+    // read its own slice written by a corresponding writer rank
+    uint64_t count[1] = { NX };
+    uint64_t start[1] = { 0 };
+    start[0] = rank*NX;
+    
+    sel = adios_selection_boundingbox(1,start, count);
+    if( !sel ){
+	p_error("rank %d: Quitting ... (%d) %s\n", rank, adios_errno, adios_errmsg());
+	diag = DIAG_ERR;
+	goto close_adios;
+    }
+    
+    // make the reference array with reference values I expect to get
+    t_ref = calloc(NX, sizeof(double));
+    if (gen_1D_array(t_ref, NX, rank) == DIAG_ERR){
+	p_error("Generating 1D array. Quitting ...\n");
+	diag = DIAG_ERR;
+	goto close_adios;
+    }
+    
+    // allocate the memory for the actual array to be read
+    t = calloc(NX, sizeof(double));
+    
+    if (adios_schedule_read(adios_handle, sel, "var_1d_array",0,1,t) != 0){
+	p_error("rank %d: Quitting ...(%d) %s\n", rank, adios_errno, adios_errmsg());
+	diag = DIAG_ERR;
+	goto just_clean;
+    }
+    
+    // not sure if this assumption is correct; difficult to find in the ADIOS sources
+    if (adios_perform_reads(adios_handle, 1) != 0){
+	p_error("rank %d: Quitting ...(%d) %s\n", rank, adios_errno, adios_errmsg());
+	diag = DIAG_ERR;
+	goto just_clean;
+    }
+    
+    sprintf(buf, "Rank %d: var_1d_array: step %d: t: ", rank, step);
+    
+    int i = 0;
+    for(i=0; i < NX; ++i){
+	if( t[i] != t_ref[i] ){
+	    p_test_failed("%s: rank %d: for t[%d] (expected %.1f, got %.1f)\n", test_result.name, rank,  i, t_ref[i], t[i] );
+	    test_result.result = TEST_FAILED;
+	    break;
+	}
+    }
+    
+    if (TEST_PASSED == test_result.result)
+	p_test_passed("%s: rank %d\n", test_result.name, rank);
+    
+just_clean:
+    // clean everything
+    adios_selection_delete(sel);
+    sel = NULL;
+    free(t);
+    t = NULL;
+    free(t_ref);
+    t_ref = NULL;
+    
+close_adios:
+    adios_read_close(adios_handle);
+    
+    if ((DIAG_OK == diag) && (TEST_PASSED == test_result.result)) {
+	return 0;
+    } else {
+	return 1;
+    }
+}
+
+int main (int argc, char **argv)
+{
+    MPI_Comm comm = MPI_COMM_WORLD;
+    char filename[256];    // stream 1
+    char filename2[256];    // stream 2
+
+    GET_ENTRY_OPTIONS(adios_opts,  "Runs readers.");
+
+    // adios read initialization
+    MPI_Init( &argc, &argv);
+    MPI_Comm_rank (comm, &rank);
+
+    // depending on the method
+    SET_ERROR_IF_NOT_ZERO(adios_read_init_method(adios_opts.method, comm, adios_opts.adios_options), err.adios);
+    RET_IF_ERROR(err.adios, rank);
+    
+    strcpy(filename, FILE_NAME);
+    strcpy(filename2, "test2.bp");
+
+    read_one_stream(filename, comm);
+    read_one_stream(filename2, comm);
+
+    adios_read_finalize_method(adios_opts.method);
+    MPI_Finalize();
+}
diff --git a/tests/C/flexpath_tests/two_streams/writer.c b/tests/C/flexpath_tests/two_streams/writer.c
new file mode 100644
index 0000000..2e8fc05
--- /dev/null
+++ b/tests/C/flexpath_tests/two_streams/writer.c
@@ -0,0 +1,129 @@
+/**
+ * arrays_write.c
+ *
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009.  UT-BATTELLE, LLC. All rights reserved.
+ *
+ *  Created on: Jul 1, 2013
+ *  Author: Magda Slawinska aka Magic Magg magg dot gatech at gmail.com
+ *
+ * This is an example of writing a 1D array of doubles. Each process
+ * writes the NX sized array of doubles.
+ */
+
+#include "mpi.h"
+#include "adios.h"
+#include "adios_read.h"  // for adios_errno
+
+#include "misc.h"
+#include "utils.h"
+#include "cfg.h"
+#include "test_common.h"
+
+#include <stdio.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+
+static struct adios_tsprt_opts adios_opts;
+static int  rank=0, size=0;
+
+static int
+create_and_write_stream(char *filename, MPI_Comm  comm)
+{
+    int64_t	adios_grp;
+    int64_t 	adios_handle;   // the ADIOS file handle
+    int  NX = NX_DIM;             // size of 1D array we will write
+    double t[NX_DIM];             // this will contain the variables to be tranpsorted
+    int err_count = 0;
+    int retval;
+
+
+    // now declare a group
+    adios_declare_group(&adios_grp, "temperature", "iter", adios_stat_default);
+
+    SET_ERROR_IF_NOT_ZERO(adios_select_method(adios_grp, adios_opts.transport, "", ""), err_count);
+    RET_IF_ERROR(err_count, rank);
+
+    int global_bounds= NX * size;
+    int		offsets= NX * rank;
+
+    adios_define_var (adios_grp, "NX", "", adios_integer, 0, 0, 0);
+    adios_define_var (adios_grp, "size", "", adios_integer, 0, 0, 0);
+    adios_define_var (adios_grp, "rank", "", adios_integer, 0, 0, 0);
+    adios_define_var (adios_grp, "global_bounds", "", adios_integer, 0, 0, 0);
+    adios_define_var (adios_grp, "offsets", "", adios_integer, 0, 0, 0);
+    // NX - local var dimensions, global_bounds - global dimension, offsets - variable local offsets
+    adios_define_var (adios_grp, "var_1d_array", "", adios_double, "10", "global_bounds", "offsets");
+    
+    // open our group and transport method associated with it
+    adios_open (&adios_handle, "temperature", filename, "w", comm);
+    // NX, size, rank, global_bounds, offsets,var_1d_array
+    uint64_t adios_groupsize = 4 + 4 + 4 + 4 + 4 + NX * 8;
+    uint64_t adios_totalsize = 0;
+    
+    retval=adios_group_size (adios_handle, adios_groupsize, &adios_totalsize);
+    if (test_verbose) {
+	fprintf(stderr, "Rank=%d adios_group_size(): adios_groupsize=%" PRIu64 ", adios_totalsize=%" PRIu64 ", retval=%d\n",
+		rank, adios_groupsize, adios_totalsize, retval);
+    }
+    
+    // init the array that I will transport over the sea
+    gen_1D_array(t, NX, rank);
+    
+    // write; don't check errors for simplicity reasons
+    adios_write(adios_handle, "NX", &NX);
+    adios_write(adios_handle, "size", &size);
+    adios_write(adios_handle, "rank", &rank);
+    adios_write(adios_handle, "global_bounds", &global_bounds);
+    adios_write(adios_handle, "offsets", &offsets);
+    adios_write(adios_handle, "var_1d_array", t);
+    
+    if (test_verbose) {
+	fprintf(stderr, "Rank=%d committed write\n", rank);
+    }
+    
+    adios_close(adios_handle);
+    
+}    
+
+int main(int argc, char ** argv)
+{
+    char filename[256];    // stream 1
+    char filename2[256];    // stream 2
+    MPI_Comm  comm = MPI_COMM_WORLD; // required for ADIOS
+	
+    int64_t 	adios_handle2;   // the ADIOS file handle
+
+    GET_ENTRY_OPTIONS(adios_opts, "Runs writers.");
+
+
+    // where I will write the data
+    strcpy(filename, FILE_NAME);
+    strcpy(filename2, "test2.bp");
+
+    // MPI initialization
+    MPI_Init(&argc, &argv);
+    MPI_Comm_rank (comm, &rank);
+    MPI_Comm_size (comm, &size);
+
+    if (adios_init_noxml(comm)) printf("ADIOS INIT FAILED\n");
+
+    // returns 0 (buffer allocated) or 1 (seems everything fine)
+    // I guess size of the buffer in MB
+    adios_set_max_buffer_size (20);
+    
+    create_and_write_stream(filename, comm);
+
+    create_and_write_stream(filename2, comm);
+
+    // clean and finalize the system
+    adios_finalize(rank);
+
+    MPI_Finalize();
+
+    return 0;
+}
+
diff --git a/tests/C/query/Makefile.in b/tests/C/query/Makefile.in
index dba4b3b..67bdee7 100644
--- a/tests/C/query/Makefile.in
+++ b/tests/C/query/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ host_triplet = @host@
 @HAVE_ALACRITY_TRUE at am__append_1 = alacrity
 @HAVE_FASTBIT_TRUE at am__append_2 = fastbit
 subdir = tests/C/query
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -179,6 +190,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = common alacrity fastbit
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -243,6 +255,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -478,6 +494,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -503,7 +520,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/query/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/query/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -798,6 +814,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 #if HAVE_ALACRITY && HAVE_FASTBIT
 #SUBDIRS=alacrity fastbit
diff --git a/tests/C/query/alacrity/Makefile.in b/tests/C/query/alacrity/Makefile.in
index 85e3538..ef64aac 100644
--- a/tests/C/query/alacrity/Makefile.in
+++ b/tests/C/query/alacrity/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -84,11 +94,11 @@ host_triplet = @host@
 @HAVE_ALACRITY_TRUE@	adios_show_bp_file$(EXEEXT) \
 @HAVE_ALACRITY_TRUE@	adios_read_block$(EXEEXT)
 subdir = tests/C/query/alacrity
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -124,6 +134,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -248,6 +259,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -287,6 +299,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -522,6 +538,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -580,7 +597,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/query/alacrity/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/query/alacrity/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -875,6 +891,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/C/query/common/Makefile.in b/tests/C/query/common/Makefile.in
index 0fb099b..79be370 100644
--- a/tests/C/query/common/Makefile.in
+++ b/tests/C/query/common/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -82,11 +92,11 @@ host_triplet = @host@
 noinst_PROGRAMS = compute_expected_query_results$(EXEEXT) \
 	adios_query_test$(EXEEXT)
 subdir = tests/C/query/common
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -122,6 +132,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -228,6 +239,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -267,6 +279,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -502,6 +518,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -541,7 +558,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/query/common/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/query/common/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -814,6 +830,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 #EXTRA_DIST = test_config_flex.xml 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/C/query/fastbit/Makefile.in b/tests/C/query/fastbit/Makefile.in
index 7a681b0..2e54d82 100644
--- a/tests/C/query/fastbit/Makefile.in
+++ b/tests/C/query/fastbit/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,11 +93,11 @@ noinst_PROGRAMS = $(am__EXEEXT_1)
 # Only compile these test programs if we have FastBit, since they rely on FastBit
 @HAVE_FASTBIT_TRUE at am__append_1 = fastbit_tests
 subdir = tests/C/query/fastbit
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -123,6 +133,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -203,6 +214,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -242,6 +254,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -477,6 +493,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -513,7 +530,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/C/query/fastbit/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/C/query/fastbit/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -773,6 +789,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/Fortran/Makefile.in b/tests/Fortran/Makefile.in
index a85eb70..0d5aa10 100644
--- a/tests/Fortran/Makefile.in
+++ b/tests/Fortran/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = adios_test_f$(EXEEXT)
 subdir = tests/Fortran
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -193,6 +204,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -232,6 +244,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -467,6 +483,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -506,7 +523,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Fortran/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/Fortran/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -766,6 +782,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 2125ef7..8e48c57 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 @BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_MPI_TRUE at am__append_2 = Fortran genarray
 @BUILD_WRITE_TRUE@@HAVE_MPI_TRUE at am__append_3 = ${SUITEDIR}
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -180,6 +191,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = test_src C bp_read Fortran genarray suite
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -244,6 +256,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -479,6 +495,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -504,7 +521,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -799,6 +815,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/bp_read/Makefile.in b/tests/bp_read/Makefile.in
index 7838944..73dea7a 100644
--- a/tests/bp_read/Makefile.in
+++ b/tests/bp_read/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -84,11 +94,11 @@ host_triplet = @host@
 @BUILD_FORTRAN_TRUE@	bp_read_f$(EXEEXT) bp_read_f_v1$(EXEEXT) \
 @BUILD_FORTRAN_TRUE@	bp_read_c$(EXEEXT)
 subdir = tests/bp_read
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -124,6 +134,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -244,6 +255,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -283,6 +295,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -518,6 +534,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -574,7 +591,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/bp_read/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/bp_read/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -874,6 +890,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
diff --git a/tests/genarray/Makefile.in b/tests/genarray/Makefile.in
index c73ff42..fb7405d 100644
--- a/tests/genarray/Makefile.in
+++ b/tests/genarray/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ host_triplet = @host@
 noinst_PROGRAMS = genarray$(EXEEXT) genarray2D$(EXEEXT) \
 	copyarray$(EXEEXT) copyarray2D$(EXEEXT)
 subdir = tests/genarray
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -217,6 +228,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -256,6 +268,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -491,6 +507,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -554,7 +571,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/genarray/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/genarray/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -845,6 +861,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/genarray3d.xml $(srcdir)/genarray.xml $(builddir)
diff --git a/tests/suite/Makefile.in b/tests/suite/Makefile.in
index 4183688..9475688 100644
--- a/tests/suite/Makefile.in
+++ b/tests/suite/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = tests/suite
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -507,7 +524,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -802,6 +818,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || ln -sf $(srcdir)/reference $(builddir)
diff --git a/tests/suite/programs/CMakeLists.txt b/tests/suite/programs/CMakeLists.txt
index 363dadd..15cc1ec 100644
--- a/tests/suite/programs/CMakeLists.txt
+++ b/tests/suite/programs/CMakeLists.txt
@@ -24,7 +24,8 @@ set (WRITE_PROGS1 local_array_time
   steps_write
   blocks
   build_standard_dataset
-  test_singlevalue)
+  test_singlevalue
+  joinedarray)
 
 set(WRITE_PROGS2 adios_staged_read
                  adios_staged_read_v2 
diff --git a/tests/suite/programs/Makefile.am b/tests/suite/programs/Makefile.am
index ff4ff5f..ff1d20b 100644
--- a/tests/suite/programs/Makefile.am
+++ b/tests/suite/programs/Makefile.am
@@ -34,7 +34,8 @@ check_C=local_array_time \
 	blocks \
 	build_standard_dataset \
 	transforms_writeblock_read \
-	test_singlevalue
+	test_singlevalue \
+	joinedarray
 
 test_C=
 
@@ -196,6 +197,11 @@ test_singlevalue_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
 test_singlevalue_LDFLAGS = $(AM_LDFLAGS) $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
 test_singlevalue.o: test_singlevalue.c
 
+joinedarray_SOURCES=joinedarray.c
+joinedarray_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+joinedarray_LDFLAGS = $(AM_LDFLAGS) $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+joinedarray.o: joinedarray.c
+
 #transforms_SOURCES=transforms.c
 #transforms_CPPFLAGS = -DADIOS_USE_READ_API_1
 #transforms_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/tests/suite/programs/Makefile.in b/tests/suite/programs/Makefile.in
index 1e7986c..8c0508f 100644
--- a/tests/suite/programs/Makefile.in
+++ b/tests/suite/programs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,12 +91,11 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
 	$(am__EXEEXT_3) $(am__EXEEXT_3) $(am__EXEEXT_3)
 TESTS = $(am__EXEEXT_3) $(am__EXEEXT_3)
 subdir = tests/suite/programs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp $(top_srcdir)/config/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -122,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -144,7 +154,8 @@ CONFIG_CLEAN_VPATH_FILES =
 @BUILD_WRITE_TRUE@	steps_read_stream$(EXEEXT) blocks$(EXEEXT) \
 @BUILD_WRITE_TRUE@	build_standard_dataset$(EXEEXT) \
 @BUILD_WRITE_TRUE@	transforms_writeblock_read$(EXEEXT) \
- at BUILD_WRITE_TRUE@	test_singlevalue$(EXEEXT)
+ at BUILD_WRITE_TRUE@	test_singlevalue$(EXEEXT) \
+ at BUILD_WRITE_TRUE@	joinedarray$(EXEEXT)
 @BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__EXEEXT_2 =  \
 @BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@	posix_method$(EXEEXT)
 am__EXEEXT_3 =
@@ -237,6 +248,13 @@ connect_to_space_subset_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(AM_CFLAGS) $(CFLAGS) $(connect_to_space_subset_LDFLAGS) \
 	$(LDFLAGS) -o $@
+am_joinedarray_OBJECTS = joinedarray.$(OBJEXT)
+joinedarray_OBJECTS = $(am_joinedarray_OBJECTS)
+joinedarray_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+	$(am__DEPENDENCIES_1)
+joinedarray_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(joinedarray_LDFLAGS) $(LDFLAGS) -o $@
 am_local_array_time_OBJECTS = local_array_time.$(OBJEXT)
 local_array_time_OBJECTS = $(am_local_array_time_OBJECTS)
 local_array_time_DEPENDENCIES = $(top_builddir)/src/libadios.a \
@@ -412,10 +430,10 @@ SOURCES = $(adios_amr_write_SOURCES) $(adios_amr_write_2vars_SOURCES) \
 	$(adios_staged_read_v2_SOURCES) \
 	$(adios_transforms_read_write_SOURCES) $(big_file_SOURCES) \
 	$(blocks_SOURCES) $(build_standard_dataset_SOURCES) \
-	$(connect_to_space_subset_SOURCES) $(local_array_time_SOURCES) \
-	$(many_vars_SOURCES) $(path_test_SOURCES) \
-	$(posix_method_SOURCES) $(reuse_dim_SOURCES) \
-	$(selections_SOURCES) $(set_path_SOURCES) \
+	$(connect_to_space_subset_SOURCES) $(joinedarray_SOURCES) \
+	$(local_array_time_SOURCES) $(many_vars_SOURCES) \
+	$(path_test_SOURCES) $(posix_method_SOURCES) \
+	$(reuse_dim_SOURCES) $(selections_SOURCES) $(set_path_SOURCES) \
 	$(set_path_var_SOURCES) $(steps_read_file_SOURCES) \
 	$(steps_read_stream_SOURCES) $(steps_write_SOURCES) \
 	$(test_singlevalue_SOURCES) \
@@ -427,10 +445,10 @@ DIST_SOURCES = $(adios_amr_write_SOURCES) \
 	$(adios_staged_read_v2_SOURCES) \
 	$(adios_transforms_read_write_SOURCES) $(big_file_SOURCES) \
 	$(blocks_SOURCES) $(build_standard_dataset_SOURCES) \
-	$(connect_to_space_subset_SOURCES) $(local_array_time_SOURCES) \
-	$(many_vars_SOURCES) $(path_test_SOURCES) \
-	$(posix_method_SOURCES) $(reuse_dim_SOURCES) \
-	$(selections_SOURCES) $(set_path_SOURCES) \
+	$(connect_to_space_subset_SOURCES) $(joinedarray_SOURCES) \
+	$(local_array_time_SOURCES) $(many_vars_SOURCES) \
+	$(path_test_SOURCES) $(posix_method_SOURCES) \
+	$(reuse_dim_SOURCES) $(selections_SOURCES) $(set_path_SOURCES) \
 	$(set_path_var_SOURCES) $(steps_read_file_SOURCES) \
 	$(steps_read_stream_SOURCES) $(steps_write_SOURCES) \
 	$(test_singlevalue_SOURCES) \
@@ -678,6 +696,8 @@ am__set_b = \
       b='$*';; \
   esac
 DIST_SUBDIRS = examples
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \
+	$(top_srcdir)/config/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -742,6 +762,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -977,6 +1001,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1021,7 +1046,8 @@ check_readonly_C =
 @BUILD_WRITE_TRUE@	blocks \
 @BUILD_WRITE_TRUE@	build_standard_dataset \
 @BUILD_WRITE_TRUE@	transforms_writeblock_read \
- at BUILD_WRITE_TRUE@	test_singlevalue
+ at BUILD_WRITE_TRUE@	test_singlevalue \
+ at BUILD_WRITE_TRUE@	joinedarray
 
 @BUILD_WRITE_TRUE at test_C = 
 @BUILD_WRITE_TRUE at SUBDIRS = examples
@@ -1114,6 +1140,9 @@ transforms_writeblock_read_LDFLAGS = $(AM_LDFLAGS) $(ADIOSREADLIB_LDFLAGS)
 test_singlevalue_SOURCES = test_singlevalue.c
 test_singlevalue_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
 test_singlevalue_LDFLAGS = $(AM_LDFLAGS) $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
+joinedarray_SOURCES = joinedarray.c
+joinedarray_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+joinedarray_LDFLAGS = $(AM_LDFLAGS) $(ADIOSLIB_LDFLAGS) $(ADIOSLIB_EXTRA_LDFLAGS)
 
 #transforms_SOURCES=transforms.c
 #transforms_CPPFLAGS = -DADIOS_USE_READ_API_1
@@ -1147,7 +1176,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/programs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1215,6 +1243,10 @@ connect_to_space_subset$(EXEEXT): $(connect_to_space_subset_OBJECTS) $(connect_t
 	@rm -f connect_to_space_subset$(EXEEXT)
 	$(AM_V_CCLD)$(connect_to_space_subset_LINK) $(connect_to_space_subset_OBJECTS) $(connect_to_space_subset_LDADD) $(LIBS)
 
+joinedarray$(EXEEXT): $(joinedarray_OBJECTS) $(joinedarray_DEPENDENCIES) $(EXTRA_joinedarray_DEPENDENCIES) 
+	@rm -f joinedarray$(EXEEXT)
+	$(AM_V_CCLD)$(joinedarray_LINK) $(joinedarray_OBJECTS) $(joinedarray_LDADD) $(LIBS)
+
 local_array_time$(EXEEXT): $(local_array_time_OBJECTS) $(local_array_time_DEPENDENCIES) $(EXTRA_local_array_time_DEPENDENCIES) 
 	@rm -f local_array_time$(EXEEXT)
 	$(AM_V_CCLD)$(local_array_time_LINK) $(local_array_time_OBJECTS) $(local_array_time_LDADD) $(LIBS)
@@ -1295,6 +1327,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/blocks.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/build_standard_dataset.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/connect_to_space_subset.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/joinedarray.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/local_array_time.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/many_vars.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/path_test.Po at am__quote@
@@ -1476,7 +1509,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -1786,6 +1819,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
@@ -1814,6 +1849,7 @@ steps_read_file.o: steps_read_file.c
 steps_read_stream.o: steps_read_stream.c
 blocks.o: blocks.c
 test_singlevalue.o: test_singlevalue.c
+joinedarray.o: joinedarray.c
 
 # 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/tests/suite/programs/examples/Makefile.in b/tests/suite/programs/examples/Makefile.in
index ddfe030..59227d8 100644
--- a/tests/suite/programs/examples/Makefile.in
+++ b/tests/suite/programs/examples/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = tests/suite/programs/examples
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -118,6 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -177,6 +188,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -241,6 +253,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -476,6 +492,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -500,7 +517,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/programs/examples/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -795,6 +811,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/tests/suite/programs/examples/attributes/Makefile.in b/tests/suite/programs/examples/attributes/Makefile.in
index d7d46fe..3a591b4 100644
--- a/tests/suite/programs/examples/attributes/Makefile.in
+++ b/tests/suite/programs/examples/attributes/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ host_triplet = @host@
 check_PROGRAMS = attributes_write_C$(EXEEXT) \
 	attributes_read_C$(EXEEXT)
 subdir = tests/suite/programs/examples/attributes
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -205,6 +216,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -244,6 +256,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -479,6 +495,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -517,7 +534,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/attributes/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/programs/examples/attributes/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -777,6 +793,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
diff --git a/tests/suite/programs/examples/global_array/Makefile.in b/tests/suite/programs/examples/global_array/Makefile.in
index b3bd6e8..c6751b4 100644
--- a/tests/suite/programs/examples/global_array/Makefile.in
+++ b/tests/suite/programs/examples/global_array/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -86,11 +96,11 @@ check_PROGRAMS = global_array_write_C$(EXEEXT) \
 	global_array_aggregate_by_color_C$(EXEEXT) $(am__EXEEXT_1)
 @BUILD_FORTRAN_TRUE at am__append_1 = global_array_write_F global_array_write_noxml_F global_array_write_byid_noxml_F
 subdir = tests/suite/programs/examples/global_array
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -126,6 +136,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -333,6 +344,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -372,6 +384,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -607,6 +623,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -684,7 +701,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -985,6 +1001,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
diff --git a/tests/suite/programs/examples/global_array_time/Makefile.in b/tests/suite/programs/examples/global_array_time/Makefile.in
index f1a0618..c0e1d5c 100644
--- a/tests/suite/programs/examples/global_array_time/Makefile.in
+++ b/tests/suite/programs/examples/global_array_time/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,11 +93,11 @@ check_PROGRAMS = global_array_time_write_C$(EXEEXT) \
 	global_array_time_write_multifile_C$(EXEEXT) $(am__EXEEXT_1)
 @BUILD_FORTRAN_TRUE at am__append_1 = global_array_time_write_F
 subdir = tests/suite/programs/examples/global_array_time
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -123,6 +133,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -269,6 +280,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -308,6 +320,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -543,6 +559,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -598,7 +615,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array_time/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array_time/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -879,6 +895,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
diff --git a/tests/suite/programs/examples/local_array/Makefile.in b/tests/suite/programs/examples/local_array/Makefile.in
index f7ec517..1e73fa2 100644
--- a/tests/suite/programs/examples/local_array/Makefile.in
+++ b/tests/suite/programs/examples/local_array/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ host_triplet = @host@
 check_PROGRAMS = local_array_write_C$(EXEEXT) \
 	local_array_read_C$(EXEEXT)
 subdir = tests/suite/programs/examples/local_array
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -205,6 +216,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -244,6 +256,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -479,6 +495,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -515,7 +532,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/local_array/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/programs/examples/local_array/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -775,6 +791,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
diff --git a/tests/suite/programs/examples/scalars/Makefile.in b/tests/suite/programs/examples/scalars/Makefile.in
index 3c81e86..2622a71 100644
--- a/tests/suite/programs/examples/scalars/Makefile.in
+++ b/tests/suite/programs/examples/scalars/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,11 +91,11 @@ check_PROGRAMS = scalars_write_C$(EXEEXT) scalars_read_C$(EXEEXT) \
 	$(am__EXEEXT_1)
 @BUILD_FORTRAN_TRUE at am__append_1 = scalars_write_F scalars_read_F
 subdir = tests/suite/programs/examples/scalars
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +131,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -247,6 +258,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -286,6 +298,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -521,6 +537,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -573,7 +590,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/scalars/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/suite/programs/examples/scalars/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -850,6 +866,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
diff --git a/tests/suite/programs/joinedarray.c b/tests/suite/programs/joinedarray.c
new file mode 100644
index 0000000..9e027dc
--- /dev/null
+++ b/tests/suite/programs/joinedarray.c
@@ -0,0 +1,539 @@
+/* 
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009.  UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C test: 
+ *  Write some local arrays with global dimension and then
+ *  read them using global array reading
+ *
+ * How to run: mpirun -np <N> selections
+ * Output: selections.bp
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <string.h>
+#include <errno.h>
+#include "adios.h"
+#include "adios_read.h"
+
+#ifdef DMALLOC
+#include "dmalloc.h"
+#endif
+
+//#define DEBUG_PRINTS
+
+#define log(...) fprintf (stderr, "[rank=%3.3d, line %d]: ", rank, __LINE__); fprintf (stderr, __VA_ARGS__); fflush(stderr);
+#define printE(...) fprintf (stderr, "[rank=%3.3d, line %d]: ERROR: ", rank, __LINE__); fprintf (stderr, __VA_ARGS__); fflush(stderr);
+
+static const int NSTEPS = 1;
+static const char FILENAME[] = "joinedarray.bp";
+#define VALUE1D(rank,step,i) (100*(rank)+10*(step)+i)
+#define VALUE2D(rank,step,i,j) (1000*(rank)+100*(step)+10*(i)+j)
+#define VALUE3D(rank,step,i,j,k) (10000*(rank)+1000*(step)+100*(i)+10*(j)+k)
+
+/* Variables to write */
+int a0;
+int  *a1;
+int  *a2;
+int  *a3;
+
+/* Variables to read */
+int r0;
+int  *r1, *r2, *r3;
+
+static const int ldim1 = 3;
+static const int ldim2 = 5;
+static const int ldim3 = 7;
+int gdim1, gdim2, gdim3;
+int offs1, offs2, offs3;
+
+MPI_Comm    comm = MPI_COMM_WORLD;
+int         rank;
+int         size;
+int64_t     m_adios_group;
+enum ADIOS_READ_METHOD read_method = ADIOS_READ_METHOD_BP;
+
+void alloc_vars()
+{
+    int n;
+
+    gdim1 = size*ldim1;
+    gdim2 = ldim2;
+    gdim3 = ldim3;
+
+    offs1 = rank*ldim1;
+    offs2 = 0;
+    offs3 = 0;
+
+    n = ldim1;
+    a1  = (int*) malloc (n * sizeof(int));
+    r1  = (int*) malloc (n * sizeof(int));
+
+    n = ldim1 * ldim2;
+    a2  = (int*) malloc (n * sizeof(int));
+    r2  = (int*) malloc (n * sizeof(int));
+
+    n = ldim1 * ldim2 * ldim3;
+    a3  = (int*) malloc (n * sizeof(int));
+    r3  = (int*) malloc (n * sizeof(int));
+}
+
+void set_vars(int step)
+{
+    int i, j, k;
+
+    a0 = VALUE1D(rank,step,0);
+
+    for (i=0; i<ldim1; i++) {
+        a1[i] = VALUE1D(rank,step,i);
+        for (j=0; j<ldim2; j++) {
+            a2[i*ldim2+j] = VALUE2D(rank,step,i,j);
+            for (k=0; k<ldim3; k++) {
+                a3[i*ldim2*ldim3+j*ldim3+k] = VALUE3D(rank,step,i,j,k);
+            }
+        }
+    }
+}
+
+void fini_vars()
+{
+    free (a1);
+    free (r1);
+    free (a2);
+    free (r2);
+    free (a3);
+    free (r3);
+}
+
+
+void define_vars();
+int write_file (int step);
+int read_file ();
+
+void Usage() 
+{
+    printf("Usage: joinedarray <method> [w|r]\n"
+            "    <method>:  Method, 0: file, 1: staging with dataspaces\n"
+            "    w: do write only\n"
+            "    r: do read only\n");
+}   
+
+int main (int argc, char ** argv) 
+{
+    int err, step ; 
+    int do_write = 1;
+    int do_read = 1;
+    int m = 0;
+    char write_method[16];
+
+    MPI_Init (&argc, &argv);
+    MPI_Comm_rank (comm, &rank);
+    MPI_Comm_size (comm, &size);
+
+    if (argc > 1) {
+        errno=0;
+        m = strtol (argv[1], NULL, 10);
+        if (errno) { printf("Invalid 1st argument %s\n", argv[1]); Usage(); return 1;}
+    }
+    if (argc > 2) { 
+        if (argv[2][0] == 'w' || argv[2][0] == 'W') {
+            do_read = 0;
+        } else if (argv[2][0] == 'r' || argv[2][0] == 'R') {
+            do_write = 0;
+        } else {
+            printE ("Invalid command line argument %s. Allowed ones:\n"
+                    " w: do write only\n"
+                    " r: do read only\n", argv[2]);
+            MPI_Finalize ();
+            return 1;
+        }
+    }
+
+    if (m==0) {
+        read_method = ADIOS_READ_METHOD_BP;
+        strcpy(write_method,"MPI");
+    } else {
+        read_method = ADIOS_READ_METHOD_DATASPACES;
+        strcpy(write_method,"DATASPACES");
+    }
+
+    
+    log ("Writing: %s method=%s\n"
+         "Reading: %s method=%d\n", 
+        (do_write ? "yes" : "no"), write_method,
+        (do_read ? "yes" : "no"), read_method);
+
+    alloc_vars();
+    if (do_write) {
+        adios_init_noxml (comm);
+    }
+    if (do_read) {
+        err = adios_read_init_method(read_method, comm, "verbose=2");
+        if (err) {
+            printE ("%s\n", adios_errmsg());
+        }
+    }
+
+    
+    if (do_write) {
+        adios_declare_group (&m_adios_group, "joineddim", "", adios_stat_default);
+        adios_select_method (m_adios_group, write_method, "verbose=2", "");
+
+        define_vars();
+
+        for (step=0; step<NSTEPS; step++) {
+            if (!err) {
+                set_vars (step);
+                err = write_file (step); 
+                sleep(1);
+            }
+        }
+        adios_free_group (m_adios_group);
+    }
+
+    if (!err && do_read)
+        err = read_file ();
+
+
+    if (do_read) {
+        adios_read_finalize_method (read_method);
+    }
+    fini_vars();
+    if (do_write) {
+        adios_finalize (rank);
+    }
+    MPI_Finalize ();
+    return err;
+}
+
+
+void define_vars ()
+{
+    int i;
+
+    adios_define_var (m_adios_group, "ldim1", "", adios_integer, 0, 0, 0);
+    adios_define_var (m_adios_group, "ldim2", "", adios_integer, 0, 0, 0);
+    adios_define_var (m_adios_group, "ldim3", "", adios_integer, 0, 0, 0);
+
+    adios_define_var (m_adios_group, "a1", "", adios_integer,
+            "ldim1", "JoinedDim", "");
+
+    adios_define_var (m_adios_group, "a2_1", "", adios_integer,
+            "ldim1,ldim2", "JoinedDim,ldim2", "");
+
+    adios_define_var (m_adios_group, "a2_2", "", adios_integer,
+            "ldim1,ldim2", "ldim1,JoinedDim", "");
+
+    adios_define_var (m_adios_group, "a3_1", "", adios_integer,
+            "ldim1,ldim2,ldim3", "JoinedDim,ldim2,ldim3", "");
+
+    adios_define_var (m_adios_group, "a3_2", "", adios_integer,
+            "ldim1,ldim2,ldim3", "ldim1,JoinedDim,ldim3", "");
+
+    adios_define_var (m_adios_group, "a3_3", "", adios_integer,
+            "ldim1,ldim2,ldim3", "ldim1,ldim2,JoinedDim", "");
+}
+
+int write_file (int step) 
+{
+    int64_t       fh;
+    uint64_t       groupsize=0, totalsize;
+
+    log ("Write step %d to %s\n", step, FILENAME);
+    adios_open (&fh, "joineddim", FILENAME, (step ? "a" : "w"), comm);
+
+    adios_write (fh, "ldim1", &ldim1);
+    adios_write (fh, "ldim2", &ldim2);
+    adios_write (fh, "ldim3", &ldim3);
+
+    adios_write (fh, "a1", a1);
+    adios_write (fh, "a2_1", a2);
+    adios_write (fh, "a2_2", a2);
+    adios_write (fh, "a3_1", a3);
+    adios_write (fh, "a3_2", a3);
+    adios_write (fh, "a3_3", a3);
+
+    adios_close (fh);
+    MPI_Barrier (comm);
+    return 0;
+}
+
+void reset_readvars()
+{
+    int n;
+    
+    r0  = -1;
+
+    n = ldim1;
+    memset (r1,  -1, n*sizeof(int));
+
+    n = ldim1 * ldim2;
+    memset (r2,  -1, n*sizeof(int));
+
+    n = ldim1 * ldim2 * ldim3;
+    memset (r3,  -1, n*sizeof(int));
+}
+
+int read_file()
+{
+    ADIOS_SELECTION *sel1,*sel2_1,*sel2_2,*sel3_1,*sel3_2,*sel3_3;
+    ADIOS_FILE * f;
+    ADIOS_VARINFO * vi;
+    int err=0,n,n1, i,j,k;
+    int nsteps_a, nsteps_b, nsteps_c;
+    int v; 
+
+    uint64_t start[3] = {0,0,0};
+    uint64_t count[3] = {ldim1,ldim2,ldim3};
+    
+    reset_readvars();
+
+    log ("Read and check data in %s using point selections\n", FILENAME);
+    f = adios_read_open (FILENAME, read_method, comm,
+                         ADIOS_LOCKMODE_CURRENT, 0.0);
+    if (f == NULL) {
+        printE ("Error at opening file: %s\n", adios_errmsg());
+        return 1;
+    }
+
+    start[0] = rank*ldim1;
+    sel1 = adios_selection_boundingbox(1, start, count);
+
+    start[0] = rank*ldim1;
+    start[1] = 0;
+    sel2_1 = adios_selection_boundingbox(2, start, count);
+
+    start[0] = 0;
+    start[1] = rank*ldim2;
+    sel2_2 = adios_selection_boundingbox(2, start, count);
+
+    start[0] = rank*ldim1;
+    start[1] = 0;
+    start[2] = 0;
+    sel3_1 = adios_selection_boundingbox(3, start, count);
+
+    start[0] = 0;
+    start[1] = rank*ldim2;
+    start[2] = 0;
+    sel3_2 = adios_selection_boundingbox(3, start, count);
+
+    start[0] = 0;
+    start[1] = 0;
+    start[2] = rank*ldim3;
+    sel3_3 = adios_selection_boundingbox(3, start, count);
+
+    n1=0;
+    while (n1 < NSTEPS && adios_errno != err_end_of_stream) {
+        n1++;
+        log ("  Step %d\n", f->current_step);
+
+
+        log ("  Check 1D variable a1...\n");
+        adios_schedule_read (f, sel1, "a1",  0, 1, r1);
+        adios_perform_reads (f, 1);
+
+#ifdef DEBUG_PRINTS
+        fprintf(stderr, "1D result: {");
+        for (i=0; i<ldim1; i++) {
+            fprintf (stderr, "%d ", r1[i]);
+        }
+        fprintf(stderr, "}\n");
+#endif
+
+        for (i=0; i<ldim1; i++) {
+            v = VALUE1D(rank,f->current_step,i);
+            if (r1[i] != v) {
+                printE ("Error: a1[%d]=%d  !=  read=%d\n", i, v, r1[i]); 
+                //goto endread;
+            }
+        }
+
+
+
+        log ("  Check 2D variable a2_1...\n");
+        adios_schedule_read (f, sel2_1, "a2_1",  0, 1, r2);
+        adios_perform_reads (f, 1);
+
+#ifdef DEBUG_PRINTS
+        fprintf(stderr, "2D result :\n");
+        n = 0;
+        for (i=0; i<ldim1; i++) {
+            fprintf (stderr, "row=%2d- = {", i);
+            for (j=0; j<ldim2; j++) {
+                fprintf (stderr, "%d ", r2[n]); 
+                n++;
+            }
+            fprintf(stderr, "}\n");
+        }
+#endif
+
+        n = 0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                v = VALUE2D(rank,f->current_step,i,j);
+                if (v != r2[n]) {
+                    printE ("Error: a2_2[%d,%d]=%d  !=  read=%d\n", i, j, v, r2[n]);
+                    //goto endread;
+                }
+                n++;
+            }
+        }
+
+
+        log ("  Check 2D variable a2_2...\n");
+        adios_schedule_read (f, sel2_2, "a2_2",  0, 1, r2);
+        adios_perform_reads (f, 1);
+
+#ifdef DEBUG_PRINTS
+        fprintf(stderr, "2D result :\n");
+        n = 0;
+        for (i=0; i<ldim1; i++) {
+            fprintf (stderr, "row=%2d- = {", i);
+            for (j=0; j<ldim2; j++) {
+                fprintf (stderr, "%d ", r2[n]);
+                n++;
+            }
+            fprintf(stderr, "}\n");
+        }
+#endif
+
+        n = 0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                v = VALUE2D(rank,f->current_step,i,j);
+                if (v != r2[n]) {
+                    printE ("Error: a2_2[%d,%d]=%d  !=  read=%d\n", i, j, v, r2[n]);
+                    //goto endread;
+                }
+                n++;
+            }
+        }
+
+
+
+        log ("  Check 3D variable a3_1...\n");
+        adios_schedule_read (f, sel3_1, "a3_1",  0, 1, r3);
+        adios_perform_reads (f, 1);
+
+#ifdef DEBUG_PRINTS
+        fprintf(stderr, "3D selection :\n");
+        n=0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                fprintf (stderr, "[%d,%d] = {", i, j);
+                for (k=0; k<ldim3; k++) {
+                    fprintf (stderr, "%d ", r3[n]);
+                    n++;
+                }
+                fprintf(stderr, "}\n");
+            }
+        }
+#endif
+        n = 0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                for (k=0; k<ldim3; k++) {
+                    v = VALUE3D(rank,f->current_step,i,j,k);
+                    if (v != r3[n]) {
+                        printE ("Error: a3_2[%d,%d,%d]=%d  !=  read=%d\n", i, j, k, v, r3[n]);
+                        //goto endread;
+                    }
+                    n++;
+                }
+            }
+        }
+
+
+
+        log ("  Check 3D variable a3_2...\n");
+        adios_schedule_read (f, sel3_2, "a3_2",  0, 1, r3);
+        adios_perform_reads (f, 1);
+
+#ifdef DEBUG_PRINTS
+        fprintf(stderr, "3D selection :\n");
+        n=0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                fprintf (stderr, "[%d,%d] = {", i, j);
+                for (k=0; k<ldim3; k++) {
+                    fprintf (stderr, "%d ", r3[n]);
+                    n++;
+                }
+                fprintf(stderr, "}\n");
+            }
+        }
+#endif
+        n = 0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                for (k=0; k<ldim3; k++) {
+                    v = VALUE3D(rank,f->current_step,i,j,k);
+                    if (v != r3[n]) {
+                        printE ("Error: a3_2[%d,%d,%d]=%d  !=  read=%d\n", i, j, k, v, r3[n]);
+                        //goto endread;
+                    }
+                    n++;
+                }
+            }
+        }
+
+
+
+        log ("  Check 3D variable a3_3...\n");
+        adios_schedule_read (f, sel3_3, "a3_3",  0, 1, r3);
+        adios_perform_reads (f, 1);
+
+#ifdef DEBUG_PRINTS
+        fprintf(stderr, "3D selection :\n");
+        n=0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                fprintf (stderr, "[%d,%d] = {", i, j); 
+                for (k=0; k<ldim3; k++) {
+                    fprintf (stderr, "%d ", r3[n]); 
+                    n++;
+                }
+                fprintf(stderr, "}\n");
+            }
+        }
+#endif
+        n = 0;
+        for (i=0; i<ldim1; i++) {
+            for (j=0; j<ldim2; j++) {
+                for (k=0; k<ldim3; k++) {
+                    v = VALUE3D(rank,f->current_step,i,j,k);
+                    if (v != r3[n]) {
+                        printE ("Error: a3_3[%d,%d,%d]=%d  !=  read=%d\n", i, j, k, v, r3[n]);
+                        //goto endread;
+                    }
+                    n++;
+                }
+            }
+        }
+
+
+
+        if (n1 < NSTEPS)
+        {
+            adios_advance_step (f, 0, -1.0);
+        }
+    }
+
+
+endread:
+
+    adios_selection_delete (sel1);
+    adios_selection_delete (sel2_1);
+    adios_selection_delete (sel2_2);
+
+    adios_read_close(f);
+    MPI_Barrier (comm);
+    return err;
+}
+
diff --git a/tests/test_src/Makefile.in b/tests/test_src/Makefile.in
index c1419a5..5c8d1c4 100644
--- a/tests/test_src/Makefile.in
+++ b/tests/test_src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,17 @@
 # 4. add files to CLEANFILES that should be deleted at 'make clean'
 # 5. add to EXTRA_DIST any non-source files that should go with the distribution
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -92,12 +102,11 @@ host_triplet = @host@
 check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3)
 TESTS = $(am__EXEEXT_2) $(am__EXEEXT_3)
 subdir = tests/test_src
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp $(top_srcdir)/config/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -133,6 +142,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -547,6 +557,8 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \
+	$(top_srcdir)/config/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -586,6 +598,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -825,6 +841,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -926,7 +943,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/test_src/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/test_src/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1311,7 +1327,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -1685,6 +1701,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 hashtest.o: hashtest.c
 copy_subvolume.o: copy_subvolume.c
 text_to_pairstruct.o: text_to_pairstruct.c
diff --git a/utils/Makefile.in b/utils/Makefile.in
index 555c747..81022c8 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,11 +93,11 @@ host_triplet = @host@
 @HAVE_HDF5_TRUE at am__append_4 = bp2h5
 @HAVE_NETCDF_TRUE at am__append_5 = bp2ncd
 subdir = utils
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -123,6 +133,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -184,6 +195,7 @@ CTAGS = ctags
 DIST_SUBDIRS = gpp bpdump bp2ascii bpsplit bpls skeldump \
 	adios_list_methods bpmeta bprecover adios_lint bp2bp bpdiff \
 	fastbit bp2h5 bp2ncd skel
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -248,6 +260,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -483,6 +499,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -509,7 +526,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -804,6 +820,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/adios_lint/Makefile.in b/utils/adios_lint/Makefile.in
index 2f32432..019b89e 100644
--- a/utils/adios_lint/Makefile.in
+++ b/utils/adios_lint/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = adios_lint$(EXEEXT)
 subdir = utils/adios_lint
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -198,6 +209,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -237,6 +249,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -472,6 +488,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -505,7 +522,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/adios_lint/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/adios_lint/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -807,6 +823,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/adios_list_methods/Makefile.in b/utils/adios_list_methods/Makefile.in
index 7aa81e2..ca7f3da 100644
--- a/utils/adios_list_methods/Makefile.in
+++ b/utils/adios_list_methods/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -88,11 +98,11 @@ bin_PROGRAMS = adios_list_methods_readonly_nompi$(EXEEXT) \
 @HAVE_MPI_TRUE at am__append_2 = adios_list_methods_readonly
 @BUILD_WRITE_TRUE@@HAVE_MPI_TRUE at am__append_3 = adios_list_methods adios_list_methods_nompi 
 subdir = utils/adios_list_methods
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -128,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -249,6 +260,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -288,6 +300,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -523,6 +539,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -567,7 +584,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/adios_list_methods/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/adios_list_methods/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -899,6 +915,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 @HAVE_MPI_TRUE at override CC=$(MPICC)
 @HAVE_MPI_TRUE at override CXX=$(MPICXX)
 
diff --git a/utils/bp2ascii/Makefile.in b/utils/bp2ascii/Makefile.in
index b430cb5..684fdfc 100644
--- a/utils/bp2ascii/Makefile.in
+++ b/utils/bp2ascii/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 noinst_PROGRAMS = bp2ascii$(EXEEXT)
 subdir = utils/bp2ascii
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -196,6 +207,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -235,6 +247,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -470,6 +486,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -503,7 +520,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bp2ascii/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bp2ascii/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -763,6 +779,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/bp2bp/Makefile.in b/utils/bp2bp/Makefile.in
index 4a7e40a..f4c19ac 100644
--- a/utils/bp2bp/Makefile.in
+++ b/utils/bp2bp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bp2bp$(EXEEXT)
 subdir = utils/bp2bp
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -197,6 +208,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -236,6 +248,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -473,6 +489,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -504,7 +521,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bp2bp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bp2bp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -806,6 +822,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 #endif
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/utils/bp2h5/Makefile.in b/utils/bp2h5/Makefile.in
index 6ce94d4..150d117 100644
--- a/utils/bp2h5/Makefile.in
+++ b/utils/bp2h5/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bp2h5$(EXEEXT)
 subdir = utils/bp2h5
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -201,6 +212,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -240,6 +252,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -475,6 +491,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -513,7 +530,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bp2h5/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bp2h5/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -815,6 +831,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/bp2ncd/Makefile.in b/utils/bp2ncd/Makefile.in
index 1c39b01..e9e57f9 100644
--- a/utils/bp2ncd/Makefile.in
+++ b/utils/bp2ncd/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bp2ncd$(EXEEXT)
 subdir = utils/bp2ncd
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -199,6 +210,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -238,6 +250,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -473,6 +489,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -511,7 +528,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bp2ncd/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bp2ncd/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -813,6 +829,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/bpdiff/Makefile.in b/utils/bpdiff/Makefile.in
index fdc6ff9..e39fb50 100644
--- a/utils/bpdiff/Makefile.in
+++ b/utils/bpdiff/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bpdiff$(EXEEXT)
 subdir = utils/bpdiff
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -198,6 +209,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -237,6 +249,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -472,6 +488,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -505,7 +522,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bpdiff/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bpdiff/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -819,6 +835,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/bpdump/Makefile.in b/utils/bpdump/Makefile.in
index 63509ee..d1d51c0 100644
--- a/utils/bpdump/Makefile.in
+++ b/utils/bpdump/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bpdump$(EXEEXT)
 subdir = utils/bpdump
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -197,6 +208,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -236,6 +248,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -471,6 +487,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -505,7 +522,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bpdump/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bpdump/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -807,6 +823,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/bpls/CMakeLists.txt b/utils/bpls/CMakeLists.txt
index bd81356..c8918ee 100644
--- a/utils/bpls/CMakeLists.txt
+++ b/utils/bpls/CMakeLists.txt
@@ -8,6 +8,7 @@ link_directories(${PROJECT_BINARY_DIR}/utils/bpls)
 add_executable(bpls bpls.c)
 target_link_libraries(bpls adiosread_nompi ${ADIOSREADLIB_SEQ_LDADD})
 set_target_properties(bpls PROPERTIES COMPILE_FLAGS "${ADIOSLIB_EXTRA_CPPFLAGS} ${ADIOSREADLIB_SEQ_CPPFLAGS} ${ADIOSREADLIB_SEQ_CFLAGS}")
+target_include_directories(bpls PRIVATE "${PROJECT_BINARY_DIR}")
 
 #install(FILES bpls.h DESTINATION ${PROJECT_BINARY_DIR}/utils/bpls)
 install(PROGRAMS ${CMAKE_BINARY_DIR}/utils/bpls/bpls DESTINATION ${bindir})
diff --git a/utils/bpls/Makefile.in b/utils/bpls/Makefile.in
index 66dc32d..510229e 100644
--- a/utils/bpls/Makefile.in
+++ b/utils/bpls/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bpls$(EXEEXT)
 subdir = utils/bpls
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -197,6 +208,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -236,6 +248,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -471,6 +487,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -504,7 +521,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bpls/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bpls/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -806,6 +822,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 #CC=$(MPICC)
 #CXX=$(MPICXX)
 
diff --git a/utils/bpls/bpls.c b/utils/bpls/bpls.c
index a7748f2..3a9c4d1 100644
--- a/utils/bpls/bpls.c
+++ b/utils/bpls/bpls.c
@@ -73,7 +73,8 @@ bool show_decomp;          // show decomposition of arrays
 // other global variables
 char *prgname; /* argv[0] */
 //long timefrom, timeto;
-int  istart[MAX_DIMS], icount[MAX_DIMS], ndimsspecified=0;
+int64_t  istart[MAX_DIMS], icount[MAX_DIMS]; // negative values are allowed
+int ndimsspecified=0;
 regex_t varregex[MAX_MASKS]; // compiled regular expressions of varmask
 regex_t grpregex;            // compiled regular expressions of grpmask
 int  ncols = 6; // how many values to print in one row (only for -p)
@@ -381,17 +382,25 @@ void init_globals(void) {
     printByteAsChar      = false;
     show_decomp          = false;
     for (i=0; i<MAX_DIMS; i++) {
-        istart[i]  = 0;
-        icount[i]  = -1;  // read full var by default
+        istart[i]  = 0LL;
+        icount[i]  = -1LL;  // read full var by default
     }
     ndimsspecified = 0;
 }
 
 
-#define PRINT_DIMS32(str, v, n, loopvar) printf("%s = { ", str); \
+#define PRINT_DIMS_INT(str, v, n, loopvar) printf("%s = { ", str); \
     for (loopvar=0; loopvar<n;loopvar++) printf("%d ", v[loopvar]);    \
+        printf("}")
+
+#define PRINT_DIMS_UINT64(str, v, n, loopvar) printf("%s = { ", str); \
+    for (loopvar=0; loopvar<n;loopvar++) printf("%" PRIu64 " ", v[loopvar]);    \
 printf("}")
 
+#define PRINT_DIMS_INT64(str, v, n, loopvar) printf("%s = { ", str); \
+    for (loopvar=0; loopvar<n;loopvar++) printf("%" PRId64 " ", v[loopvar]);    \
+        printf("}")
+
 void printSettings(void) {
     int i;
     printf("Settings :\n");
@@ -405,10 +414,10 @@ void printSettings(void) {
     printf("  output : %s\n", (outpath ? outpath : "stdout"));
 
     if (start != NULL) {
-        PRINT_DIMS32("  start", istart, ndimsspecified,i); printf("\n");
+        PRINT_DIMS_INT64("  start", istart, ndimsspecified,i); printf("\n");
     }
     if (count != NULL) {
-        PRINT_DIMS32("  count", icount, ndimsspecified,i); printf("\n");
+        PRINT_DIMS_INT64("  count", icount, ndimsspecified,i); printf("\n");
     }
 
     if (longopt)
@@ -457,10 +466,10 @@ void print_file_size(uint64_t size)
 }
 
 
-static inline int ndigits (int n) 
+static inline int ndigits (int64_t n)
 {
     static char digitstr[32];
-    return snprintf (digitstr, 32, "%d", n);
+    return snprintf (digitstr, 32, "%" PRId64, n);
 }
 
 
@@ -638,14 +647,14 @@ int doList_group (ADIOS_FILE *fp)
                             if (istart[0] >= 0)
                                 time_start = istart[0];
                             else
-                                time_start = vi->nsteps - 1 + istart[0];
+                                time_start = vi->nsteps - 1 + (int)istart[0];
                         }
 
                         if (count != NULL) {
                             if(icount[0] > 0)
-                                time_end = time_start + icount[0];
+                                time_end = time_start + (int)icount[0];
                             else
-                                time_end = vi->nsteps + icount[0] + 1;
+                                time_end = vi->nsteps + (int)icount[0] + 1;
                         }
 
                         if (time_start < 0 || time_start >= vi->nsteps) {
@@ -701,7 +710,7 @@ int doList_group (ADIOS_FILE *fp)
 
                 if (show_decomp) {
                     adios_inq_var_blockinfo (fp, vi);
-                    print_decomp(vi);
+                    print_decomp(fp, vi, names[n], timed);
                 }
 
             } else {
@@ -716,12 +725,13 @@ int doList_group (ADIOS_FILE *fp)
 
                 if (show_decomp) {
                     adios_inq_var_blockinfo (fp, vi);
-                    print_decomp(vi);
+                    adios_inq_var_stat (fp, vi, false, show_decomp);
+                    print_decomp(fp, vi, names[n], timed);
                 }
             }
         }
 
-        if (matches && dump) {
+        if (matches && dump && !show_decomp) {
             // print variable content 
             if (isVar[n])
                 retval = readVar(fp, vi, names[n], timed);
@@ -1162,9 +1172,6 @@ int getTypeInfo( enum ADIOS_DATATYPES adiosvartype, int* elemsize)
     return 0;
 }
 
-#define PRINT_DIMS64(str, v, n, loopvar) printf("%s = { ", str); \
-    for (loopvar=0; loopvar<n;loopvar++) printf("%" PRIu64 " ", v[loopvar]);    \
-printf("}")
 /** Read data of a variable and print 
  * Return: 0: ok, != 0 on error
  */
@@ -1308,8 +1315,8 @@ int readVar(ADIOS_FILE *fp, ADIOS_VARINFO *vi, const char * name, bool timed)
 
         if (verbose>2) {
             printf("adios_read_var name=%s ", name);
-            PRINT_DIMS64("  start", s, tdims, j); 
-            PRINT_DIMS64("  count", c, tdims, j); 
+            PRINT_DIMS_UINT64("  start", s, tdims, j);
+            PRINT_DIMS_UINT64("  count", c, tdims, j);
             printf("  read %d elems\n", actualreadn);
         }
 
@@ -1368,6 +1375,237 @@ int readVar(ADIOS_FILE *fp, ADIOS_VARINFO *vi, const char * name, bool timed)
 }
 
 
+/** Read one writeblock of a variable and print
+ * Return: 0: ok, != 0 on error
+ */
+int readVarBlock(ADIOS_FILE *fp, ADIOS_VARINFO *vi, const char * name, int blockid, bool timed)
+{
+    int i,j;
+    uint64_t start_t[MAX_DIMS], count_t[MAX_DIMS]; // processed <0 values in start/count
+    uint64_t s[MAX_DIMS], c[MAX_DIMS]; // for block reading of smaller chunks
+    uint64_t nelems;         // number of elements to read
+    int elemsize;            // size in bytes of one element
+    int tidx;
+    uint64_t st, ct;
+    void *data;
+    uint64_t sum;           // working var to sum up things
+    int  maxreadn;          // max number of elements to read once up to a limit (10MB of data)
+    int  actualreadn;       // our decision how much to read at once
+    int  readn[MAX_DIMS];   // how big chunk to read in in each dimension?
+    int  status;
+    bool incdim;            // used in incremental reading in
+    int ndigits_dims[32];        // # of digits (to print) of each dimension
+
+    if (getTypeInfo(vi->type, &elemsize))
+    {
+        fprintf(stderr, "Adios type %d (%s) not supported in bpls. var=%s\n",
+                vi->type, adios_type_to_string(vi->type), name);
+        return 10;
+    }
+
+    if (blockid < 0 || blockid > vi->sum_nblocks)
+    {
+        fprintf(stderr, "Invalid block id for var=%s, id=%d, available %d blocks\n",
+                name, blockid, vi->sum_nblocks);
+        return 10;
+    }
+
+
+    // create the counter arrays with the appropriate lengths
+    // transfer start and count arrays to format dependent arrays
+
+    nelems = 1;
+    tidx = 0;
+
+    if (timed) {
+        if (istart[0] < 0)  // negative index means last-|index|
+            st = vi->nsteps+istart[0];
+        else
+            st = istart[0];
+        if (icount[0] < 0)  // negative index means last-|index|+1-start
+            ct = vi->nsteps+icount[0]+1-st;
+        else
+            ct = icount[0];
+
+        if (verbose>2)
+            printf("    time: st=%" PRIu64 " ct=%" PRIu64 "\n", st, ct);
+
+        // check if this block falls into the requested time
+        int idx=0;
+        for (i=0; i<st; i++)
+        {
+            idx += vi->nblocks[i];
+        }
+        if (blockid < idx)
+            return 0;
+        for (i=st; i<st+ct; i++)
+        {
+            idx += vi->nblocks[i];
+        }
+        if (blockid > idx)
+            return 0;
+        tidx = 1;
+    }
+
+    int out_of_bound = 0;
+    for (j=0; j<vi->ndim; j++) {
+        if (istart[j+tidx] < 0)  // negative index means last-|index|
+            st = vi->blockinfo[blockid].count[j]+istart[j+tidx];
+        else
+            st = istart[j+tidx];
+        if (icount[j+tidx] < 0)  // negative index means last-|index|+1-start
+            ct = vi->blockinfo[blockid].count[j]+icount[j+tidx]+1-st;
+        else
+            ct = icount[j+tidx];
+
+        if (st > vi->blockinfo[blockid].count[j]) {
+            out_of_bound = 1;
+        }
+        else if (ct > vi->blockinfo[blockid].count[j] - st) {
+            ct = vi->blockinfo[blockid].count[j] - st;
+        }
+        if (verbose>2)
+            printf("    j=%d, st=%" PRIu64 " ct=%" PRIu64 "\n", j, st, ct);
+
+        start_t[j] = st;
+        count_t[j] = ct;
+        nelems *= ct;
+        if (verbose>1)
+            printf("    s[%d]=%" PRIu64 ", c[%d]=%" PRIu64 ", n=%" PRIu64 "\n",
+                    j, start_t[j], j, count_t[j], nelems);
+    }
+
+    if (verbose>1) {
+        printf(" total size of data to read = %" PRIu64 "\n", nelems*elemsize);
+    }
+
+    print_slice_info(vi->ndim, vi->blockinfo[blockid].count, false, vi->nsteps, start_t, count_t);
+
+    if (out_of_bound)
+        return 0;
+
+    maxreadn = MAX_BUFFERSIZE/elemsize;
+    if (nelems < maxreadn)
+        maxreadn = nelems;
+
+    // allocate data array
+    data = (void *) malloc (maxreadn*elemsize+8); // +8 for just to be sure
+
+    // determine strategy how to read in:
+    //  - at once
+    //  - loop over 1st dimension
+    //  - loop over 1st & 2nd dimension
+    //  - etc
+    if (verbose>1) printf("Read size strategy:\n");
+    sum = (uint64_t) 1;
+    actualreadn = (uint64_t) 1;
+    for (i=vi->ndim-1; i>=0; i--) {
+        if (sum >= (uint64_t) maxreadn) {
+            readn[i] = 1;
+        } else {
+            readn[i] = maxreadn / (int)sum; // sum is small for 4 bytes here
+            // this may be over the max count for this dimension
+            if (readn[i] > count_t[i])
+                readn[i] = count_t[i];
+        }
+        if (verbose>1) printf("    dim %d: read %d elements\n", i, readn[i]);
+        sum = sum * (uint64_t) count_t[i];
+        actualreadn = actualreadn * readn[i];
+    }
+    if (verbose>1) printf("    read %d elements at once, %" PRIu64 " in total (nelems=%" PRIu64 ")\n", actualreadn, sum, nelems);
+
+
+    // init s and c
+    // and calculate ndigits_dims
+    for (j=0; j<vi->ndim; j++) {
+        s[j]=start_t[j];
+        c[j]=readn[j];
+
+        ndigits_dims[j] = ndigits (start_t[j]+count_t[j]-1); // -1: dim=100 results in 2 digits (0..99)
+    }
+
+    // read until read all 'nelems' elements
+    sum = 0;
+    while (sum < nelems) {
+
+        // how many elements do we read in next?
+        actualreadn = 1;
+        for (j=0; j<vi->ndim; j++)
+            actualreadn *= c[j];
+
+        uint64_t startoffset = s[vi->ndim-1];
+        uint64_t tmpprod = c[vi->ndim-1];
+        for (i=vi->ndim-2; i>=0; i--)
+        {
+            startoffset += s[i]*tmpprod;
+            tmpprod *= c[i];
+        }
+
+        if (verbose>2) {
+            printf("adios_read_var name=%s ", name);
+            PRINT_DIMS_UINT64("  start", s, vi->ndim, j);
+            PRINT_DIMS_UINT64("  count", c, vi->ndim, j);
+            printf("  read %d elems\n", actualreadn);
+        }
+        if (verbose>1) printf("    read block %d from offset %" PRIu64 " nelems %d)\n", blockid, startoffset, actualreadn);
+
+
+        // read a slice finally
+        ADIOS_SELECTION *wb = adios_selection_writeblock(blockid);
+        wb->u.block.is_absolute_index = true;
+        wb->u.block.is_sub_pg_selection = 1;
+        wb->u.block.element_offset = startoffset;
+        wb->u.block.nelements = actualreadn;
+        status = adios_schedule_read_byid (fp, wb, vi->varid, 0, 1, data);
+
+
+        if (status < 0) {
+            fprintf(stderr, "Error when scheduling variable %s for reading. errno=%d : %s \n", name, adios_errno, adios_errmsg());
+            free(data);
+            return 11;
+        }
+
+        status = adios_perform_reads (fp, 1); // blocking read performed here
+        adios_selection_delete (wb);
+        if (status < 0) {
+            fprintf(stderr, "Error when reading variable %s. errno=%d : %s \n", name, adios_errno, adios_errmsg());
+            free(data);
+            return 11;
+        }
+
+        // print slice
+        print_dataset(data, vi->type, s, c, vi->ndim, ndigits_dims);
+
+        // prepare for next read
+        sum += actualreadn;
+        incdim=true; // largest dim should be increased
+        for (j=vi->ndim-1; j>=0; j--) {
+            if (incdim) {
+                if (s[j]+c[j] == start_t[j]+count_t[j]) {
+                    // reached the end of this dimension
+                    s[j] = start_t[j];
+                    c[j] = readn[j];
+                    incdim = true; // next smaller dim can increase too
+                } else {
+                    // move up in this dimension up to total count
+                    s[j] += readn[j];
+                    if (s[j]+c[j] > start_t[j]+count_t[j]) {
+                        // do not reach over the limit
+                        c[j] = start_t[j]+count_t[j]-s[j];
+                    }
+                    incdim = false;
+                }
+            }
+        }
+    } // end while sum < nelems
+    print_endline();
+
+
+    free(data);
+    return 0;
+}
+
+
 bool matchesAMask(char *name) {
     int excode;
     int i;
@@ -1804,10 +2042,11 @@ void print_endline(void)
 }
 
 
-void print_decomp(ADIOS_VARINFO *vi)
+void print_decomp(ADIOS_FILE *fp, ADIOS_VARINFO *vi, char * name, bool timed)
 {
     /* Print block info */
     int i,j,k;
+    int blockid = 0;
     int ndigits_nsteps = ndigits (vi->nsteps-1);
     if (vi->ndim == 0) 
     {
@@ -1815,6 +2054,34 @@ void print_decomp(ADIOS_VARINFO *vi)
         for (i=0; i < vi->nsteps; i++) {
             fprintf(outf, "        step %*d: ", ndigits_nsteps, i);
             fprintf(outf, "%d instances available\n", vi->nblocks[i]);
+            if (dump && vi->statistics && vi->statistics->blocks) {
+                fprintf(outf,"               ");
+                if (vi->statistics->blocks->mins) {
+                    int col = 0;
+                    for (j=0; j < vi->nblocks[i]; j++) {
+                        if(vi->type == adios_complex || vi->type == adios_double_complex) {
+                            print_data(vi->statistics->blocks->mins[blockid], 0, adios_double_complex, true);
+                        } else {
+                            print_data(vi->statistics->blocks->mins[blockid], 0, vi->type, true);
+                        }
+                        ++col;
+                        if (j < vi->nblocks[i]-1)
+                        {
+                            if (col < ncols)
+                            {
+                                fprintf(outf," ");
+                            }
+                            else
+                            {
+                                fprintf(outf,"\n               ");
+                                col = 0;
+                            }
+                        }
+                        ++blockid;
+                    }
+                    fprintf(outf,"\n");
+                }
+            }
         }
         return;
     } 
@@ -1825,7 +2092,6 @@ void print_decomp(ADIOS_VARINFO *vi)
         int ndigits_procid;
         int ndigits_time;
         int ndigits_dims[32];
-        int blockid = 0;
         for (k=0; k < vi->ndim; k++) {
             // get digit lengths for each dimension
             ndigits_dims[k] = ndigits (vi->dims[k]-1);
@@ -1913,6 +2179,10 @@ void print_decomp(ADIOS_VARINFO *vi)
 
                 }
                 fprintf(outf, "\n");
+                if (dump)
+                {
+                    readVarBlock(fp, vi, name, blockid, timed);
+                }
                 blockid++;
             }
         }
@@ -1922,7 +2192,7 @@ void print_decomp(ADIOS_VARINFO *vi)
 // parse a string "0, 3; 027" into an integer array
 // of [0,3,27] 
 // exits if parsing failes
-void parseDimSpec(char *str, int *dims)
+void parseDimSpec(char *str, int64_t *dims)
 {
     char *token, *saveptr;
     char *s;  // copy of s; strtok modifies the string
@@ -1933,7 +2203,7 @@ void parseDimSpec(char *str, int *dims)
     while (token != NULL && i < MAX_DIMS) {
         //printf("\t|%s|", token);
         errno = 0;
-        dims[i] = strtol(token, (char **)NULL, 0);
+        dims[i] = (int64_t) strtoll(token, (char **)NULL, 0);
         if (errno) {
             fprintf(stderr, "Error: could not convert field into a value: %s from \"%s\"\n", token, str);
             exit(200);
diff --git a/utils/bpls/bpls.h b/utils/bpls/bpls.h
index 5e1cdbb..3f9a900 100644
--- a/utils/bpls/bpls.h
+++ b/utils/bpls/bpls.h
@@ -8,6 +8,7 @@
 
 #include <stdint.h>
 #include "adios_read.h"
+#include "config.h"
 
 /* definitions for bpls.c */
 #define myfree(p) if (p) { free(p); p=NULL; }
@@ -31,7 +32,7 @@ typedef int bool;
 
 void init_globals(void);
 void processDimSpecs(void);
-void parseDimSpec(char *str, int *dims);
+void parseDimSpec(char *str, int64_t *dims);
 int compile_regexp_masks(void);
 void printSettings(void);
 int  doList(const char *path);
@@ -49,4 +50,4 @@ void print_endline(void);
 void print_stop(void);
 int print_data_hist(ADIOS_VARINFO * vi, char * varname);
 int print_data_characteristics(void * min, void * max, double * avg, double * std_dev, enum ADIOS_DATATYPES adiosvartype, bool allowformat);
-void print_decomp(ADIOS_VARINFO *vi);
+void print_decomp(ADIOS_FILE *fp, ADIOS_VARINFO *vi, char *name, bool timed);
diff --git a/utils/bpmeta/Makefile.in b/utils/bpmeta/Makefile.in
index ce6cedb..68ddaa4 100644
--- a/utils/bpmeta/Makefile.in
+++ b/utils/bpmeta/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bpmeta$(EXEEXT)
 subdir = utils/bpmeta
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -197,6 +208,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -236,6 +248,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -471,6 +487,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -505,7 +522,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bpmeta/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bpmeta/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -807,6 +823,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/bprecover/Makefile.in b/utils/bprecover/Makefile.in
index a735477..5d9529f 100644
--- a/utils/bprecover/Makefile.in
+++ b/utils/bprecover/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bprecover$(EXEEXT)
 subdir = utils/bprecover
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -198,6 +209,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -237,6 +249,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -472,6 +488,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -506,7 +523,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bprecover/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bprecover/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -808,6 +824,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/bpsplit/Makefile.in b/utils/bpsplit/Makefile.in
index dd15d7f..c130708 100644
--- a/utils/bpsplit/Makefile.in
+++ b/utils/bpsplit/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = bpsplit$(EXEEXT) bpappend$(EXEEXT) bpgettime$(EXEEXT)
 subdir = utils/bpsplit
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -213,6 +224,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -252,6 +264,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -487,6 +503,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -530,7 +547,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bpsplit/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/bpsplit/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -852,6 +868,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/fastbit/Makefile.in b/utils/fastbit/Makefile.in
index 8de2693..8d7be2b 100644
--- a/utils/fastbit/Makefile.in
+++ b/utils/fastbit/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = adios_index_fastbit$(EXEEXT)
 subdir = utils/fastbit
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -199,6 +210,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -238,6 +250,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -473,6 +489,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -505,7 +522,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/fastbit/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/fastbit/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -808,6 +824,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/fastbit/adios_index_fastbit.c b/utils/fastbit/adios_index_fastbit.c
index 3a78925..b1045ff 100644
--- a/utils/fastbit/adios_index_fastbit.c
+++ b/utils/fastbit/adios_index_fastbit.c
@@ -1,6 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 #include "public/adios.h"
 #include "public/adios_read.h"
 #include <iapi.h>
@@ -321,7 +322,7 @@ void onMultiBlock(int rank, ADIOS_FILE* f, ADIOS_VARINFO* v, int timestep, int b
   int i=0;
   
   char selName[100];
-  sprintf(selName, "block-%d", blockStart, blockEnd);
+  sprintf(selName, "block-%d..%d", blockStart, blockEnd);
 
   uint64_t blockSizeArray[blockEnd-blockStart];
 
@@ -424,7 +425,7 @@ void processData(void* data, uint64_t dataCount, int rank, int timestep, char* s
       defineFastbitVar(1, keyVarName, &var_ids_key, adios_double, &nk, 0, 0);
       defineFastbitVar(1, offsetName, &var_ids_offset, adios_long, &no, 0, 0); 
 
-      printf("bms[0] = %" PRIu64 ", bms[1]=%" PRIu64 " \n", bms[0], bms[1]);
+      printf("bms[0] = %" PRIu32 ", bms[1]=%" PRIu32 " \n", bms[0], bms[1]);
       //var_ids_bms = defineAdiosVar(bmsVarName, adios_unsigned_integer, nb, 0, 0);
       //var_ids_key = defineAdiosVar(keyVarName, adios_double, nk, 0, 0);
       //var_ids_offset = defineAdiosVar(offsetName, adios_long, no, 0, 0);
diff --git a/utils/gpp/Makefile.in b/utils/gpp/Makefile.in
index 46bb493..0b9463f 100644
--- a/utils/gpp/Makefile.in
+++ b/utils/gpp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,12 +90,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = utils/gpp
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/gpp.py.in $(dist_bin_SCRIPTS) $(dist_pythonlib_DATA)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -121,6 +130,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_bin_SCRIPTS) \
+	$(dist_pythonlib_DATA) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = gpp.py
@@ -175,6 +186,7 @@ am__can_run_installinfo = \
   esac
 DATA = $(dist_pythonlib_DATA)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gpp.py.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -214,6 +226,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -449,6 +465,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -475,7 +492,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/gpp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/gpp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -714,6 +730,8 @@ uninstall-am: uninstall-dist_binSCRIPTS uninstall-dist_pythonlibDATA
 	uninstall-am uninstall-dist_binSCRIPTS \
 	uninstall-dist_pythonlibDATA
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/ad_config.py $(srcdir)/type_mapper.py $(builddir); chmod a+x *.py
diff --git a/utils/skel/Makefile.in b/utils/skel/Makefile.in
index fc6b93c..e048849 100644
--- a/utils/skel/Makefile.in
+++ b/utils/skel/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,13 +91,11 @@ build_triplet = @build@
 host_triplet = @host@
 @HAVE_MPI_TRUE at am__append_1 = src
 subdir = utils/skel
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(dist_bin_SCRIPTS) $(dist_pythonlib_DATA) \
-	$(dist_template_DATA)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -123,6 +131,9 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_bin_SCRIPTS) \
+	$(dist_pythonlib_DATA) $(dist_template_DATA) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -213,6 +224,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = etc src
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -277,6 +289,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -512,6 +528,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -592,7 +609,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/skel/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/skel/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -971,6 +987,8 @@ uninstall-am: uninstall-dist_binSCRIPTS uninstall-dist_pythonlibDATA \
 	tags tags-am uninstall uninstall-am uninstall-dist_binSCRIPTS \
 	uninstall-dist_pythonlibDATA uninstall-dist_templateDATA
 
+.PRECIOUS: Makefile
+
 
 all-local:
 	test "$(srcdir)" = "$(builddir)" || { \
diff --git a/utils/skel/etc/Makefile.in b/utils/skel/etc/Makefile.in
index f0d2745..05ca074 100644
--- a/utils/skel/etc/Makefile.in
+++ b/utils/skel/etc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,11 +89,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = utils/skel/etc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -119,6 +129,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -172,6 +183,7 @@ am__uninstall_files_from_dir = { \
 am__installdirs = "$(DESTDIR)$(etcdir)"
 DATA = $(etc_DATA)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -211,6 +223,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -446,6 +462,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -474,7 +491,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/skel/etc/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/skel/etc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -673,6 +689,8 @@ uninstall-am: uninstall-etcDATA
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags-am uninstall uninstall-am uninstall-etcDATA
 
+.PRECIOUS: Makefile
+
 
 all: compiler_fragment.mk
 
diff --git a/utils/skel/src/Makefile.in b/utils/skel/src/Makefile.in
index 6c8dce8..2d6bc82 100644
--- a/utils/skel/src/Makefile.in
+++ b/utils/skel/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,12 +91,11 @@ build_triplet = @build@
 host_triplet = @host@
 @BUILD_FORTRAN_TRUE at am__append_1 = skel_xml_output_f.c
 subdir = utils/skel/src
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp $(library_include_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -122,6 +131,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(library_include_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -232,6 +243,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -271,6 +283,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -506,6 +522,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -534,7 +551,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/skel/src/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/skel/src/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -854,6 +870,8 @@ uninstall-am: uninstall-libLIBRARIES uninstall-library_includeHEADERS
 	tags tags-am uninstall uninstall-am uninstall-libLIBRARIES \
 	uninstall-library_includeHEADERS
 
+.PRECIOUS: Makefile
+
 
 # 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/utils/skeldump/Makefile.in b/utils/skeldump/Makefile.in
index 01891c1..565b192 100644
--- a/utils/skeldump/Makefile.in
+++ b/utils/skeldump/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,11 +90,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = skeldump$(EXEEXT)
 subdir = utils/skeldump
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/ac_aplod.m4 \
 	$(top_srcdir)/config/ac_bgq.m4 \
+	$(top_srcdir)/config/ac_blosc.m4 \
 	$(top_srcdir)/config/ac_bzip2.m4 \
 	$(top_srcdir)/config/ac_cray_pmi.m4 \
 	$(top_srcdir)/config/ac_cray_ugni.m4 \
@@ -120,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
 	$(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -197,6 +208,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
@@ -236,6 +248,10 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BLOSC_CFLAGS = @BLOSC_CFLAGS@
+BLOSC_CPPFLAGS = @BLOSC_CPPFLAGS@
+BLOSC_LDFLAGS = @BLOSC_LDFLAGS@
+BLOSC_LIBS = @BLOSC_LIBS@
 BP2H5_CC = @BP2H5_CC@
 BP2NCD_CC = @BP2NCD_CC@
 BZIP2_CPPFLAGS = @BZIP2_CPPFLAGS@
@@ -471,6 +487,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -505,7 +522,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/skeldump/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu utils/skeldump/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -807,6 +823,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 #CC=$(MPICC)
 #CXX=$(MPICXX)
 
diff --git a/utils/skeldump/skeldump.h b/utils/skeldump/skeldump.h
index ccee001..f87f656 100644
--- a/utils/skeldump/skeldump.h
+++ b/utils/skeldump/skeldump.h
@@ -15,6 +15,7 @@ extern "C" {
 #include <stdbool.h>
 #include <stdint.h>
 #include "adios_read.h"
+#include "config.h"
 
 /* definitions for skeldump.c */
 #define myfree(p) if (p) { free(p); p=NULL; }
diff --git a/wrappers/numpy/DEVELOPER b/wrappers/numpy/DEVELOPER
index eeccd5a..fb3a1e8 100644
--- a/wrappers/numpy/DEVELOPER
+++ b/wrappers/numpy/DEVELOPER
@@ -1,6 +1,5 @@
 #!/bin/bash
 echo ">>> Working on adios ..."
-python setup.py register 
 python setup.py sdist upload
 echo ">>> Done."
 
@@ -8,7 +7,6 @@ echo ">>> Working on adios_mpi ..."
 mv setup.py setup.py.nompi
 mv setup_mpi.py setup.py
 
-python setup.py register 
 python setup.py sdist upload
 echo ">>> Done."
 
diff --git a/wrappers/numpy/adios.cpp b/wrappers/numpy/adios.cpp
index db3944b..c49b5a3 100644
--- a/wrappers/numpy/adios.cpp
+++ b/wrappers/numpy/adios.cpp
@@ -676,7 +676,7 @@ static const char *__pyx_f[] = {
   "type.pxd",
 };
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725
  * # in Cython to enable them only on the right systems.
  * 
  * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
@@ -685,7 +685,7 @@ static const char *__pyx_f[] = {
  */
 typedef npy_int8 __pyx_t_5numpy_int8_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
  * 
  * ctypedef npy_int8       int8_t
  * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
@@ -694,7 +694,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t;
  */
 typedef npy_int16 __pyx_t_5numpy_int16_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":727
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":727
  * ctypedef npy_int8       int8_t
  * ctypedef npy_int16      int16_t
  * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
@@ -703,7 +703,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t;
  */
 typedef npy_int32 __pyx_t_5numpy_int32_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":728
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":728
  * ctypedef npy_int16      int16_t
  * ctypedef npy_int32      int32_t
  * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
@@ -712,7 +712,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t;
  */
 typedef npy_int64 __pyx_t_5numpy_int64_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732
  * #ctypedef npy_int128     int128_t
  * 
  * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
@@ -721,7 +721,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t;
  */
 typedef npy_uint8 __pyx_t_5numpy_uint8_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
  * 
  * ctypedef npy_uint8      uint8_t
  * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
@@ -730,7 +730,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t;
  */
 typedef npy_uint16 __pyx_t_5numpy_uint16_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":734
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":734
  * ctypedef npy_uint8      uint8_t
  * ctypedef npy_uint16     uint16_t
  * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
@@ -739,7 +739,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t;
  */
 typedef npy_uint32 __pyx_t_5numpy_uint32_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":735
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":735
  * ctypedef npy_uint16     uint16_t
  * ctypedef npy_uint32     uint32_t
  * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
@@ -748,7 +748,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t;
  */
 typedef npy_uint64 __pyx_t_5numpy_uint64_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":739
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":739
  * #ctypedef npy_uint128    uint128_t
  * 
  * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
@@ -757,7 +757,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t;
  */
 typedef npy_float32 __pyx_t_5numpy_float32_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":740
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":740
  * 
  * ctypedef npy_float32    float32_t
  * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
@@ -766,7 +766,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t;
  */
 typedef npy_float64 __pyx_t_5numpy_float64_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749
  * # The int types are mapped a bit surprising --
  * # numpy.int corresponds to 'l' and numpy.long to 'q'
  * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
@@ -775,7 +775,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t;
  */
 typedef npy_long __pyx_t_5numpy_int_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":750
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":750
  * # numpy.int corresponds to 'l' and numpy.long to 'q'
  * ctypedef npy_long       int_t
  * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
@@ -784,7 +784,7 @@ typedef npy_long __pyx_t_5numpy_int_t;
  */
 typedef npy_longlong __pyx_t_5numpy_long_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
  * ctypedef npy_long       int_t
  * ctypedef npy_longlong   long_t
  * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
@@ -793,7 +793,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t;
  */
 typedef npy_longlong __pyx_t_5numpy_longlong_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753
  * ctypedef npy_longlong   longlong_t
  * 
  * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
@@ -802,7 +802,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t;
  */
 typedef npy_ulong __pyx_t_5numpy_uint_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":754
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":754
  * 
  * ctypedef npy_ulong      uint_t
  * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
@@ -811,7 +811,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t;
  */
 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
  * ctypedef npy_ulong      uint_t
  * ctypedef npy_ulonglong  ulong_t
  * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
@@ -820,7 +820,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
  */
 typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":757
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":757
  * ctypedef npy_ulonglong  ulonglong_t
  * 
  * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
@@ -829,7 +829,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
  */
 typedef npy_intp __pyx_t_5numpy_intp_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
  * 
  * ctypedef npy_intp       intp_t
  * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
@@ -838,7 +838,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t;
  */
 typedef npy_uintp __pyx_t_5numpy_uintp_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760
  * ctypedef npy_uintp      uintp_t
  * 
  * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
@@ -847,7 +847,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t;
  */
 typedef npy_double __pyx_t_5numpy_float_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":761
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":761
  * 
  * ctypedef npy_double     float_t
  * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
@@ -856,7 +856,7 @@ typedef npy_double __pyx_t_5numpy_float_t;
  */
 typedef npy_double __pyx_t_5numpy_double_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
  * ctypedef npy_double     float_t
  * ctypedef npy_double     double_t
  * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
@@ -901,7 +901,7 @@ struct __pyx_obj_5adios_writer;
 struct __pyx_obj_5adios_attrinfo;
 struct __pyx_obj_5adios_varinfo;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764
  * ctypedef npy_longdouble longdouble_t
  * 
  * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
@@ -910,7 +910,7 @@ struct __pyx_obj_5adios_varinfo;
  */
 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":765
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":765
  * 
  * ctypedef npy_cfloat      cfloat_t
  * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
@@ -919,7 +919,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
  */
 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
  * ctypedef npy_cfloat      cfloat_t
  * ctypedef npy_cdouble     cdouble_t
  * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
@@ -928,7 +928,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
  */
 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
  * ctypedef npy_clongdouble clongdouble_t
  * 
  * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
@@ -37996,7 +37996,7 @@ static PyObject *__pyx_pf_5adios_94bpls(CYTHON_UNUSED PyObject *__pyx_self, PyOb
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -38043,7 +38043,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_GIVEREF(__pyx_v_info->obj);
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
  *             # of flags
  * 
  *             if info == NULL: return             # <<<<<<<<<<<<<<
@@ -38056,7 +38056,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L0;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
  * 
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -38065,7 +38065,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_endian_detector = 1;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":207
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":207
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -38074,7 +38074,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
  * 
  *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
@@ -38083,7 +38083,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
  *             ndim = PyArray_NDIM(self)
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -38093,7 +38093,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":212
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":212
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 copy_shape = 1             # <<<<<<<<<<<<<<
@@ -38102,7 +38102,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_copy_shape = 1;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
  *             ndim = PyArray_NDIM(self)
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -38112,7 +38112,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L4;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
  *                 copy_shape = 1
  *             else:
  *                 copy_shape = 0             # <<<<<<<<<<<<<<
@@ -38124,7 +38124,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   }
   __pyx_L4:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38138,7 +38138,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L6_bool_binop_done;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -38149,7 +38149,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = __pyx_t_2;
   __pyx_L6_bool_binop_done:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38158,7 +38158,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
@@ -38171,7 +38171,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     __PYX_ERR(1, 218, __pyx_L1_error)
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38180,7 +38180,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
  *                 raise ValueError(u"ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38194,7 +38194,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L9_bool_binop_done;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -38205,7 +38205,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = __pyx_t_2;
   __pyx_L9_bool_binop_done:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
  *                 raise ValueError(u"ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38214,7 +38214,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
@@ -38227,7 +38227,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     __PYX_ERR(1, 222, __pyx_L1_error)
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
  *                 raise ValueError(u"ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38236,7 +38236,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":224
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":224
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  * 
  *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
@@ -38245,7 +38245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":225
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":225
  * 
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim             # <<<<<<<<<<<<<<
@@ -38254,7 +38254,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->ndim = __pyx_v_ndim;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if copy_shape:             # <<<<<<<<<<<<<<
@@ -38264,7 +38264,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = (__pyx_v_copy_shape != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
  *                 # Allocate new buffer for strides and shape info.
  *                 # This is allocated as one block, strides first.
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)             # <<<<<<<<<<<<<<
@@ -38273,7 +38273,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
  *                 # This is allocated as one block, strides first.
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
  *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
@@ -38282,7 +38282,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):             # <<<<<<<<<<<<<<
@@ -38293,7 +38293,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
       __pyx_v_i = __pyx_t_5;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
@@ -38302,7 +38302,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
       (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
  *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
@@ -38312,7 +38312,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if copy_shape:             # <<<<<<<<<<<<<<
@@ -38322,7 +38322,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L11;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
  *                     info.shape[i] = PyArray_DIMS(self)[i]
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
@@ -38332,7 +38332,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   /*else*/ {
     __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
@@ -38343,7 +38343,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   }
   __pyx_L11:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
@@ -38352,7 +38352,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->suboffsets = NULL;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":238
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":238
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
@@ -38361,7 +38361,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)
  *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
@@ -38370,7 +38370,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":242
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":242
  * 
  *             cdef int t
  *             cdef char* f = NULL             # <<<<<<<<<<<<<<
@@ -38379,7 +38379,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_f = NULL;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":243
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":243
  *             cdef int t
  *             cdef char* f = NULL
  *             cdef dtype descr = self.descr             # <<<<<<<<<<<<<<
@@ -38391,7 +38391,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
   __pyx_t_3 = 0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246
  *             cdef int offset
  * 
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)             # <<<<<<<<<<<<<<
@@ -38400,7 +38400,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)
  * 
  *             if not hasfields and not copy_shape:             # <<<<<<<<<<<<<<
@@ -38418,7 +38418,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_L15_bool_binop_done:;
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":250
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":250
  *             if not hasfields and not copy_shape:
  *                 # do not call releasebuffer
  *                 info.obj = None             # <<<<<<<<<<<<<<
@@ -38431,7 +38431,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_DECREF(__pyx_v_info->obj);
     __pyx_v_info->obj = Py_None;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)
  * 
  *             if not hasfields and not copy_shape:             # <<<<<<<<<<<<<<
@@ -38441,7 +38441,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L14;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253
  *             else:
  *                 # need to call releasebuffer
  *                 info.obj = self             # <<<<<<<<<<<<<<
@@ -38457,7 +38457,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   }
   __pyx_L14:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
  *                 info.obj = self
  * 
  *             if not hasfields:             # <<<<<<<<<<<<<<
@@ -38467,7 +38467,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
  * 
  *             if not hasfields:
  *                 t = descr.type_num             # <<<<<<<<<<<<<<
@@ -38477,7 +38477,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_t_4 = __pyx_v_descr->type_num;
     __pyx_v_t = __pyx_t_4;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -38497,7 +38497,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     }
     __pyx_L20_next_or:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -38514,7 +38514,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_t_1 = __pyx_t_2;
     __pyx_L19_bool_binop_done:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -38523,7 +38523,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     if (__pyx_t_1) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -38536,7 +38536,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       __PYX_ERR(1, 259, __pyx_L1_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -38545,7 +38545,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
@@ -38557,7 +38557,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"b");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
@@ -38568,7 +38568,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"B");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
@@ -38579,7 +38579,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"h");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
@@ -38590,7 +38590,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"H");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
@@ -38601,7 +38601,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"i");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
@@ -38612,7 +38612,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"I");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
@@ -38623,7 +38623,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"l");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
@@ -38634,7 +38634,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"L");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
@@ -38645,7 +38645,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"q");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
@@ -38656,7 +38656,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Q");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
@@ -38667,7 +38667,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"f");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
@@ -38678,7 +38678,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"d");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
@@ -38689,7 +38689,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"g");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
@@ -38700,7 +38700,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Zf");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
@@ -38711,7 +38711,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Zd");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
@@ -38722,7 +38722,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Zg");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
  *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
@@ -38734,7 +38734,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       break;
       default:
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
  *                 elif t == NPY_OBJECT:      f = "O"
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -38760,7 +38760,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       break;
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f             # <<<<<<<<<<<<<<
@@ -38769,7 +38769,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_info->format = __pyx_v_f;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f
  *                 return             # <<<<<<<<<<<<<<
@@ -38779,7 +38779,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_r = 0;
     goto __pyx_L0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
  *                 info.obj = self
  * 
  *             if not hasfields:             # <<<<<<<<<<<<<<
@@ -38788,7 +38788,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282
  *                 return
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
@@ -38798,7 +38798,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   /*else*/ {
     __pyx_v_info->format = ((char *)malloc(0xFF));
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = c'^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
@@ -38807,7 +38807,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     (__pyx_v_info->format[0]) = '^';
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = c'^' # Native data types, manual alignment
  *                 offset = 0             # <<<<<<<<<<<<<<
@@ -38816,7 +38816,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_offset = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
  *                 info.format[0] = c'^' # Native data types, manual alignment
  *                 offset = 0
  *                 f = _util_dtypestring(descr, info.format + 1,             # <<<<<<<<<<<<<<
@@ -38826,7 +38826,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) __PYX_ERR(1, 285, __pyx_L1_error)
     __pyx_v_f = __pyx_t_7;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
  *                                       info.format + _buffer_format_string_len,
  *                                       &offset)
  *                 f[0] = c'\0' # Terminate format string             # <<<<<<<<<<<<<<
@@ -38836,7 +38836,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     (__pyx_v_f[0]) = '\x00';
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -38868,7 +38868,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
  *                 f[0] = c'\0' # Terminate format string
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -38892,7 +38892,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("__releasebuffer__", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -38902,7 +38902,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)             # <<<<<<<<<<<<<<
@@ -38911,7 +38911,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
     free(__pyx_v_info->format);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -38920,7 +38920,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -38930,7 +38930,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 stdlib.free(info.strides)             # <<<<<<<<<<<<<<
@@ -38939,7 +38939,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
     free(__pyx_v_info->strides);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -38948,7 +38948,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
  *                 f[0] = c'\0' # Terminate format string
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -38960,7 +38960,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   __Pyx_RefNannyFinishContext();
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
  * ctypedef npy_cdouble     complex_t
  * 
  * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
@@ -38974,7 +38974,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
  * 
  * cdef inline object PyArray_MultiIterNew1(a):
  *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
@@ -38988,7 +38988,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
  * ctypedef npy_cdouble     complex_t
  * 
  * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
@@ -39007,7 +39007,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
  *     return PyArray_MultiIterNew(1, <void*>a)
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
@@ -39021,7 +39021,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
@@ -39035,7 +39035,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
  *     return PyArray_MultiIterNew(1, <void*>a)
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
@@ -39054,7 +39054,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
@@ -39068,7 +39068,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
@@ -39082,7 +39082,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
@@ -39101,7 +39101,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
@@ -39115,7 +39115,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
@@ -39129,7 +39129,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
@@ -39148,7 +39148,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
@@ -39162,7 +39162,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
@@ -39176,7 +39176,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
@@ -39195,7 +39195,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
  * 
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -39224,7 +39224,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   char *__pyx_t_9;
   __Pyx_RefNannySetupContext("_util_dtypestring", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
  * 
  *     cdef dtype child
  *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -39233,7 +39233,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
   __pyx_v_endian_detector = 1;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
  *     cdef dtype child
  *     cdef int endian_detector = 1
  *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -39242,7 +39242,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
  *     cdef tuple fields
  * 
  *     for childname in descr.names:             # <<<<<<<<<<<<<<
@@ -39265,7 +39265,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
     __pyx_t_3 = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795
  * 
  *     for childname in descr.names:
  *         fields = descr.fields[childname]             # <<<<<<<<<<<<<<
@@ -39282,7 +39282,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
     __pyx_t_3 = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
  *     for childname in descr.names:
  *         fields = descr.fields[childname]
  *         child, new_offset = fields             # <<<<<<<<<<<<<<
@@ -39321,7 +39321,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
     __pyx_t_4 = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
  *         child, new_offset = fields
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
@@ -39338,7 +39338,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
     if (__pyx_t_6) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
@@ -39351,7 +39351,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       __PYX_ERR(1, 799, __pyx_L1_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
  *         child, new_offset = fields
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
@@ -39360,7 +39360,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39380,7 +39380,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     }
     __pyx_L8_next_or:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
  * 
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -39397,7 +39397,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_6 = __pyx_t_7;
     __pyx_L7_bool_binop_done:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39406,7 +39406,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
     if (__pyx_t_6) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):
  *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -39419,7 +39419,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       __PYX_ERR(1, 803, __pyx_L1_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39428,7 +39428,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
  * 
  *         # Output padding bytes
  *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
@@ -39444,7 +39444,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
       if (!__pyx_t_6) break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
  *         # Output padding bytes
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
@@ -39453,7 +39453,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       (__pyx_v_f[0]) = 0x78;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte
  *             f += 1             # <<<<<<<<<<<<<<
@@ -39462,7 +39462,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       __pyx_v_f = (__pyx_v_f + 1);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
  *             f[0] = 120 # "x"; pad byte
  *             f += 1
  *             offset[0] += 1             # <<<<<<<<<<<<<<
@@ -39473,7 +39473,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
  *             offset[0] += 1
  * 
  *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
@@ -39483,7 +39483,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_8 = 0;
     (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
  *         offset[0] += child.itemsize
  * 
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -39493,7 +39493,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
     if (__pyx_t_6) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
  * 
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num             # <<<<<<<<<<<<<<
@@ -39505,7 +39505,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
       __pyx_t_4 = 0;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -39515,7 +39515,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
       if (__pyx_t_6) {
 
-        /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+        /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
@@ -39528,7 +39528,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
         __PYX_ERR(1, 823, __pyx_L1_error)
 
-        /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
+        /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -39537,7 +39537,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
  * 
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
@@ -39555,7 +39555,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
@@ -39573,7 +39573,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
@@ -39591,7 +39591,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
@@ -39609,7 +39609,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
@@ -39627,7 +39627,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
@@ -39645,7 +39645,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
@@ -39663,7 +39663,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
@@ -39681,7 +39681,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
@@ -39699,7 +39699,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
@@ -39717,7 +39717,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
@@ -39735,7 +39735,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
@@ -39753,7 +39753,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
@@ -39771,7 +39771,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
@@ -39791,7 +39791,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
@@ -39811,7 +39811,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
@@ -39831,7 +39831,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
@@ -39849,7 +39849,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -39873,7 +39873,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       }
       __pyx_L15:;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *             f += 1             # <<<<<<<<<<<<<<
@@ -39882,7 +39882,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       __pyx_v_f = (__pyx_v_f + 1);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
  *         offset[0] += child.itemsize
  * 
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -39892,7 +39892,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       goto __pyx_L13;
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":849
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":849
  *             # Cython ignores struct boundary information ("T{...}"),
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
@@ -39905,7 +39905,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     }
     __pyx_L13:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
  *     cdef tuple fields
  * 
  *     for childname in descr.names:             # <<<<<<<<<<<<<<
@@ -39915,7 +39915,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   }
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":850
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":850
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)
  *     return f             # <<<<<<<<<<<<<<
@@ -39925,7 +39925,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   __pyx_r = __pyx_v_f;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
  * 
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -39950,7 +39950,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
  * 
  * 
  * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
@@ -39965,7 +39965,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   int __pyx_t_2;
   __Pyx_RefNannySetupContext("set_array_base", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
  * cdef inline void set_array_base(ndarray arr, object base):
  *      cdef PyObject* baseptr
  *      if base is None:             # <<<<<<<<<<<<<<
@@ -39976,7 +39976,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   __pyx_t_2 = (__pyx_t_1 != 0);
   if (__pyx_t_2) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
  *      cdef PyObject* baseptr
  *      if base is None:
  *          baseptr = NULL             # <<<<<<<<<<<<<<
@@ -39985,7 +39985,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
     __pyx_v_baseptr = NULL;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
  * cdef inline void set_array_base(ndarray arr, object base):
  *      cdef PyObject* baseptr
  *      if base is None:             # <<<<<<<<<<<<<<
@@ -39995,7 +39995,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
     goto __pyx_L3;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
  *          baseptr = NULL
  *      else:
  *          Py_INCREF(base) # important to do this before decref below!             # <<<<<<<<<<<<<<
@@ -40005,7 +40005,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   /*else*/ {
     Py_INCREF(__pyx_v_base);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
  *      else:
  *          Py_INCREF(base) # important to do this before decref below!
  *          baseptr = <PyObject*>base             # <<<<<<<<<<<<<<
@@ -40016,7 +40016,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   }
   __pyx_L3:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":973
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":973
  *          Py_INCREF(base) # important to do this before decref below!
  *          baseptr = <PyObject*>base
  *      Py_XDECREF(arr.base)             # <<<<<<<<<<<<<<
@@ -40025,7 +40025,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
   Py_XDECREF(__pyx_v_arr->base);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
  *          baseptr = <PyObject*>base
  *      Py_XDECREF(arr.base)
  *      arr.base = baseptr             # <<<<<<<<<<<<<<
@@ -40034,7 +40034,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
   __pyx_v_arr->base = __pyx_v_baseptr;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
  * 
  * 
  * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
@@ -40046,7 +40046,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   __Pyx_RefNannyFinishContext();
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
  *      arr.base = baseptr
  * 
  * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
@@ -40060,7 +40060,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("get_array_base", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
  * 
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:             # <<<<<<<<<<<<<<
@@ -40070,7 +40070,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":978
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":978
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:
  *         return None             # <<<<<<<<<<<<<<
@@ -40082,7 +40082,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
     __pyx_r = Py_None;
     goto __pyx_L0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
  * 
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:             # <<<<<<<<<<<<<<
@@ -40091,7 +40091,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
  *         return None
  *     else:
  *         return <object>arr.base             # <<<<<<<<<<<<<<
@@ -40105,7 +40105,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
     goto __pyx_L0;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
  *      arr.base = baseptr
  * 
  * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
@@ -40120,7 +40120,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
  * # Versions of the import_* functions which are more suitable for
  * # Cython code.
  * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
@@ -40141,7 +40141,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
   PyObject *__pyx_t_8 = NULL;
   __Pyx_RefNannySetupContext("import_array", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40157,7 +40157,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     __Pyx_XGOTREF(__pyx_t_3);
     /*try:*/ {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":987
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":987
  * cdef inline int import_array() except -1:
  *     try:
  *         _import_array()             # <<<<<<<<<<<<<<
@@ -40166,7 +40166,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
  */
       __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(1, 987, __pyx_L3_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40181,7 +40181,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     __pyx_L3_error:;
     __Pyx_PyThreadState_assign
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":988
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":988
  *     try:
  *         _import_array()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -40196,7 +40196,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_7);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
  *         _import_array()
  *     except Exception:
  *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
@@ -40212,7 +40212,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     goto __pyx_L5_except_error;
     __pyx_L5_except_error:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40228,7 +40228,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     __pyx_L10_try_end:;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
  * # Versions of the import_* functions which are more suitable for
  * # Cython code.
  * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
@@ -40251,7 +40251,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
  *         raise ImportError("numpy.core.multiarray failed to import")
  * 
  * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
@@ -40272,7 +40272,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
   PyObject *__pyx_t_8 = NULL;
   __Pyx_RefNannySetupContext("import_umath", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
  * 
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40288,7 +40288,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     __Pyx_XGOTREF(__pyx_t_3);
     /*try:*/ {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":993
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":993
  * cdef inline int import_umath() except -1:
  *     try:
  *         _import_umath()             # <<<<<<<<<<<<<<
@@ -40297,7 +40297,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
  */
       __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(1, 993, __pyx_L3_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
  * 
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40312,7 +40312,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     __pyx_L3_error:;
     __Pyx_PyThreadState_assign
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":994
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":994
  *     try:
  *         _import_umath()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -40327,7 +40327,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_7);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -40343,7 +40343,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     goto __pyx_L5_except_error;
     __pyx_L5_except_error:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
  * 
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40359,7 +40359,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     __pyx_L10_try_end:;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
  *         raise ImportError("numpy.core.multiarray failed to import")
  * 
  * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
@@ -40382,7 +40382,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
  *         raise ImportError("numpy.core.umath failed to import")
  * 
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
@@ -40403,7 +40403,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
   PyObject *__pyx_t_8 = NULL;
   __Pyx_RefNannySetupContext("import_ufunc", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
  * 
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40419,7 +40419,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     __Pyx_XGOTREF(__pyx_t_3);
     /*try:*/ {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":999
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":999
  * cdef inline int import_ufunc() except -1:
  *     try:
  *         _import_umath()             # <<<<<<<<<<<<<<
@@ -40428,7 +40428,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
  */
       __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(1, 999, __pyx_L3_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
  * 
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40443,7 +40443,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     __pyx_L3_error:;
     __Pyx_PyThreadState_assign
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1000
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1000
  *     try:
  *         _import_umath()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -40457,7 +40457,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_7);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -40471,7 +40471,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     goto __pyx_L5_except_error;
     __pyx_L5_except_error:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
  * 
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40487,7 +40487,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     __pyx_L10_try_end:;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
  *         raise ImportError("numpy.core.umath failed to import")
  * 
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
@@ -43321,7 +43321,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__71);
   __Pyx_GIVEREF(__pyx_tuple__71);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
@@ -43332,7 +43332,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__72);
   __Pyx_GIVEREF(__pyx_tuple__72);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
@@ -43343,7 +43343,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__73);
   __Pyx_GIVEREF(__pyx_tuple__73);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -43354,7 +43354,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__74);
   __Pyx_GIVEREF(__pyx_tuple__74);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
@@ -43365,7 +43365,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__75);
   __Pyx_GIVEREF(__pyx_tuple__75);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):
  *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -43376,7 +43376,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__76);
   __Pyx_GIVEREF(__pyx_tuple__76);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
@@ -43387,7 +43387,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__77);
   __Pyx_GIVEREF(__pyx_tuple__77);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
  *         _import_array()
  *     except Exception:
  *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
@@ -43398,7 +43398,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__78);
   __Pyx_GIVEREF(__pyx_tuple__78);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -43409,7 +43409,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__79);
   __Pyx_GIVEREF(__pyx_tuple__79);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -44512,7 +44512,7 @@ PyMODINIT_FUNC PyInit_adios(void)
   if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
  *         raise ImportError("numpy.core.umath failed to import")
  * 
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
diff --git a/wrappers/numpy/adios_mpi.cpp b/wrappers/numpy/adios_mpi.cpp
index b6b702b..f4d116f 100644
--- a/wrappers/numpy/adios_mpi.cpp
+++ b/wrappers/numpy/adios_mpi.cpp
@@ -679,7 +679,7 @@ static const char *__pyx_f[] = {
   "MPI.pxd",
 };
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725
  * # in Cython to enable them only on the right systems.
  * 
  * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
@@ -688,7 +688,7 @@ static const char *__pyx_f[] = {
  */
 typedef npy_int8 __pyx_t_5numpy_int8_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
  * 
  * ctypedef npy_int8       int8_t
  * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
@@ -697,7 +697,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t;
  */
 typedef npy_int16 __pyx_t_5numpy_int16_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":727
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":727
  * ctypedef npy_int8       int8_t
  * ctypedef npy_int16      int16_t
  * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
@@ -706,7 +706,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t;
  */
 typedef npy_int32 __pyx_t_5numpy_int32_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":728
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":728
  * ctypedef npy_int16      int16_t
  * ctypedef npy_int32      int32_t
  * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
@@ -715,7 +715,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t;
  */
 typedef npy_int64 __pyx_t_5numpy_int64_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732
  * #ctypedef npy_int128     int128_t
  * 
  * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
@@ -724,7 +724,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t;
  */
 typedef npy_uint8 __pyx_t_5numpy_uint8_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
  * 
  * ctypedef npy_uint8      uint8_t
  * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
@@ -733,7 +733,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t;
  */
 typedef npy_uint16 __pyx_t_5numpy_uint16_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":734
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":734
  * ctypedef npy_uint8      uint8_t
  * ctypedef npy_uint16     uint16_t
  * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
@@ -742,7 +742,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t;
  */
 typedef npy_uint32 __pyx_t_5numpy_uint32_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":735
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":735
  * ctypedef npy_uint16     uint16_t
  * ctypedef npy_uint32     uint32_t
  * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
@@ -751,7 +751,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t;
  */
 typedef npy_uint64 __pyx_t_5numpy_uint64_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":739
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":739
  * #ctypedef npy_uint128    uint128_t
  * 
  * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
@@ -760,7 +760,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t;
  */
 typedef npy_float32 __pyx_t_5numpy_float32_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":740
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":740
  * 
  * ctypedef npy_float32    float32_t
  * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
@@ -769,7 +769,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t;
  */
 typedef npy_float64 __pyx_t_5numpy_float64_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749
  * # The int types are mapped a bit surprising --
  * # numpy.int corresponds to 'l' and numpy.long to 'q'
  * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
@@ -778,7 +778,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t;
  */
 typedef npy_long __pyx_t_5numpy_int_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":750
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":750
  * # numpy.int corresponds to 'l' and numpy.long to 'q'
  * ctypedef npy_long       int_t
  * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
@@ -787,7 +787,7 @@ typedef npy_long __pyx_t_5numpy_int_t;
  */
 typedef npy_longlong __pyx_t_5numpy_long_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
  * ctypedef npy_long       int_t
  * ctypedef npy_longlong   long_t
  * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
@@ -796,7 +796,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t;
  */
 typedef npy_longlong __pyx_t_5numpy_longlong_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753
  * ctypedef npy_longlong   longlong_t
  * 
  * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
@@ -805,7 +805,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t;
  */
 typedef npy_ulong __pyx_t_5numpy_uint_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":754
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":754
  * 
  * ctypedef npy_ulong      uint_t
  * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
@@ -814,7 +814,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t;
  */
 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
  * ctypedef npy_ulong      uint_t
  * ctypedef npy_ulonglong  ulong_t
  * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
@@ -823,7 +823,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
  */
 typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":757
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":757
  * ctypedef npy_ulonglong  ulonglong_t
  * 
  * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
@@ -832,7 +832,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
  */
 typedef npy_intp __pyx_t_5numpy_intp_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
  * 
  * ctypedef npy_intp       intp_t
  * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
@@ -841,7 +841,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t;
  */
 typedef npy_uintp __pyx_t_5numpy_uintp_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760
  * ctypedef npy_uintp      uintp_t
  * 
  * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
@@ -850,7 +850,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t;
  */
 typedef npy_double __pyx_t_5numpy_float_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":761
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":761
  * 
  * ctypedef npy_double     float_t
  * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
@@ -859,7 +859,7 @@ typedef npy_double __pyx_t_5numpy_float_t;
  */
 typedef npy_double __pyx_t_5numpy_double_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
  * ctypedef npy_double     float_t
  * ctypedef npy_double     double_t
  * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
@@ -923,7 +923,7 @@ struct __pyx_obj_9adios_mpi_writer;
 struct __pyx_obj_9adios_mpi_attrinfo;
 struct __pyx_obj_9adios_mpi_varinfo;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764
  * ctypedef npy_longdouble longdouble_t
  * 
  * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
@@ -932,7 +932,7 @@ struct __pyx_obj_9adios_mpi_varinfo;
  */
 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":765
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":765
  * 
  * ctypedef npy_cfloat      cfloat_t
  * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
@@ -941,7 +941,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
  */
 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
  * ctypedef npy_cfloat      cfloat_t
  * ctypedef npy_cdouble     cdouble_t
  * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
@@ -950,7 +950,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
  */
 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
  * ctypedef npy_clongdouble clongdouble_t
  * 
  * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
@@ -38486,7 +38486,7 @@ static PyObject *__pyx_pf_9adios_mpi_94bpls(CYTHON_UNUSED PyObject *__pyx_self,
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -38533,7 +38533,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_GIVEREF(__pyx_v_info->obj);
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
  *             # of flags
  * 
  *             if info == NULL: return             # <<<<<<<<<<<<<<
@@ -38546,7 +38546,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L0;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
  * 
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -38555,7 +38555,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_endian_detector = 1;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":207
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":207
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -38564,7 +38564,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
  * 
  *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
@@ -38573,7 +38573,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
  *             ndim = PyArray_NDIM(self)
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -38583,7 +38583,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":212
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":212
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 copy_shape = 1             # <<<<<<<<<<<<<<
@@ -38592,7 +38592,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_copy_shape = 1;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
  *             ndim = PyArray_NDIM(self)
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -38602,7 +38602,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L4;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
  *                 copy_shape = 1
  *             else:
  *                 copy_shape = 0             # <<<<<<<<<<<<<<
@@ -38614,7 +38614,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   }
   __pyx_L4:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38628,7 +38628,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L6_bool_binop_done;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -38639,7 +38639,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = __pyx_t_2;
   __pyx_L6_bool_binop_done:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38648,7 +38648,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
@@ -38661,7 +38661,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     __PYX_ERR(1, 218, __pyx_L1_error)
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38670,7 +38670,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
  *                 raise ValueError(u"ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38684,7 +38684,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L9_bool_binop_done;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -38695,7 +38695,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = __pyx_t_2;
   __pyx_L9_bool_binop_done:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
  *                 raise ValueError(u"ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38704,7 +38704,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
@@ -38717,7 +38717,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     __PYX_ERR(1, 222, __pyx_L1_error)
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
  *                 raise ValueError(u"ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -38726,7 +38726,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":224
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":224
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  * 
  *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
@@ -38735,7 +38735,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":225
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":225
  * 
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim             # <<<<<<<<<<<<<<
@@ -38744,7 +38744,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->ndim = __pyx_v_ndim;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if copy_shape:             # <<<<<<<<<<<<<<
@@ -38754,7 +38754,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = (__pyx_v_copy_shape != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
  *                 # Allocate new buffer for strides and shape info.
  *                 # This is allocated as one block, strides first.
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)             # <<<<<<<<<<<<<<
@@ -38763,7 +38763,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
  *                 # This is allocated as one block, strides first.
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
  *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
@@ -38772,7 +38772,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):             # <<<<<<<<<<<<<<
@@ -38783,7 +38783,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
       __pyx_v_i = __pyx_t_5;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
@@ -38792,7 +38792,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
       (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
  *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
@@ -38802,7 +38802,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if copy_shape:             # <<<<<<<<<<<<<<
@@ -38812,7 +38812,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L11;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
  *                     info.shape[i] = PyArray_DIMS(self)[i]
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
@@ -38822,7 +38822,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   /*else*/ {
     __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
@@ -38833,7 +38833,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   }
   __pyx_L11:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
@@ -38842,7 +38842,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->suboffsets = NULL;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":238
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":238
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
@@ -38851,7 +38851,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)
  *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
@@ -38860,7 +38860,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":242
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":242
  * 
  *             cdef int t
  *             cdef char* f = NULL             # <<<<<<<<<<<<<<
@@ -38869,7 +38869,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_f = NULL;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":243
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":243
  *             cdef int t
  *             cdef char* f = NULL
  *             cdef dtype descr = self.descr             # <<<<<<<<<<<<<<
@@ -38881,7 +38881,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
   __pyx_t_3 = 0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246
  *             cdef int offset
  * 
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)             # <<<<<<<<<<<<<<
@@ -38890,7 +38890,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)
  * 
  *             if not hasfields and not copy_shape:             # <<<<<<<<<<<<<<
@@ -38908,7 +38908,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_L15_bool_binop_done:;
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":250
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":250
  *             if not hasfields and not copy_shape:
  *                 # do not call releasebuffer
  *                 info.obj = None             # <<<<<<<<<<<<<<
@@ -38921,7 +38921,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __Pyx_DECREF(__pyx_v_info->obj);
     __pyx_v_info->obj = Py_None;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)
  * 
  *             if not hasfields and not copy_shape:             # <<<<<<<<<<<<<<
@@ -38931,7 +38931,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     goto __pyx_L14;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253
  *             else:
  *                 # need to call releasebuffer
  *                 info.obj = self             # <<<<<<<<<<<<<<
@@ -38947,7 +38947,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   }
   __pyx_L14:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
  *                 info.obj = self
  * 
  *             if not hasfields:             # <<<<<<<<<<<<<<
@@ -38957,7 +38957,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
  * 
  *             if not hasfields:
  *                 t = descr.type_num             # <<<<<<<<<<<<<<
@@ -38967,7 +38967,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_t_4 = __pyx_v_descr->type_num;
     __pyx_v_t = __pyx_t_4;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -38987,7 +38987,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     }
     __pyx_L20_next_or:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -39004,7 +39004,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_t_1 = __pyx_t_2;
     __pyx_L19_bool_binop_done:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39013,7 +39013,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     if (__pyx_t_1) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -39026,7 +39026,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       __PYX_ERR(1, 259, __pyx_L1_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39035,7 +39035,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
@@ -39047,7 +39047,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"b");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
@@ -39058,7 +39058,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"B");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
@@ -39069,7 +39069,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"h");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
@@ -39080,7 +39080,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"H");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
@@ -39091,7 +39091,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"i");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
@@ -39102,7 +39102,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"I");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
@@ -39113,7 +39113,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"l");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
@@ -39124,7 +39124,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"L");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
@@ -39135,7 +39135,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"q");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
@@ -39146,7 +39146,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Q");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
@@ -39157,7 +39157,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"f");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
@@ -39168,7 +39168,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"d");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
@@ -39179,7 +39179,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"g");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
@@ -39190,7 +39190,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Zf");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
@@ -39201,7 +39201,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Zd");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
@@ -39212,7 +39212,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       __pyx_v_f = ((char *)"Zg");
       break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
  *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
@@ -39224,7 +39224,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       break;
       default:
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
  *                 elif t == NPY_OBJECT:      f = "O"
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -39250,7 +39250,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
       break;
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f             # <<<<<<<<<<<<<<
@@ -39259,7 +39259,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_info->format = __pyx_v_f;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f
  *                 return             # <<<<<<<<<<<<<<
@@ -39269,7 +39269,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_r = 0;
     goto __pyx_L0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
  *                 info.obj = self
  * 
  *             if not hasfields:             # <<<<<<<<<<<<<<
@@ -39278,7 +39278,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282
  *                 return
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
@@ -39288,7 +39288,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   /*else*/ {
     __pyx_v_info->format = ((char *)malloc(0xFF));
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = c'^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
@@ -39297,7 +39297,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     (__pyx_v_info->format[0]) = '^';
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = c'^' # Native data types, manual alignment
  *                 offset = 0             # <<<<<<<<<<<<<<
@@ -39306,7 +39306,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
  */
     __pyx_v_offset = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
  *                 info.format[0] = c'^' # Native data types, manual alignment
  *                 offset = 0
  *                 f = _util_dtypestring(descr, info.format + 1,             # <<<<<<<<<<<<<<
@@ -39316,7 +39316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) __PYX_ERR(1, 285, __pyx_L1_error)
     __pyx_v_f = __pyx_t_7;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
  *                                       info.format + _buffer_format_string_len,
  *                                       &offset)
  *                 f[0] = c'\0' # Terminate format string             # <<<<<<<<<<<<<<
@@ -39326,7 +39326,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
     (__pyx_v_f[0]) = '\x00';
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -39358,7 +39358,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, P
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
  *                 f[0] = c'\0' # Terminate format string
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -39382,7 +39382,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("__releasebuffer__", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -39392,7 +39392,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)             # <<<<<<<<<<<<<<
@@ -39401,7 +39401,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
     free(__pyx_v_info->format);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -39410,7 +39410,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -39420,7 +39420,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 stdlib.free(info.strides)             # <<<<<<<<<<<<<<
@@ -39429,7 +39429,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
     free(__pyx_v_info->strides);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -39438,7 +39438,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
  *                 f[0] = c'\0' # Terminate format string
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -39450,7 +39450,7 @@ static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_s
   __Pyx_RefNannyFinishContext();
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
  * ctypedef npy_cdouble     complex_t
  * 
  * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
@@ -39464,7 +39464,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
  * 
  * cdef inline object PyArray_MultiIterNew1(a):
  *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
@@ -39478,7 +39478,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
  * ctypedef npy_cdouble     complex_t
  * 
  * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
@@ -39497,7 +39497,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
  *     return PyArray_MultiIterNew(1, <void*>a)
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
@@ -39511,7 +39511,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
@@ -39525,7 +39525,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
  *     return PyArray_MultiIterNew(1, <void*>a)
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
@@ -39544,7 +39544,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
@@ -39558,7 +39558,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
@@ -39572,7 +39572,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
@@ -39591,7 +39591,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
@@ -39605,7 +39605,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
@@ -39619,7 +39619,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
@@ -39638,7 +39638,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
@@ -39652,7 +39652,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
@@ -39666,7 +39666,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
@@ -39685,7 +39685,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
  * 
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -39714,7 +39714,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   char *__pyx_t_9;
   __Pyx_RefNannySetupContext("_util_dtypestring", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
  * 
  *     cdef dtype child
  *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -39723,7 +39723,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
   __pyx_v_endian_detector = 1;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
  *     cdef dtype child
  *     cdef int endian_detector = 1
  *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -39732,7 +39732,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
  *     cdef tuple fields
  * 
  *     for childname in descr.names:             # <<<<<<<<<<<<<<
@@ -39755,7 +39755,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
     __pyx_t_3 = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795
  * 
  *     for childname in descr.names:
  *         fields = descr.fields[childname]             # <<<<<<<<<<<<<<
@@ -39772,7 +39772,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
     __pyx_t_3 = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
  *     for childname in descr.names:
  *         fields = descr.fields[childname]
  *         child, new_offset = fields             # <<<<<<<<<<<<<<
@@ -39811,7 +39811,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
     __pyx_t_4 = 0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
  *         child, new_offset = fields
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
@@ -39828,7 +39828,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
     if (__pyx_t_6) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
@@ -39841,7 +39841,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       __PYX_ERR(1, 799, __pyx_L1_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
  *         child, new_offset = fields
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
@@ -39850,7 +39850,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39870,7 +39870,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     }
     __pyx_L8_next_or:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
  * 
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -39887,7 +39887,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_6 = __pyx_t_7;
     __pyx_L7_bool_binop_done:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39896,7 +39896,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
     if (__pyx_t_6) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):
  *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -39909,7 +39909,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       __PYX_ERR(1, 803, __pyx_L1_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -39918,7 +39918,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
  * 
  *         # Output padding bytes
  *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
@@ -39934,7 +39934,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
       if (!__pyx_t_6) break;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
  *         # Output padding bytes
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
@@ -39943,7 +39943,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       (__pyx_v_f[0]) = 0x78;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte
  *             f += 1             # <<<<<<<<<<<<<<
@@ -39952,7 +39952,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       __pyx_v_f = (__pyx_v_f + 1);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
  *             f[0] = 120 # "x"; pad byte
  *             f += 1
  *             offset[0] += 1             # <<<<<<<<<<<<<<
@@ -39963,7 +39963,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
  *             offset[0] += 1
  * 
  *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
@@ -39973,7 +39973,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_8 = 0;
     (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
  *         offset[0] += child.itemsize
  * 
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -39983,7 +39983,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
     if (__pyx_t_6) {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
  * 
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num             # <<<<<<<<<<<<<<
@@ -39995,7 +39995,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
       __pyx_t_4 = 0;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -40005,7 +40005,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
       if (__pyx_t_6) {
 
-        /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+        /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
@@ -40018,7 +40018,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
         __PYX_ERR(1, 823, __pyx_L1_error)
 
-        /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
+        /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -40027,7 +40027,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
  * 
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
@@ -40045,7 +40045,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
@@ -40063,7 +40063,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
@@ -40081,7 +40081,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
@@ -40099,7 +40099,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
@@ -40117,7 +40117,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
@@ -40135,7 +40135,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
@@ -40153,7 +40153,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
@@ -40171,7 +40171,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
@@ -40189,7 +40189,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
@@ -40207,7 +40207,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
@@ -40225,7 +40225,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
@@ -40243,7 +40243,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
@@ -40261,7 +40261,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
@@ -40281,7 +40281,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
@@ -40301,7 +40301,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
@@ -40321,7 +40321,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
@@ -40339,7 +40339,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L15;
       }
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -40363,7 +40363,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       }
       __pyx_L15:;
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *             f += 1             # <<<<<<<<<<<<<<
@@ -40372,7 +40372,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       __pyx_v_f = (__pyx_v_f + 1);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
  *         offset[0] += child.itemsize
  * 
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -40382,7 +40382,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       goto __pyx_L13;
     }
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":849
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":849
  *             # Cython ignores struct boundary information ("T{...}"),
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
@@ -40395,7 +40395,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     }
     __pyx_L13:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
  *     cdef tuple fields
  * 
  *     for childname in descr.names:             # <<<<<<<<<<<<<<
@@ -40405,7 +40405,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   }
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":850
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":850
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)
  *     return f             # <<<<<<<<<<<<<<
@@ -40415,7 +40415,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   __pyx_r = __pyx_v_f;
   goto __pyx_L0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
  * 
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -40440,7 +40440,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
  * 
  * 
  * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
@@ -40455,7 +40455,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   int __pyx_t_2;
   __Pyx_RefNannySetupContext("set_array_base", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
  * cdef inline void set_array_base(ndarray arr, object base):
  *      cdef PyObject* baseptr
  *      if base is None:             # <<<<<<<<<<<<<<
@@ -40466,7 +40466,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   __pyx_t_2 = (__pyx_t_1 != 0);
   if (__pyx_t_2) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
  *      cdef PyObject* baseptr
  *      if base is None:
  *          baseptr = NULL             # <<<<<<<<<<<<<<
@@ -40475,7 +40475,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
     __pyx_v_baseptr = NULL;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
  * cdef inline void set_array_base(ndarray arr, object base):
  *      cdef PyObject* baseptr
  *      if base is None:             # <<<<<<<<<<<<<<
@@ -40485,7 +40485,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
     goto __pyx_L3;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
  *          baseptr = NULL
  *      else:
  *          Py_INCREF(base) # important to do this before decref below!             # <<<<<<<<<<<<<<
@@ -40495,7 +40495,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   /*else*/ {
     Py_INCREF(__pyx_v_base);
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
  *      else:
  *          Py_INCREF(base) # important to do this before decref below!
  *          baseptr = <PyObject*>base             # <<<<<<<<<<<<<<
@@ -40506,7 +40506,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   }
   __pyx_L3:;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":973
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":973
  *          Py_INCREF(base) # important to do this before decref below!
  *          baseptr = <PyObject*>base
  *      Py_XDECREF(arr.base)             # <<<<<<<<<<<<<<
@@ -40515,7 +40515,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
   Py_XDECREF(__pyx_v_arr->base);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
  *          baseptr = <PyObject*>base
  *      Py_XDECREF(arr.base)
  *      arr.base = baseptr             # <<<<<<<<<<<<<<
@@ -40524,7 +40524,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
   __pyx_v_arr->base = __pyx_v_baseptr;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
  * 
  * 
  * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
@@ -40536,7 +40536,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   __Pyx_RefNannyFinishContext();
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
  *      arr.base = baseptr
  * 
  * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
@@ -40550,7 +40550,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("get_array_base", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
  * 
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:             # <<<<<<<<<<<<<<
@@ -40560,7 +40560,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
   if (__pyx_t_1) {
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":978
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":978
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:
  *         return None             # <<<<<<<<<<<<<<
@@ -40572,7 +40572,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
     __pyx_r = Py_None;
     goto __pyx_L0;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
  * 
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:             # <<<<<<<<<<<<<<
@@ -40581,7 +40581,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
  */
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
  *         return None
  *     else:
  *         return <object>arr.base             # <<<<<<<<<<<<<<
@@ -40595,7 +40595,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
     goto __pyx_L0;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
  *      arr.base = baseptr
  * 
  * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
@@ -40610,7 +40610,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
  * # Versions of the import_* functions which are more suitable for
  * # Cython code.
  * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
@@ -40631,7 +40631,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
   PyObject *__pyx_t_8 = NULL;
   __Pyx_RefNannySetupContext("import_array", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40647,7 +40647,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     __Pyx_XGOTREF(__pyx_t_3);
     /*try:*/ {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":987
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":987
  * cdef inline int import_array() except -1:
  *     try:
  *         _import_array()             # <<<<<<<<<<<<<<
@@ -40656,7 +40656,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
  */
       __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(1, 987, __pyx_L3_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40671,7 +40671,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     __pyx_L3_error:;
     __Pyx_PyThreadState_assign
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":988
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":988
  *     try:
  *         _import_array()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -40686,7 +40686,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_7);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
  *         _import_array()
  *     except Exception:
  *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
@@ -40702,7 +40702,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     goto __pyx_L5_except_error;
     __pyx_L5_except_error:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":986
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40718,7 +40718,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
     __pyx_L10_try_end:;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
  * # Versions of the import_* functions which are more suitable for
  * # Cython code.
  * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
@@ -40741,7 +40741,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
  *         raise ImportError("numpy.core.multiarray failed to import")
  * 
  * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
@@ -40762,7 +40762,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
   PyObject *__pyx_t_8 = NULL;
   __Pyx_RefNannySetupContext("import_umath", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
  * 
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40778,7 +40778,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     __Pyx_XGOTREF(__pyx_t_3);
     /*try:*/ {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":993
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":993
  * cdef inline int import_umath() except -1:
  *     try:
  *         _import_umath()             # <<<<<<<<<<<<<<
@@ -40787,7 +40787,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
  */
       __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(1, 993, __pyx_L3_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
  * 
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40802,7 +40802,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     __pyx_L3_error:;
     __Pyx_PyThreadState_assign
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":994
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":994
  *     try:
  *         _import_umath()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -40817,7 +40817,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_7);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -40833,7 +40833,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     goto __pyx_L5_except_error;
     __pyx_L5_except_error:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":992
  * 
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40849,7 +40849,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
     __pyx_L10_try_end:;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
  *         raise ImportError("numpy.core.multiarray failed to import")
  * 
  * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
@@ -40872,7 +40872,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
   return __pyx_r;
 }
 
-/* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+/* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
  *         raise ImportError("numpy.core.umath failed to import")
  * 
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
@@ -40893,7 +40893,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
   PyObject *__pyx_t_8 = NULL;
   __Pyx_RefNannySetupContext("import_ufunc", 0);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
  * 
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40909,7 +40909,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     __Pyx_XGOTREF(__pyx_t_3);
     /*try:*/ {
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":999
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":999
  * cdef inline int import_ufunc() except -1:
  *     try:
  *         _import_umath()             # <<<<<<<<<<<<<<
@@ -40918,7 +40918,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
  */
       __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(1, 999, __pyx_L3_error)
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
  * 
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40933,7 +40933,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     __pyx_L3_error:;
     __Pyx_PyThreadState_assign
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1000
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1000
  *     try:
  *         _import_umath()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -40947,7 +40947,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_7);
 
-      /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
+      /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -40961,7 +40961,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     goto __pyx_L5_except_error;
     __pyx_L5_except_error:;
 
-    /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
+    /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
  * 
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -40977,7 +40977,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
     __pyx_L10_try_end:;
   }
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
  *         raise ImportError("numpy.core.umath failed to import")
  * 
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
@@ -43828,7 +43828,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__71);
   __Pyx_GIVEREF(__pyx_tuple__71);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
@@ -43839,7 +43839,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__72);
   __Pyx_GIVEREF(__pyx_tuple__72);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
@@ -43850,7 +43850,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__73);
   __Pyx_GIVEREF(__pyx_tuple__73);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -43861,7 +43861,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__74);
   __Pyx_GIVEREF(__pyx_tuple__74);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
  * 
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
@@ -43872,7 +43872,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__75);
   __Pyx_GIVEREF(__pyx_tuple__75);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):
  *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -43883,7 +43883,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__76);
   __Pyx_GIVEREF(__pyx_tuple__76);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
@@ -43894,7 +43894,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__77);
   __Pyx_GIVEREF(__pyx_tuple__77);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
  *         _import_array()
  *     except Exception:
  *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
@@ -43905,7 +43905,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__78);
   __Pyx_GIVEREF(__pyx_tuple__78);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":995
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -43916,7 +43916,7 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__79);
   __Pyx_GIVEREF(__pyx_tuple__79);
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":1001
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -45154,7 +45154,7 @@ PyMODINIT_FUNC PyInit_adios_mpi(void)
   if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "../../../../sw/anaconda2/4.1.1/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+  /* "../../../../sw/anaconda2/4.4.0/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
  *         raise ImportError("numpy.core.umath failed to import")
  * 
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
diff --git a/wrappers/numpy/src/__init__.py b/wrappers/numpy/src/__init__.py
index 59eaace..e20b99a 100644
--- a/wrappers/numpy/src/__init__.py
+++ b/wrappers/numpy/src/__init__.py
@@ -1,2 +1,2 @@
 from .adios import *
-__version__ = '1.11.1.post1'
+__version__ = '1.13.0'
diff --git a/wrappers/numpy/src_mpi/__init__.py b/wrappers/numpy/src_mpi/__init__.py
index 4c1d0d0..0ae9111 100644
--- a/wrappers/numpy/src_mpi/__init__.py
+++ b/wrappers/numpy/src_mpi/__init__.py
@@ -1,2 +1,2 @@
 from .adios_mpi import *
-__version__ = '1.11.1.post1'
+__version__ = '1.13.0'

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/adios.git



More information about the debian-science-commits mailing list