| 71 | |
| 72 | |
| 73 | void |
| 74 | WriteGenericPlotfileHeader (std::ostream &HeaderFile, |
| 75 | int nlevels, |
| 76 | const Vector<BoxArray> &bArray, |
| 77 | const Vector<std::string> &varnames, |
| 78 | const Vector<Geometry> &geom, |
| 79 | Real time, |
| 80 | const Vector<int> &level_steps, |
| 81 | const Vector<IntVect> &ref_ratio, |
| 82 | const std::string &versionName, |
| 83 | const std::string &levelPrefix, |
| 84 | const std::string &mfPrefix) |
| 85 | { |
| 86 | // BL_PROFILE("WriteGenericPlotfileHeader()"); |
| 87 | |
| 88 | BL_ASSERT(nlevels <= bArray.size()); |
| 89 | BL_ASSERT(nlevels <= geom.size()); |
| 90 | BL_ASSERT(nlevels <= ref_ratio.size()+1); |
| 91 | BL_ASSERT(nlevels <= level_steps.size()); |
| 92 | |
| 93 | int finest_level(nlevels - 1); |
| 94 | |
| 95 | HeaderFile.precision(17); |
| 96 | |
| 97 | // ---- this is the generic plot file type name |
| 98 | HeaderFile << versionName << '\n'; |
| 99 | |
| 100 | HeaderFile << varnames.size() << '\n'; |
| 101 | |
| 102 | for (const auto & varname : varnames) { |
| 103 | HeaderFile << varname << "\n"; |
| 104 | } |
| 105 | HeaderFile << AMREX_SPACEDIM << '\n'; |
| 106 | HeaderFile << time << '\n'; |
| 107 | HeaderFile << finest_level << '\n'; |
| 108 | for (int i = 0; i < AMREX_SPACEDIM; ++i) { |
| 109 | HeaderFile << geom[0].ProbLo(i) << ' '; |
| 110 | } |
| 111 | HeaderFile << '\n'; |
| 112 | for (int i = 0; i < AMREX_SPACEDIM; ++i) { |
| 113 | HeaderFile << geom[0].ProbHi(i) << ' '; |
| 114 | } |
| 115 | HeaderFile << '\n'; |
| 116 | for (int i = 0; i < finest_level; ++i) { |
| 117 | HeaderFile << ref_ratio[i][0] << ' '; // For backward compatibility, ref_ratio is saved as a scalar. |
| 118 | } |
| 119 | HeaderFile << '\n'; |
| 120 | for (int i = 0; i <= finest_level; ++i) { |
| 121 | HeaderFile << geom[i].Domain() << ' '; |
| 122 | } |
| 123 | HeaderFile << '\n'; |
| 124 | for (int i = 0; i <= finest_level; ++i) { |
| 125 | HeaderFile << level_steps[i] << ' '; |
| 126 | } |
| 127 | HeaderFile << '\n'; |
| 128 | for (int i = 0; i <= finest_level; ++i) { |
| 129 | for (int k = 0; k < AMREX_SPACEDIM; ++k) { |
| 130 | HeaderFile << geom[i].CellSize()[k] << ' '; |
no test coverage detected