Resolve "Allow multiple models in one inifile"
What does this MR do?
Implements the proposition done in #107 (closed)
- Now there is one
xml
called common that has all the keywords that any model would need. - Now each model has its own
xml
. The idea is thatxml
files don't get too long and that keywords can be explained in different sections of the documentation. - If the adaptivity policy is
waterFlux
, then the adaptivity category is moved into therichards.
category. - The C++ code has not changed too much inside simulation objects since we pass to each simulation the sub-category of the model (i.e
inifile.sub("richards")
). In order to have this feature, some keywords have to be copied into the sub-category:grid extension
andadaptivity.*
. For that purpose, I created thestatic
functionSetup::inifile(...)
.
Changes from the initial proposition:
-
The generated ini files are merged together with CMake so that theconfig.ini
passed to the user with the commanddorie create
has all the possible keywords. -
All the test have the modified keywords. -
The documentation was updated taking into account the new format. -
The parameter scraper was split into two wrapper scripts:
-
scrape_folder
performs the parameter scraping and matches the instances found with the XML files. It dumps its data into a YAML file and can concatenate data if the file already exists. This way, parameter data from subsequent runs gets accumulated. -
write_config
uses the YAML file data to write single INI, HTML, and RST files.
-
-
Minor changes to the formatting of the config file docs, the config files themselves, and the handling of file paths inside the module.
Is there something that needs to be double checked?
Name convention for the numerics
category.
Can this MR be accepted?
A passing pipeline is enough for testing.
-
Implemented -
Pipeline passing -
Added entry to CHANGELOG.md
Related issues
Closes #107 (closed)
Edited by Lukas Riedel