Skip to content

Commit 379eb02

Browse files
committed
Read Fernando's data
1 parent 146a6c5 commit 379eb02

1 file changed

Lines changed: 19 additions & 11 deletions

File tree

src/pgen/kh.cpp

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,12 @@ void ProblemGenerator(Mesh *pmesh, ParameterInput *pin, MeshData<Real> *md) {
6363
adios2::ADIOS adios(MPI_COMM_WORLD);
6464

6565
adios2::IO get_var = adios.DeclareIO("GetVar");
66-
adios2::Engine bpReader = get_var.Open("test3d.bp", adios2::Mode::Read);
66+
adios2::Engine bpReader = get_var.Open("ICs.bp", adios2::Mode::Read);
67+
// adios2::Engine bpReader = get_var.Open("test3d.bp", adios2::Mode::Read);
6768

6869
bpReader.BeginStep();
6970
// this just discovers in the metadata file that the variable exists
70-
adios2::Variable<double> myvar_in = get_var.InquireVariable<double>("myvarname");
71+
adios2::Variable<double> myvar_in = get_var.InquireVariable<double>("ICs");
7172

7273
PARTHENON_REQUIRE_THROWS(myvar_in, "Could not find variable name in file.");
7374

@@ -76,24 +77,30 @@ void ProblemGenerator(Mesh *pmesh, ParameterInput *pin, MeshData<Real> *md) {
7677
for (int b = 0; b < num_blocks; b++) {
7778
auto pmb = md->GetBlockData(b)->GetBlockPointer();
7879
const auto loc = pmb->pmy_mesh->Forest().GetLegacyTreeLocation(pmb->loc);
79-
const auto gis = loc.lx1() * mb1;
80-
const auto gjs = loc.lx2() * mb2;
81-
const auto gks = loc.lx3() * mb3;
8280
// only read row of current rank
83-
const adios2::Dims start{0, static_cast<unsigned long>(gks),
84-
static_cast<unsigned long>(gjs),
85-
static_cast<unsigned long>(gis)};
86-
const adios2::Dims count{4, static_cast<unsigned long>(mb3),
81+
const adios2::Dims start{static_cast<unsigned long>(loc.lx1()),
82+
static_cast<unsigned long>(loc.lx2()),
83+
static_cast<unsigned long>(loc.lx3()),
84+
0,
85+
0,
86+
0,
87+
0};
88+
const adios2::Dims count{1,
89+
1,
90+
1,
91+
4,
92+
static_cast<unsigned long>(mb3),
8793
static_cast<unsigned long>(mb2),
8894
static_cast<unsigned long>(mb1)};
8995
myvar_in.SetSelection({start, count});
96+
auto bla = &tmp[50];
97+
9098
bpReader.Get(myvar_in, tmp.data(), adios2::Mode::Sync);
9199
std::cerr << "[" << parthenon::Globals::my_rank << ":" << b << "]";
92100
for (int i = 0; i < 10; i++) {
93101
std::cerr << tmp[i] << " ";
94102
}
95103
std::cerr << "\n";
96-
97104
auto ib = pmb->cellbounds.GetBoundsI(IndexDomain::interior);
98105
auto jb = pmb->cellbounds.GetBoundsJ(IndexDomain::interior);
99106
auto kb = pmb->cellbounds.GetBoundsK(IndexDomain::interior);
@@ -113,7 +120,7 @@ void ProblemGenerator(Mesh *pmesh, ParameterInput *pin, MeshData<Real> *md) {
113120
const auto ii = i - ib.s;
114121
u(IDN, k, j, i) = tmp[((0 * mb3 + kk) * mb2 + jj) * mb1 + ii];
115122
u(IM2, k, j, i) = tmp[((1 * mb3 + kk) * mb2 + jj) * mb1 + ii];
116-
u(IEN, k, j, i) = tmp[((2 * mb3 + kk) * mb2 + jj) * mb1 + ii];
123+
u(IEN, k, j, i) = 1.0; // tmp[((2 * mb3 + kk) * mb2 + jj) * mb1 + ii];
117124
}
118125
}
119126
}
@@ -122,6 +129,7 @@ void ProblemGenerator(Mesh *pmesh, ParameterInput *pin, MeshData<Real> *md) {
122129
}
123130
bpReader.EndStep();
124131
bpReader.Close();
132+
return;
125133

126134
// Get pointer to first block (always exists) for common data like loop bounds
127135
auto pmb = md->GetBlockData(0)->GetBlockPointer();

0 commit comments

Comments
 (0)