From bb3a1a4923b992efa98c312008fd0f55225ef608 Mon Sep 17 00:00:00 2001 From: Jonathan Lifflander Date: Mon, 16 Dec 2024 10:33:17 -0800 Subject: [PATCH] #130: render: improve output and fix parsing bug --- src/vt-tv/render/render.cc | 23 +++++++++++++++++------ src/vt-tv/utility/json_reader.cc | 4 ++-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/vt-tv/render/render.cc b/src/vt-tv/render/render.cc index d03835873..a242801a4 100644 --- a/src/vt-tv/render/render.cc +++ b/src/vt-tv/render/render.cc @@ -55,7 +55,8 @@ Render::Render(Info in_info) : info_(in_info) // std:move ? , n_ranks_(in_info.getNumRanks()), - n_phases_(in_info.getNumPhases()) { + n_phases_(in_info.getNumPhases()) +{ // If selected_phase is not provided, use all phases selected_phase_ = std::numeric_limits::max(); @@ -110,7 +111,15 @@ Render::Render(Info in_info) rank_qoi_range_ = computeRankQOIRange_(); object_volume_max_ = computeMaxObjectVolume_(); object_load_max_ = info_.getMaxLoad(); -}; +} + +std::string printLBIter(LBIterationType lb_iter) { + if (lb_iter == no_lb_iter) { + return ""; + } else { + return std::to_string(lb_iter); + } +} Render::Render( std::array in_qoi_request, @@ -441,7 +450,7 @@ vtkNew Render::createObjectMesh_( fmt::print("\n\n"); fmt::print( "----- Creating object mesh for (phase,lb_iter) ({},{}) -----\n", - phase, lb_iter + phase, printLBIter(lb_iter) ); // Retrieve number of mesh points and bail out early if empty set uint64_t n_o = info_.getPhaseObjects(phase, lb_iter).size(); @@ -1207,7 +1216,8 @@ void Render::generate(uint64_t font_size, uint64_t win_size) { if (save_meshes_) { fmt::print( - "== Writing object mesh for (phase,lb_iter)= ({},{})\n", phase, lb_iter + "== Writing object mesh for (phase,lb_iter)= ({},{})\n", + phase, printLBIter(lb_iter) ); vtkNew writer; std::string object_mesh_filename = output_dir_ + output_file_stem_ + @@ -1217,7 +1227,8 @@ void Render::generate(uint64_t font_size, uint64_t win_size) { writer->Write(); fmt::print( - "== Writing rank mesh for (phase,lb_iter)= ({},{})\n", phase, lb_iter + "== Writing rank mesh for (phase,lb_iter)= ({},{})\n", phase, + printLBIter(lb_iter) ); vtkNew writer2; std::string rank_mesh_filneame = output_dir_ + output_file_stem_ + @@ -1230,7 +1241,7 @@ void Render::generate(uint64_t font_size, uint64_t win_size) { if (save_pngs_) { fmt::print( "== Rendering visualization PNG for (phase,lb_iter)= ({},{})\n", - phase, lb_iter + phase, printLBIter(lb_iter) ); std::pair obj_qoi_range; diff --git a/src/vt-tv/utility/json_reader.cc b/src/vt-tv/utility/json_reader.cc index d90a9a6bf..cd084345a 100644 --- a/src/vt-tv/utility/json_reader.cc +++ b/src/vt-tv/utility/json_reader.cc @@ -294,10 +294,10 @@ std::unique_ptr JSONReader::parse() { *static_cast(pw.release()) ); if (phase.find("lb_iterations") != phase.end()) { - auto lb_iters = j["lb_iterations"]; + auto lb_iters = phase["lb_iterations"]; if (lb_iters.is_array()) { for (auto const& iter : lb_iters) { - auto lb_iter = parsePhaseIter(phase_id, iter, object_info); + auto lb_iter = parsePhaseIter(phase_id, iter, object_info, true); auto lb_id = static_cast(lb_iter.get())->getLBIterationID(); phase_info[phase_id].addLBIteration( lb_id,