The current implementation of Adaptive PluriGaussian Simulation of facies in reservoir modeling is based on code developed by Equinor. It is implemented as a plugin module to RMS 3D reservoir modeling software from Aspentech and can only be used together with this software. It is based on the method published by B. Sebacher et.al. (Journal of Petroleum Science and Engineering, Vol. 158, September 2017, p. 494-508) and is extended to handle trends in Gaussian Random Fields and multiple overlay facies. The implementation is adapted also to the FMU workflow and use of ERT (Ensemble Reservoir Tool) system for orchestration of reservoir simulations and assisted history matching.
Pre-built plugins are available in releases. If you want to build from source, some prerequisites are necessary;
- Python1
- Node.js2 (with yarn 1 / classic)
The repo is also set up to use asdf to manage the necessary tools
asdf install
Then, execute
make build-gui
This should create a new .plugin
file at the root of the repository.
Change examples/truncation_settings.dat as desired.
Then, run make generate-truncation-rules
to update.
The GUI will automatically get these rules, when it is built.
-
Create a new branch (e.g.
git switch -c release/v<new version>
) -
Update the
"version"
field ingui/package.json
-
Add a new entry in
gui/public/CHANGELOG.md
for this particular version-
To get a list of all commits since last, execute
last_version="$(git describe --abbrev=0 --tags)" git log "$last_version"..HEAD --pretty=format:'* %s' > commits.log
-
From these, copy relevant (user-facing) changes into
gui/public/CHANGELOG.md
under appropriate headings## <version> <Optionally some description or extra notes that the user should be aware of> ### What's new * <list of relevant new features, or breaking changes> ### Deprecations * <list of removals of user facing things> * <dropping support of RMS versions should go here, and (probably) in the general description> ### Fixes * <list of fixes that are included in this release> ### Performance * <list of changes that are improve the performance of the plugin> ### Technical debt * <list of changes that "pays down" techincal dept> ### Restructure * <list of things that have been moved, refactored, and otherwise changed / improved without affecting the usability or features> ### Miscellaneous * <list of various changes that don't fit neatly anywhere else> * <this can include updates to libraries that are used>
-
-
Add the changes in
CHANGELOG.md
andgui/package.json
to the commit and make new commit The commit message can be something like"feat: New release ($(make print-APS_VERSION))"
-
Tag the new commit (preferably also sign it by using
-s
)git tag -a -s -m '<A small summary of the changes in this release>' "v$(make print-APS_VERSION)"
-
Push the commit and tag (
git push origin "$(git branch --show-current)"
andgit push --tags
)This will trigger the workflow in
.github/workflows/release.yml
, which will make a new release in GitHub, and build a production version of the plugin