diff --git a/include/cantera/base/SolutionArray.h b/include/cantera/base/SolutionArray.h index 7d3587a9e..861ee2423 100644 --- a/include/cantera/base/SolutionArray.h +++ b/include/cantera/base/SolutionArray.h @@ -190,22 +190,22 @@ public: * Write header data to a HDF container file. * * @param fname Name of HDF container file - * @param id Identifier of group holding header information + * @param name Identifier of group holding header information * @param desc Custom comment describing dataset * @param overwrite Force overwrite if file/group exists; optional (default=false) */ - static void writeHeader(const string& fname, const string& id, const string& desc, + static void writeHeader(const string& fname, const string& name, const string& desc, bool overwrite=false); /*! * Write header data to AnyMap; used by YAML serialization. * * @param root Root node of AnyMap structure - * @param id Identifier of node holding header information + * @param name Identifier of node holding header information * @param desc Custom comment describing dataset * @param overwrite Force overwrite if node exists; optional (default=false) */ - static void writeHeader(AnyMap& root, const string& id, const string& desc, + static void writeHeader(AnyMap& root, const string& name, const string& desc, bool overwrite=false); /*! @@ -223,23 +223,23 @@ public: * Write SolutionArray data to a HDF container file. * * @param fname Name of HDF container file - * @param id Identifier of group holding header information + * @param name Identifier of group holding header information * @param sub Name identifier of subgroup holding SolutionArray data * @param overwrite Force overwrite if subgroup exists; optional (default=false) * @param compression Compression level; optional (default=0; HDF only) */ - void writeEntry(const string& fname, const string& id, const string& sub, + void writeEntry(const string& fname, const string& name, const string& sub, bool overwrite=false, int compression=0); /*! * Write SolutionArray data to AnyMap; used by YAML serialization. * * @param root Root node of AnyMap structure - * @param id Identifier of node holding header information and subgroup + * @param name Identifier of node holding header information and subgroup * @param sub Name identifier of subgroup holding SolutionArray data * @param overwrite Force overwrite if subgroup exists; optional (default=false) */ - void writeEntry(AnyMap& root, const string& id, const string& sub, + void writeEntry(AnyMap& root, const string& name, const string& sub, bool overwrite=false); /*! @@ -262,7 +262,7 @@ public: * objects generated by Sim1D hold simulation settings). * * @param fname Name of output file (CSV, YAML or HDF) - * @param id Identifier of location within the container file; this node/group + * @param name Identifier of location within the container file; this node/group * contains header information and a subgroup holding actual SolutionArray data * (YAML/HDF only) * @param sub Name identifier for the subgroup holding the SolutionArray data and @@ -276,7 +276,7 @@ public: * if not specified (default=""), the native basis of the underlying * ThermoPhase manager is used - @see nativeState (CSV only) */ - void save(const string& fname, const string& id="", const string& sub="", + void save(const string& fname, const string& name="", const string& sub="", const string& desc="", bool overwrite=false, int compression=0, const string& basis=""); @@ -284,35 +284,35 @@ public: * Read header information from a HDF container file. * * @param fname Name of HDF container file - * @param id Identifier of group holding header information + * @param name Identifier of group holding header information */ - static AnyMap readHeader(const string& fname, const string& id); + static AnyMap readHeader(const string& fname, const string& name); /*! * Read header information from AnyMap; used by YAML serialization. * * @param root Root node of AnyMap structure - * @param id Identifier of node holding header information + * @param name Identifier of node holding header information */ - static AnyMap readHeader(const AnyMap& root, const string& id); + static AnyMap readHeader(const AnyMap& root, const string& name); /*! * Restore SolutionArray data from a HDF container file. * * @param fname Name of HDF container file - * @param id Identifier of group holding header information + * @param name Identifier of group holding header information * @param sub Name identifier of subgroup holding SolutionArray data */ - void readEntry(const string& fname, const string& id, const string& sub); + void readEntry(const string& fname, const string& name, const string& sub); /*! * Restore SolutionArray data from AnyMap; used by YAML serialization. * * @param root Root node of AnyMap structure - * @param id Identifier of node holding header information + * @param name Identifier of node holding header information * @param sub Name identifier of subgroup holding SolutionArray data */ - void readEntry(const AnyMap& root, const string& id, const string& sub); + void readEntry(const AnyMap& root, const string& name, const string& sub); /*! * Restore SolutionArray data and header information from a container file. @@ -321,13 +321,13 @@ public: * using the @see save method. * * @param fname Name of container file (YAML or HDF) - * @param id Identifier of location within the container file; this node/group + * @param name Identifier of location within the container file; this node/group * contains header information and a subgroup holding actual SolutionArray data * @param sub Name identifier for the subgroup holding the SolutionArray data and * metadata objects. If omitted (""), the subgroup name defaults to "data" * @return AnyMap containing header information */ - AnyMap restore(const string& fname, const string& id, const string& sub=""); + AnyMap restore(const string& fname, const string& name, const string& sub=""); protected: //! Service function used to resize SolutionArray diff --git a/include/cantera/oneD/Sim1D.h b/include/cantera/oneD/Sim1D.h index 63b8adae0..12d8eefd6 100644 --- a/include/cantera/oneD/Sim1D.h +++ b/include/cantera/oneD/Sim1D.h @@ -148,14 +148,14 @@ public: * main 1D domain is saved. * * @param fname Name of output container file - * @param id Identifier of solution within the container file + * @param name Identifier of solution within the container file * @param desc Description of the solution * @param overwrite Force overwrite if name exists; optional (default=false) * @param compression Compression level (optional; HDF only) * @param basis Output mass ("Y"/"mass") or mole ("X"/"mole") fractions (CSV only); * if omitted (default=""), the native storage mode is used */ - void save(const std::string& fname, const std::string& id, + void save(const std::string& fname, const std::string& name, const std::string& desc, bool overwrite=false, int compression=0, const string& basis=""); @@ -173,12 +173,12 @@ public: /** * Save the residual of the current solution to a container file. * @param fname Name of output container file - * @param id Identifier of solution within the container file + * @param name Identifier of solution within the container file * @param desc Description of the solution * @param overwrite Force overwrite if name exists; optional (default=false) * @param compression Compression level (optional; HDF only) */ - void saveResidual(const std::string& fname, const std::string& id, + void saveResidual(const std::string& fname, const std::string& name, const std::string& desc, bool overwrite=false, int compression=0); /** @@ -194,10 +194,10 @@ public: /** * Initialize the solution with a previously-saved solution. * @param fname Name of container file - * @param id Identifier of solution within the container file + * @param name Identifier of solution within the container file * @return AnyMap containing header information */ - AnyMap restore(const std::string& fname, const std::string& id); + AnyMap restore(const std::string& fname, const std::string& name); //! @} diff --git a/interfaces/cython/cantera/solutionbase.pyx b/interfaces/cython/cantera/solutionbase.pyx index b7f657bfa..56378bb31 100644 --- a/interfaces/cython/cantera/solutionbase.pyx +++ b/interfaces/cython/cantera/solutionbase.pyx @@ -678,16 +678,16 @@ cdef class SolutionArrayBase: cxx_state.push_back(item) self.base.append(cxx_state, py_to_anymap(extra)) - def _cxx_save(self, filename, name, key, description, + def _cxx_save(self, filename, name, sub, description, overwrite, compression, basis): """ Interface `SolutionArray.save` with C++ core """ self.base.save( - stringify(str(filename)), stringify(name), stringify(key), + stringify(str(filename)), stringify(name), stringify(sub), stringify(description), overwrite, compression, stringify(basis)) - def _cxx_restore(self, filename, name, key): + def _cxx_restore(self, filename, name, sub): """ Interface `SolutionArray.restore` with C++ core """ cdef CxxAnyMap header header = self.base.restore( - stringify(str(filename)), stringify(name), stringify(key)) + stringify(str(filename)), stringify(name), stringify(sub)) return anymap_to_py(header) diff --git a/src/base/SolutionArray.cpp b/src/base/SolutionArray.cpp index 0f547d248..87e9c4300 100644 --- a/src/base/SolutionArray.cpp +++ b/src/base/SolutionArray.cpp @@ -915,15 +915,15 @@ AnyMap preamble(const string& desc) return data; } -AnyMap& openField(AnyMap& root, const string& id) +AnyMap& openField(AnyMap& root, const string& name) { - if (!id.size()) { + if (!name.size()) { return root; } - // locate field based on 'id' + // locate field based on 'name' vector tokens; - tokenizePath(id, tokens); + tokenizePath(name, tokens); AnyMap* ptr = &root; // use raw pointer to avoid copying string path = ""; for (auto& field : tokens) { @@ -940,28 +940,28 @@ AnyMap& openField(AnyMap& root, const string& id) return *ptr; } -void SolutionArray::writeHeader(const string& fname, const string& id, +void SolutionArray::writeHeader(const string& fname, const string& name, const string& desc, bool overwrite) { Storage file(fname, true); - if (file.checkGroup(id, true)) { + if (file.checkGroup(name, true)) { if (!overwrite) { throw CanteraError("SolutionArray::writeHeader", - "Group id '{}' exists; use 'overwrite' argument to overwrite.", id); + "Group name '{}' exists; use 'overwrite' argument to overwrite.", name); } - file.deleteGroup(id); - file.checkGroup(id, true); + file.deleteGroup(name); + file.checkGroup(name, true); } - file.writeAttributes(id, preamble(desc)); + file.writeAttributes(name, preamble(desc)); } -void SolutionArray::writeHeader(AnyMap& root, const string& id, +void SolutionArray::writeHeader(AnyMap& root, const string& name, const string& desc, bool overwrite) { - AnyMap& data = openField(root, id); + AnyMap& data = openField(root, name); if (!data.empty() && !overwrite) { throw CanteraError("SolutionArray::writeHeader", - "Field id '{}' exists; use 'overwrite' argument to overwrite.", id); + "Field name '{}' exists; use 'overwrite' argument to overwrite.", name); } data.update(preamble(desc)); } @@ -995,7 +995,7 @@ void SolutionArray::writeEntry(const string& fname, bool overwrite, const string vector isSpecies; std::stringstream header; for (const auto& key : names) { - string name = key; + string label = key; size_t col; if (speciesNames.find(key) == speciesNames.end()) { // Pre-read component vectors @@ -1016,20 +1016,20 @@ void SolutionArray::writeEntry(const string& fname, bool overwrite, const string components.emplace_back(AnyValue()); col = components.size() - 1; if (mole) { - name = "X_" + name; + label = "X_" + label; } else { - name = "Y_" + name; + label = "Y_" + label; } } - if (name.find("\"") != string::npos || name.find("\n") != string::npos) { + if (label.find("\"") != string::npos || label.find("\n") != string::npos) { throw NotImplementedError("SolutionArray::writeEntry", "Detected column name containing double quotes or line feeds: '{}'.", - name); + label); } - if (name.find(",") != string::npos) { - header << "\"" << name << "\""; + if (label.find(",") != string::npos) { + header << "\"" << label << "\""; } else { - header << name; + header << label; } if (col != last) { header << ","; @@ -1093,12 +1093,12 @@ void SolutionArray::writeEntry(const string& fname, bool overwrite, const string output << std::endl << std::setprecision(default_precision); } -void SolutionArray::writeEntry(const string& fname, const string& id, const string& sub, - bool overwrite, int compression) +void SolutionArray::writeEntry(const string& fname, const string& name, + const string& sub, bool overwrite, int compression) { - if (id == "") { + if (name == "") { throw CanteraError("SolutionArray::writeEntry", - "Group id specifying root location must not be empty."); + "Group name specifying root location must not be empty."); } if (m_size < m_dataSize) { throw NotImplementedError("SolutionArray::writeEntry", @@ -1108,7 +1108,7 @@ void SolutionArray::writeEntry(const string& fname, const string& id, const stri if (compression) { file.setCompressionLevel(compression); } - string path = id; + string path = name; if (sub != "") { path += "/" + sub; } else { @@ -1117,7 +1117,7 @@ void SolutionArray::writeEntry(const string& fname, const string& id, const stri if (file.checkGroup(path, true)) { if (!overwrite) { throw CanteraError("SolutionArray::writeEntry", - "Group id '{}' exists; use 'overwrite' argument to overwrite.", id); + "Group name '{}' exists; use 'overwrite' argument to overwrite.", name); } file.deleteGroup(path); file.checkGroup(path, true); @@ -1137,8 +1137,8 @@ void SolutionArray::writeEntry(const string& fname, const string& id, const stri const auto& nativeState = m_sol->thermo()->nativeState(); size_t nSpecies = m_sol->thermo()->nSpecies(); - for (auto& [name, offset] : nativeState) { - if (name == "X" || name == "Y") { + for (auto& [key, offset] : nativeState) { + if (key == "X" || key == "Y") { vector> prop; for (size_t i = 0; i < m_size; i++) { size_t first = offset + i * m_stride; @@ -1147,38 +1147,38 @@ void SolutionArray::writeEntry(const string& fname, const string& id, const stri } AnyValue data; data = prop; - file.writeData(path, name, data); + file.writeData(path, key, data); } else { - auto data = getComponent(name); - file.writeData(path, name, data); + auto data = getComponent(key); + file.writeData(path, key, data); } } - for (const auto& [name, value] : *m_extra) { + for (const auto& [key, value] : *m_extra) { if (isSimpleVector(value)) { - file.writeData(path, name, value); + file.writeData(path, key, value); } else if (value.is()) { // skip unintialized component } else { throw NotImplementedError("SolutionArray::writeEntry", "Unable to save component '{}' with data type {}.", - name, value.type_str()); + key, value.type_str()); } } } -void SolutionArray::writeEntry(AnyMap& root, const string& id, const string& sub, +void SolutionArray::writeEntry(AnyMap& root, const string& name, const string& sub, bool overwrite) { - if (id == "") { + if (name == "") { throw CanteraError("SolutionArray::writeEntry", - "Field id specifying root location must not be empty."); + "Field name specifying root location must not be empty."); } if (m_size < m_dataSize) { throw NotImplementedError("SolutionArray::writeEntry", "Unable to save sliced data."); } - string path = id; + string path = name; if (sub != "") { path += "/" + sub; } else { @@ -1188,7 +1188,7 @@ void SolutionArray::writeEntry(AnyMap& root, const string& id, const string& sub bool preexisting = !data.empty(); if (preexisting && !overwrite) { throw CanteraError("SolutionArray::writeEntry", - "Field id '{}' exists; use 'overwrite' argument to overwrite.", id); + "Field name '{}' exists; use 'overwrite' argument to overwrite.", name); } if (apiNdim() == 1) { data["size"] = int(m_dataSize); @@ -1197,8 +1197,8 @@ void SolutionArray::writeEntry(AnyMap& root, const string& id, const string& sub } data.update(m_meta); - for (auto& [name, value] : *m_extra) { - data[name] = value; + for (auto& [key, value] : *m_extra) { + data[key] = value; } auto phase = m_sol->thermo(); @@ -1227,14 +1227,14 @@ void SolutionArray::writeEntry(AnyMap& root, const string& id, const string& sub } } else if (m_size > 1) { const auto& nativeState = phase->nativeState(); - for (auto& [name, offset] : nativeState) { - if (name == "X" || name == "Y") { + for (auto& [key, offset] : nativeState) { + if (key == "X" || key == "Y") { for (auto& spc : phase->speciesNames()) { data[spc] = getComponent(spc); } - data["basis"] = name == "X" ? "mole" : "mass"; + data["basis"] = key == "X" ? "mole" : "mass"; } else { - data[name] = getComponent(name); + data[key] = getComponent(key); } } data["components"] = componentNames(); @@ -1265,7 +1265,7 @@ void SolutionArray::append(const vector& state, const AnyMap& extra) } } -void SolutionArray::save(const string& fname, const string& id, const string& sub, +void SolutionArray::save(const string& fname, const string& name, const string& sub, const string& desc, bool overwrite, int compression, const string& basis) { @@ -1276,8 +1276,9 @@ void SolutionArray::save(const string& fname, const string& id, const string& su size_t dot = fname.find_last_of("."); string extension = (dot != npos) ? toLowerCopy(fname.substr(dot + 1)) : ""; if (extension == "csv") { - if (id != "") { - warn_user("SolutionArray::save", "Parameter 'id' not used for CSV output."); + if (name != "") { + warn_user("SolutionArray::save", + "Parameter 'name' not used for CSV output."); } writeEntry(fname, overwrite, basis); return; @@ -1287,8 +1288,8 @@ void SolutionArray::save(const string& fname, const string& id, const string& su "Argument 'basis' is not used for HDF or YAML output.", basis); } if (extension == "h5" || extension == "hdf" || extension == "hdf5") { - writeHeader(fname, id, desc, overwrite); - writeEntry(fname, id, sub, true, compression); + writeHeader(fname, name, desc, overwrite); + writeEntry(fname, name, sub, true, compression); return; } if (extension == "yaml" || extension == "yml") { @@ -1297,8 +1298,8 @@ void SolutionArray::save(const string& fname, const string& id, const string& su if (std::ifstream(fname).good()) { data = AnyMap::fromYamlFile(fname); } - writeHeader(data, id, desc, overwrite); - writeEntry(data, id, sub, true); + writeHeader(data, name, desc, overwrite); + writeEntry(data, name, sub, true); // Write the output file and remove the now-outdated cached file std::ofstream out(fname); @@ -1310,22 +1311,22 @@ void SolutionArray::save(const string& fname, const string& id, const string& su "Unknown file extension '{}'.", extension); } -AnyMap SolutionArray::readHeader(const string& fname, const string& id) +AnyMap SolutionArray::readHeader(const string& fname, const string& name) { Storage file(fname, false); - file.checkGroup(id); - return file.readAttributes(id, false); + file.checkGroup(name); + return file.readAttributes(name, false); } -const AnyMap& locateField(const AnyMap& root, const string& id) +const AnyMap& locateField(const AnyMap& root, const string& name) { - if (!id.size()) { + if (!name.size()) { return root; } - // locate field based on 'id' + // locate field based on 'name' vector tokens; - tokenizePath(id, tokens); + tokenizePath(name, tokens); const AnyMap* ptr = &root; // use raw pointer to avoid copying string path = ""; for (auto& field : tokens) { @@ -1333,27 +1334,27 @@ const AnyMap& locateField(const AnyMap& root, const string& id) const AnyMap& sub = *ptr; if (!sub.hasKey(field) || !sub[field].is()) { throw CanteraError("SolutionArray::locateField", - "No field or solution with id '{}'.", path); + "No field or solution with name '{}'.", path); } ptr = &sub[field].as(); } return *ptr; } -AnyMap SolutionArray::readHeader(const AnyMap& root, const string& id) +AnyMap SolutionArray::readHeader(const AnyMap& root, const string& name) { - auto sub = locateField(root, id); + auto sub = locateField(root, name); AnyMap header; - for (const auto& [name, value] : sub) { - if (!sub[name].is()) { - header[name] = value; + for (const auto& [key, value] : sub) { + if (!sub[key].is()) { + header[key] = value; } } return header; } AnyMap SolutionArray::restore(const string& fname, - const string& id, const string& sub) + const string& name, const string& sub) { size_t dot = fname.find_last_of("."); string extension = (dot != npos) ? toLowerCopy(fname.substr(dot + 1)) : ""; @@ -1364,12 +1365,12 @@ AnyMap SolutionArray::restore(const string& fname, "'read_csv' instead."); } if (extension == "h5" || extension == "hdf" || extension == "hdf5") { - readEntry(fname, id, sub); - header = readHeader(fname, id); + readEntry(fname, name, sub); + header = readHeader(fname, name); } else if (extension == "yaml" || extension == "yml") { const AnyMap& root = AnyMap::fromYamlFile(fname); - readEntry(root, id, sub); - header = readHeader(root, id); + readEntry(root, name, sub); + header = readHeader(root, name); } else { throw CanteraError("SolutionArray::restore", "Unknown file extension '{}'; supported extensions include " @@ -1609,23 +1610,24 @@ string getName(const set& names, const string& name) return name; // let exception be thrown elsewhere } -void SolutionArray::readEntry(const string& fname, const string& id, const string& sub) +void SolutionArray::readEntry(const string& fname, const string& name, + const string& sub) { Storage file(fname, false); - if (id == "") { + if (name == "") { throw CanteraError("SolutionArray::readEntry", - "Group id specifying root location must not be empty."); + "Group name specifying root location must not be empty."); } - string path = id; - if (sub != "" && file.checkGroup(id + "/" + sub, true)) { + string path = name; + if (sub != "" && file.checkGroup(name + "/" + sub, true)) { path += "/" + sub; - } else if (sub == "" && file.checkGroup(id + "/data", true)) { + } else if (sub == "" && file.checkGroup(name + "/data", true)) { // default data location path += "/data"; } if (!file.checkGroup(path)) { throw CanteraError("SolutionArray::readEntry", - "Group id specifying data entry is empty."); + "Group name specifying data entry is empty."); } m_extra->clear(); auto [size, names] = file.contents(path); @@ -1735,8 +1737,8 @@ void SolutionArray::readEntry(const string& fname, const string& id, const strin m_sol->thermo()->saveState(nState, m_data->data() + i * m_stride); } warn_user("SolutionArray::readEntry", - "Detected legacy HDF format with incomplete state information\nfor id '{}' " - "(pressure missing).", path); + "Detected legacy HDF format with incomplete state information\nfor name " + "'{}' (pressure missing).", path); } else if (mode == "") { throw CanteraError("SolutionArray::readEntry", "Data are not consistent with full state modes."); @@ -1774,19 +1776,19 @@ void SolutionArray::readEntry(const string& fname, const string& id, const strin } } -void SolutionArray::readEntry(const AnyMap& root, const string& id, const string& sub) +void SolutionArray::readEntry(const AnyMap& root, const string& name, const string& sub) { - if (id == "") { + if (name == "") { throw CanteraError("SolutionArray::readEntry", - "Field id specifying root location must not be empty."); + "Field name specifying root location must not be empty."); } - auto path = locateField(root, id); + auto path = locateField(root, name); if (path.hasKey("generator") && sub != "") { // read entry from subfolder (since Cantera 3.0) - path = locateField(root, id + "/" + sub); + path = locateField(root, name + "/" + sub); } else if (sub == "" && path.hasKey("data")) { // default data location - path = locateField(root, id + "/data"); + path = locateField(root, name + "/data"); } // set size and initialize @@ -1837,8 +1839,8 @@ void SolutionArray::readEntry(const AnyMap& root, const string& id, const string auto Y = path["mass-fractions"].asMap(); m_sol->thermo()->setState_TPY(T, m_sol->thermo()->pressure(), Y); warn_user("SolutionArray::readEntry", - "Detected legacy YAML format with incomplete state information\nfor id " - "'{}' (pressure missing).", id + "/" + sub); + "Detected legacy YAML format with incomplete state information\n" + "for name '{}' (pressure missing).", name + "/" + sub); } else if (mode == "") { throw CanteraError("SolutionArray::readEntry", "Data are not consistent with full state modes."); diff --git a/src/oneD/Sim1D.cpp b/src/oneD/Sim1D.cpp index b290cb3e2..07f27ade1 100644 --- a/src/oneD/Sim1D.cpp +++ b/src/oneD/Sim1D.cpp @@ -125,7 +125,7 @@ void Sim1D::save(const std::string& fname, const std::string& id, } } -void Sim1D::save(const std::string& fname, const std::string& id, +void Sim1D::save(const std::string& fname, const std::string& name, const std::string& desc, bool overwrite, int compression, const string& basis) { @@ -146,10 +146,10 @@ void Sim1D::save(const std::string& fname, const std::string& id, "Species basis '{}' not implemented for HDF5 or YAML output.", basis); } if (extension == "h5" || extension == "hdf" || extension == "hdf5") { - SolutionArray::writeHeader(fname, id, desc, overwrite); + SolutionArray::writeHeader(fname, name, desc, overwrite); for (auto dom : m_dom) { auto arr = dom->asArray(m_state->data() + dom->loc()); - arr->writeEntry(fname, id, dom->id(), overwrite, compression); + arr->writeEntry(fname, name, dom->id(), overwrite, compression); } return; } @@ -159,11 +159,11 @@ void Sim1D::save(const std::string& fname, const std::string& id, if (std::ifstream(fname).good()) { data = AnyMap::fromYamlFile(fname); } - SolutionArray::writeHeader(data, id, desc, overwrite); + SolutionArray::writeHeader(data, name, desc, overwrite); for (auto dom : m_dom) { auto arr = dom->asArray(m_state->data() + dom->loc()); - arr->writeEntry(data, id, dom->id(), overwrite); + arr->writeEntry(data, name, dom->id(), overwrite); } // Write the output file and remove the now-outdated cached file @@ -186,7 +186,7 @@ void Sim1D::saveResidual(const std::string& fname, const std::string& id, } } -void Sim1D::saveResidual(const std::string& fname, const std::string& id, +void Sim1D::saveResidual(const std::string& fname, const std::string& name, const std::string& desc, bool overwrite, int compression) { vector_fp res(m_state->size(), -999); @@ -195,7 +195,7 @@ void Sim1D::saveResidual(const std::string& fname, const std::string& id, // save() function reads. vector backup(*m_state); *m_state = res; - save(fname, id, desc, overwrite, compression); + save(fname, name, desc, overwrite, compression); *m_state = backup; } @@ -293,7 +293,7 @@ AnyMap Sim1D::restore(const std::string& fname, const std::string& id, int logle return restore(fname, id); } -AnyMap Sim1D::restore(const std::string& fname, const std::string& id) +AnyMap Sim1D::restore(const std::string& fname, const std::string& name) { size_t dot = fname.find_last_of("."); string extension = (dot != npos) ? toLowerCopy(fname.substr(dot+1)) : ""; @@ -304,11 +304,11 @@ AnyMap Sim1D::restore(const std::string& fname, const std::string& id) AnyMap header; if (extension == "h5" || extension == "hdf" || extension == "hdf5") { std::map> arrs; - header = SolutionArray::readHeader(fname, id); + header = SolutionArray::readHeader(fname, name); for (auto dom : m_dom) { auto arr = SolutionArray::create(dom->solution()); - arr->readEntry(fname, id, dom->id()); + arr->readEntry(fname, name, dom->id()); dom->resize(dom->nComponents(), arr->size()); if (!header.hasKey("generator")) { arr->meta() = legacyH5(arr, header); @@ -324,11 +324,11 @@ AnyMap Sim1D::restore(const std::string& fname, const std::string& id) } else if (extension == "yaml" || extension == "yml") { AnyMap root = AnyMap::fromYamlFile(fname); std::map> arrs; - header = SolutionArray::readHeader(root, id); + header = SolutionArray::readHeader(root, name); for (auto dom : m_dom) { auto arr = SolutionArray::create(dom->solution()); - arr->readEntry(root, id, dom->id()); + arr->readEntry(root, name, dom->id()); dom->resize(dom->nComponents(), arr->size()); arrs[dom->id()] = arr; }