Skip to content

Commit

Permalink
multiple snapshots can be read using FilenameParam. (#7)
Browse files Browse the repository at this point in the history
  • Loading branch information
dreamer2368 authored Dec 21, 2023
1 parent d11b33a commit abc00e4
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
1 change: 1 addition & 0 deletions include/parameter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ class FilenameParam : public IntegerParam

virtual void SetParam(const int &param_index, InputParser &parser) override;
virtual void SetRandomParam(InputParser &parser) override;
void ParseFilenames(std::vector<std::string> &filenames);
};

#endif
7 changes: 7 additions & 0 deletions src/main_workflow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,13 @@ void TrainROM(MPI_Comm comm)
std::vector<std::string> file_list =
config.GetOptionFromDict<std::vector<std::string>>(
"snapshot_files", std::vector<std::string>(0), basis_list[p]);
YAML::Node snapshot_format = config.FindNodeFromDict("snapshot_format", basis_list[p]);
if (snapshot_format)
{
FilenameParam snapshot_param("", snapshot_format);
snapshot_param.ParseFilenames(file_list);
}

if (file_list.size() == 0)
{
std::string filename = sample_generator->GetBaseFilename(sample_generator->GetSamplePrefix(), basis_tag);
Expand Down
7 changes: 7 additions & 0 deletions src/parameter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,4 +136,11 @@ void FilenameParam::SetRandomParam(InputParser &parser)
std::string filename = string_format(format, val);

parser.SetOption<std::string>(key, filename);
}

void FilenameParam::ParseFilenames(std::vector<std::string> &filenames)
{
for (int k = minval; k <= maxval; k++)
filenames.push_back(string_format(format, k));
return;
}

0 comments on commit abc00e4

Please sign in to comment.