From d26769e894ecd5be69bbb07dde45163329343ebf Mon Sep 17 00:00:00 2001
From: pnorbert <norbert.podhorszki@gmail.com>
Date: Tue, 6 Jun 2017 15:43:31 -0400
Subject: [PATCH] Williamfgc refactor examples basics (#8)

* Added examples for variables

* fix more example code

* make Open explicit in ADIOS1 toolkit. Fix handling open mode

* fix OpenModeToString() to serve adios 1 API's needs as well

* fix basic examples after code refactoring

* fix nompi build for basic examples

* fix nompi build
---
 .../experimental/multistep/reader_allsteps.cpp     | 14 +++++++++++++-
 examples/hello/adios1Writer/helloADIOS1Writer.cpp  | 12 ++++++++----
 .../hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp | 13 ++++++-------
 examples/hello/bpWriter/helloBPWriter_nompi.cpp    |  5 ++---
 .../datamanWriter/helloDataManWriter_nompi.cpp     |  2 --
 .../hello/hdf5Writer/helloHDF5Writer_nompi.cpp     |  7 +++----
 6 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/examples/experimental/multistep/reader_allsteps.cpp b/examples/experimental/multistep/reader_allsteps.cpp
index c51667153..7b50a98ba 100644
--- a/examples/experimental/multistep/reader_allsteps.cpp
+++ b/examples/experimental/multistep/reader_allsteps.cpp
@@ -192,7 +192,9 @@ int main(int argc, char *argv[])
         if (rank == 0)
             Print2DArray(Nparts, vNparts->m_AvailableSteps, Nwriters, "Nparts");
         Delete2DArray(Nparts);
+#ifdef ADIOS2_HAVE_MPI
         MPI_Barrier(MPI_COMM_WORLD);
+#endif
 
         /*
          * GlobalArrayFixedDims
@@ -228,20 +230,24 @@ int main(int argc, char *argv[])
         vGlobalArrayFixedDims->SetStepSelection(
             0, vGlobalArrayFixedDims->m_AvailableSteps);
         bpReader->Read<double>(*vGlobalArrayFixedDims, GlobalArrayFixedDims[0]);
+#ifdef ADIOS2_HAVE_MPI
         MPI_Barrier(MPI_COMM_WORLD);
         MPI_Status status;
         int token = 0;
         if (rank > 0)
             MPI_Recv(&token, 1, MPI_INT, rank - 1, 0, MPI_COMM_WORLD, &status);
+#endif
         std::cout << "Rank " << rank << " read start = " << start
                   << " count = " << count << std::endl;
         Print2DArray(GlobalArrayFixedDims,
                      vGlobalArrayFixedDims->m_AvailableSteps, count,
                      "GlobalArrayFixedDims");
+#ifdef ADIOS2_HAVE_MPI
         if (rank < nproc - 1)
             MPI_Send(&token, 1, MPI_INT, rank + 1, 0, MPI_COMM_WORLD);
-        Delete2DArray(GlobalArrayFixedDims);
         MPI_Barrier(MPI_COMM_WORLD);
+#endif
+        Delete2DArray(GlobalArrayFixedDims);
 
         /*
          * LocalArrayFixedDims
@@ -258,7 +264,9 @@ int main(int argc, char *argv[])
         }
         std::cout << "LocalArrayFixedDims is irregular. Cannot read this "
                      "variable yet...\n";
+#ifdef ADIOS2_HAVE_MPI
         MPI_Barrier(MPI_COMM_WORLD);
+#endif
 
         /*
          * LocalArrayFixedDimsJoined
@@ -284,7 +292,9 @@ int main(int argc, char *argv[])
                          vLocalArrayFixedDimsJoined->m_Shape[0],
                          "LocalArrayFixedDimsJoined");
         Delete2DArray(LocalArrayFixedDimsJoined);
+#ifdef ADIOS2_HAVE_MPI
         MPI_Barrier(MPI_COMM_WORLD);
+#endif
 
         /*
          * GlobalArray which changes size over time
@@ -301,7 +311,9 @@ int main(int argc, char *argv[])
                 "dimension is supposed to be adios::IrregularDim indicating an "
                 "Irregular array\n");
         }
+#ifdef ADIOS2_HAVE_MPI
         MPI_Barrier(MPI_COMM_WORLD);
+#endif
 
         // Close file/stream
         bpReader->Close();
diff --git a/examples/hello/adios1Writer/helloADIOS1Writer.cpp b/examples/hello/adios1Writer/helloADIOS1Writer.cpp
index 45a06a14a..1041f895c 100644
--- a/examples/hello/adios1Writer/helloADIOS1Writer.cpp
+++ b/examples/hello/adios1Writer/helloADIOS1Writer.cpp
@@ -10,20 +10,24 @@
  *      Author: Norbert Podhorszki pnorbert@ornl.gov
  */
 
-#include <ios>      //std::ios_base::failure
-#include <iostream> //std::cout
-#include <mpi.h>
+#include <ios>       //std::ios_base::failure
+#include <iostream>  //std::cout
 #include <stdexcept> //std::invalid_argument std::exception
 #include <vector>
 
 #include <adios2.h>
+#ifdef ADIOS2_HAVE_MPI
+#include <mpi.h>
+#endif
 
 int main(int argc, char *argv[])
 {
     MPI_Init(&argc, &argv);
-    int rank, size;
+    int rank = 0, size = 1;
+#ifdef ADIOS2_HAVE_MPI
     MPI_Comm_rank(MPI_COMM_WORLD, &rank);
     MPI_Comm_size(MPI_COMM_WORLD, &size);
+#endif
 
     /** Application variable */
     std::vector<float> myFloats = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
diff --git a/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp b/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp
index 74ab119d4..84b531107 100644
--- a/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp
+++ b/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp
@@ -8,9 +8,8 @@
  *      Author: William F Godoy godoywf@ornl.gov
  */
 
-#include <ios>      //std::ios_base::failure
-#include <iostream> //std::cout
-#include <mpi.h>
+#include <ios>       //std::ios_base::failure
+#include <iostream>  //std::cout
 #include <stdexcept> //std::invalid_argument std::exception
 #include <vector>
 
@@ -19,8 +18,8 @@
 int main(int argc, char *argv[])
 {
     // Application variable
-    std::vector<float> myDoubles = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
-    const std::size_t Nx = myDoubles.size();
+    std::vector<float> myFloats = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+    const std::size_t Nx = myFloats.size();
 
     try
     {
@@ -53,8 +52,8 @@ int main(int argc, char *argv[])
             // template type is optional but recommended
             bpWriter->Write<unsigned int>(bpTimeStep, timeStep);
 
-            bpFloats[0] = timeStep;
-            bpWriter->Write<float>(bpFloats, myDoubles.data());
+            myFloats[0] = timeStep;
+            bpWriter->Write<float>(bpFloats, myFloats.data());
             bpWriter->Advance();
         }
 
diff --git a/examples/hello/bpWriter/helloBPWriter_nompi.cpp b/examples/hello/bpWriter/helloBPWriter_nompi.cpp
index 3394a6cee..13ca0a674 100644
--- a/examples/hello/bpWriter/helloBPWriter_nompi.cpp
+++ b/examples/hello/bpWriter/helloBPWriter_nompi.cpp
@@ -8,9 +8,8 @@
  *      Author: William F Godoy godoywf@ornl.gov
  */
 
-#include <ios>      //std::ios_base::failure
-#include <iostream> //std::cout
-#include <mpi.h>
+#include <ios>       //std::ios_base::failure
+#include <iostream>  //std::cout
 #include <stdexcept> //std::invalid_argument std::exception
 #include <vector>
 
diff --git a/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp b/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp
index 3447d099a..885785c6e 100644
--- a/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp
+++ b/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp
@@ -11,8 +11,6 @@
 #include <iostream>
 #include <vector>
 
-#include <mpi.h>
-
 #include <adios2.h>
 
 int main(int argc, char *argv[])
diff --git a/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp b/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp
index d907209fd..6222e1eb1 100644
--- a/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp
+++ b/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp
@@ -8,9 +8,8 @@
  *      Author: Junmin
  */
 
-#include <ios>      //std::ios_base::failure
-#include <iostream> //std::cout
-#include <mpi.h>
+#include <ios>       //std::ios_base::failure
+#include <iostream>  //std::cout
 #include <stdexcept> //std::invalid_argument std::exception
 #include <vector>
 
@@ -39,7 +38,7 @@ int main(int argc, char *argv[])
             "bpFloats", {}, {}, {Nx}, adios::ConstantDims);
 
         /** Engine derived class, spawned to start IO operations */
-        auto hdf5Writer = hdf5IO.Open("myVector.bp", adios::OpenMode::w);
+        auto hdf5Writer = hdf5IO.Open("myVector.bp", adios::OpenMode::Write);
 
         if (!hdf5Writer)
         {
-- 
GitLab