From eab724c5391f29f19cf75e16f1348120cf0ca0a3 Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Tue, 7 Nov 2017 10:15:26 -0800 Subject: add some amrex io parameters --- Source/WarpXIO.cpp | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) (limited to 'Source/WarpXIO.cpp') diff --git a/Source/WarpXIO.cpp b/Source/WarpXIO.cpp index adb7b6cf7..dd7a4a894 100644 --- a/Source/WarpXIO.cpp +++ b/Source/WarpXIO.cpp @@ -101,9 +101,6 @@ WarpX::WriteCheckPointFile() const amrex::Print() << " Writing checkpoint " << checkpointname << "\n"; - const int checkpoint_nfiles = 64; // could make this parameter - VisMF::SetNOutFiles(checkpoint_nfiles); - const int nlevels = finestLevel()+1; amrex::PreBuildDirectorHierarchy(checkpointname, level_prefix, nlevels, true); @@ -181,9 +178,6 @@ WarpX::InitFromCheckpoint () amrex::Print() << " Restart from checkpoint " << restart_chkfile << "\n"; - const int checkpoint_nfiles = 64; // could make this parameter - VisMF::SetNOutFiles(checkpoint_nfiles); - // Header { std::string File(restart_chkfile + "/WarpXHeader"); @@ -613,23 +607,23 @@ WarpX::WritePlotFile () const } #endif + Vector rfs; + if (plot_raw_fields) rfs.emplace_back("raw_fields"); // pre-build raw_fields/ amrex::WriteMultiLevelPlotfile(plotfilename, finest_level+1, amrex::GetVecOfConstPtrs(mf), - varnames, Geom(), t_new[0], istep, refRatio()); + varnames, Geom(), t_new[0], istep, refRatio(), + "HyperCLaw-V1.1", + "Level_", + "Cell", + rfs); } if (plot_raw_fields) { - const int raw_plot_nfiles = 64; // could make this parameter - VisMF::SetNOutFiles(raw_plot_nfiles); - const int nlevels = finestLevel()+1; - const std::string raw_plotfilename = plotfilename + "/raw_fields"; - amrex::PreBuildDirectorHierarchy(raw_plotfilename, level_prefix, nlevels, true); - for (int lev = 0; lev < nlevels; ++lev) { - + const std::string raw_plotfilename = plotfilename + "/raw_fields"; // Plot auxilary patch if (plot_raw_fields_guards) { VisMF::Write(*Efield_aux[lev][0], amrex::MultiFabFileFullPrefix(lev, raw_plotfilename, level_prefix, "Ex_aux")); @@ -815,19 +809,19 @@ WritePlotFileES (const amrex::Vector >& rho, dcomp += 1; } + Vector rfs(1,"raw_fields"); // pre-build raw_fields/ amrex::WriteMultiLevelPlotfile(plotfilename, finest_level+1, amrex::GetVecOfConstPtrs(mf), - varnames, Geom(), t_new[0], istep, refRatio()); + varnames, Geom(), t_new[0], istep, refRatio(), + "HyperCLaw-V1.1", + "Level_", + "Cell", + rfs); } { - const int raw_plot_nfiles = 64; // could make this parameter - VisMF::SetNOutFiles(raw_plot_nfiles); - - const int nlevels = finestLevel()+1; const std::string raw_plotfilename = plotfilename + "/raw_fields"; - amrex::PreBuildDirectorHierarchy(raw_plotfilename, level_prefix, nlevels, true); - + const int nlevels = finestLevel()+1; for (int lev = 0; lev < nlevels; ++lev) { const DistributionMapping& dm = DistributionMap(lev); -- cgit v1.2.3 From e3c895a837b9dc33442bfbcf34474858dfeaa0b2 Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Tue, 5 Dec 2017 12:52:23 -0800 Subject: set header version in io --- Source/WarpX.H | 3 ++- Source/WarpX.cpp | 13 +++++++------ Source/WarpXIO.cpp | 17 +++++++++++++++-- 3 files changed, 24 insertions(+), 9 deletions(-) (limited to 'Source/WarpXIO.cpp') diff --git a/Source/WarpX.H b/Source/WarpX.H index de3a28a77..d0876afd2 100644 --- a/Source/WarpX.H +++ b/Source/WarpX.H @@ -384,7 +384,8 @@ private: bool plot_raw_fields_guards = false; amrex::VisMF::Header::Version checkpoint_headerversion = amrex::VisMF::Header::NoFabHeader_v1; - amrex::VisMF::Header::Version plot_headerversion = amrex::VisMF::Header::Version_v1; +// amrex::VisMF::Header::Version plotfile_headerversion = amrex::VisMF::Header::NoFabHeader_v1; + amrex::VisMF::Header::Version plotfile_headerversion = amrex::VisMF::Header::Version_v1; bool use_single_read = true; bool use_single_write = true; int mffile_nstreams = 4; diff --git a/Source/WarpX.cpp b/Source/WarpX.cpp index 92a26ed8f..f0d3c0c3f 100644 --- a/Source/WarpX.cpp +++ b/Source/WarpX.cpp @@ -300,12 +300,13 @@ WarpX::ReadParameters () } { - int hv = checkpoint_headerversion; - pp.query("checkpoint_headerversion", hv); - checkpoint_headerversion = static_cast(hv); - hv = plot_headerversion; - pp.query("plot_headerversion", hv); - plot_headerversion = static_cast(hv); + bool plotfile_min_max = true; + pp.query("plotfile_min_max", plotfile_min_max); + if (plotfile_min_max) { + plotfile_headerversion = amrex::VisMF::Header::Version_v1; + } else { + plotfile_headerversion = amrex::VisMF::Header::NoFabHeader_v1; + } pp.query("usesingleread", use_single_read); pp.query("usesinglewrite", use_single_write); ParmParse ppv("vismf"); diff --git a/Source/WarpXIO.cpp b/Source/WarpXIO.cpp index 69e7e73e1..b289fdde9 100644 --- a/Source/WarpXIO.cpp +++ b/Source/WarpXIO.cpp @@ -97,6 +97,9 @@ WarpX::WriteCheckPointFile() const { BL_PROFILE("WarpX::WriteCheckPointFile()"); + VisMF::Header::Version current_version = VisMF::GetHeaderVersion(); + VisMF::SetHeaderVersion(checkpoint_headerversion); + const std::string& checkpointname = amrex::Concatenate(check_file,istep[0]); amrex::Print() << " Writing checkpoint " << checkpointname << "\n"; @@ -168,6 +171,8 @@ WarpX::WriteCheckPointFile() const } mypc->Checkpoint(checkpointname, "particle", true); + + VisMF::SetHeaderVersion(current_version); } @@ -440,6 +445,9 @@ WarpX::WritePlotFile () const { BL_PROFILE("WarpX::WritePlotFile()"); + VisMF::Header::Version current_version = VisMF::GetHeaderVersion(); + VisMF::SetHeaderVersion(plotfile_headerversion); + const std::string& plotfilename = amrex::Concatenate(plot_file,istep[0]); amrex::Print() << " Writing plotfile " << plotfilename << "\n"; @@ -805,6 +813,8 @@ WarpX::WritePlotFile () const WriteJobInfo(plotfilename); WriteWarpXHeader(plotfilename); + + VisMF::SetHeaderVersion(current_version); } void @@ -815,13 +825,14 @@ WritePlotFileES (const amrex::Vector >& rho, { BL_PROFILE("WarpX::WritePlotFileES()"); + VisMF::Header::Version current_version = VisMF::GetHeaderVersion(); + VisMF::SetHeaderVersion(plotfile_headerversion); + const std::string& plotfilename = amrex::Concatenate(plot_file,istep[0]); amrex::Print() << " Writing plotfile " << plotfilename << "\n"; const int nlevels = finestLevel()+1; - const std::string raw_plotfilename = plotfilename + "/raw_fields"; - amrex::PreBuildDirectorHierarchy(raw_plotfilename, level_prefix, nlevels, true); { Vector varnames; @@ -913,6 +924,8 @@ WritePlotFileES (const amrex::Vector >& rho, WriteJobInfo(plotfilename); WriteWarpXHeader(plotfilename); + + VisMF::SetHeaderVersion(current_version); } void -- cgit v1.2.3