Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ To install the _plopm_ executable in an existing Python environment:
pip install git+https://github.com/cssr-tools/plopm.git
```

If you are interested in a specific version (e.g., v2026.04) or in modifying the source code, then you can clone the repository and install the Python requirements in a virtual environment with the following commands:
If you are interested in modifying the source code, then you can clone the repository and install the Python requirements in a virtual environment with the following commands:

```bash
# Clone the repo
Expand Down Expand Up @@ -46,7 +46,7 @@ plopm -i name(s)_of_input_file(s)
Run `plopm --help` to see all possible command line argument options.

## Getting started
See the [_examples_](https://cssr-tools.github.io/plopm/examples.html) in the [_documentation_](https://cssr-tools.github.io/plopm/introduction.html) and this [_paper_](https://github.com/cssr-tools/plopm/tree/main/paper/paper.pdf).
See the [_tutorial_](https://cssr-tools.github.io/plopm/tutorial.html) and [_examples_](https://cssr-tools.github.io/plopm/examples.html) in the [_documentation_](https://cssr-tools.github.io/plopm/introduction.html) and this [_paper_](https://github.com/cssr-tools/plopm/tree/main/paper/paper.pdf).

## Citing
* Landa-Marbán, D. 2026. plopm: A lightweight and flexible tool for visualization and postprocessing of OPM Flow geological models. [https://doi.org/10.13140/RG.2.2.12046.22081](https://doi.org/10.13140/RG.2.2.12046.22081).
Expand All @@ -61,7 +61,7 @@ The following is a list of manuscripts in which _plopm_ is used:
* Sandve, T.H., Boon, W., Landa-Marbán, D., Tveit, S., Gasda, S.E., 2025. Multi-Scale Simulation Strategies for Managing Pressure Interference in Multi-Site CO2 Storage in Large Regional Aquifers, presented at GET 2025, https://doi.org/10.3997/2214-4609.202521134.
* Landa-Marbán, D., Lie, K.-A., Lye, K. O., Møyner, O., Rasmussen, A. F., and T. H., Sandve, 2026. Exploring Convergence and Its Limits in Case B of the 11th SPE Comparative Solution Project. SPE J. https://doi.org/10.2118/231853-PA.
* Landa-Marbán, D., Sandve, T.H., Both, J.W., Nordbotten, J.M., and Gasda, S.E., 2026. Performance of an open-source image-based history matching framework for CO2 storage. Transp Porous Med, https://doi.org/10.1007/s11242-025-02275-0.
* Landa-Marbán, D., Sandve, T.H., and Gasda, S.E., 2025. A Coarsening Approach to the Troll Aquifer Model. https://arxiv.org/abs/2508.08670.
* Landa-Marbán, D., Sandve, T.H., and Gasda, S.E., 2026. A coarsening approach to the troll aquifer model. In Nils Anders Røkke, Philip Stefan Ringrose, & Stefan Marcell Götz (Eds.), TCCS-13. CO2 Capture, Transport and Storage Trondheim, Norway | 16–19 June 2025 Short Papers from the 13th Trondheim CCS Conference (pp. 13–20). SINTEF akademisk forlag. https://hdl.handle.net/11250/5559902

The software also supports the online documentation of several open‑source tools, including:

Expand Down
Binary file added docs/_images/poro_sgas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/spe11c_temp_i,14,k_t2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/_modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../_static/searchtools.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion docs/_modules/plopm/config/config.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../../../_static/searchtools.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion docs/_modules/plopm/core/plopm.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../../../_static/searchtools.js"></script>
Expand Down
39 changes: 36 additions & 3 deletions docs/_modules/plopm/utils/initialization.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../../../_static/searchtools.js"></script>
Expand Down Expand Up @@ -474,6 +474,7 @@ <h1>Source code for plopm.utils.initialization</h1><div class="highlight"><pre>
<span class="sd">&quot;&quot;&quot;</span>

<span class="kn">import</span><span class="w"> </span><span class="nn">argparse</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">ast</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">copy</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">shutil</span>
Expand Down Expand Up @@ -904,7 +905,9 @@ <h1>Source code for plopm.utils.initialization</h1><div class="highlight"><pre>
<span class="p">):</span>
<span class="k">continue</span>
<span class="k">if</span> <span class="n">val</span> <span class="o">==</span> <span class="s2">&quot;slice&quot;</span><span class="p">:</span>
<span class="k">if</span> <span class="n">cfg</span><span class="o">.</span><span class="n">gif</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">slice</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="nb">len</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">cases</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
<span class="k">if</span> <span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">gif</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">slice</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="nb">len</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">cases</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span> <span class="ow">or</span> <span class="p">(</span>
<span class="nb">len</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">slice</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">restart</span><span class="p">)</span>
<span class="p">):</span>
<span class="k">continue</span>
<span class="n">current</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span>
<span class="nb">setattr</span><span class="p">(</span>
Expand Down Expand Up @@ -1279,7 +1282,37 @@ <h1>Source code for plopm.utils.initialization</h1><div class="highlight"><pre>
<span class="n">cfg</span><span class="o">.</span><span class="n">ncolors</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">cases</span><span class="p">)</span> <span class="o">&lt;</span> <span class="n">nvars</span> <span class="k">else</span> <span class="n">nvars</span>
<span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;colors_raw&quot;</span><span class="p">,</span> <span class="s2">&quot;linestyle&quot;</span><span class="p">,</span> <span class="s2">&quot;linewidth&quot;</span><span class="p">]:</span>
<span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">val</span><span class="p">):</span>
<span class="n">tmp</span> <span class="o">=</span> <span class="p">[</span><span class="n">var</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;,&quot;</span><span class="p">)</span> <span class="k">for</span> <span class="n">var</span> <span class="ow">in</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;:&quot;</span><span class="p">)]</span>
<span class="k">if</span> <span class="n">val</span> <span class="o">==</span> <span class="s2">&quot;linestyle&quot;</span><span class="p">:</span>
<span class="n">tmp</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">var</span> <span class="ow">in</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;:&quot;</span><span class="p">):</span>
<span class="n">styles</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">item</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<span class="n">depth</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">var</span><span class="p">:</span>
<span class="n">depth</span> <span class="o">+=</span> <span class="n">char</span> <span class="o">==</span> <span class="s2">&quot;(&quot;</span>
<span class="n">depth</span> <span class="o">-=</span> <span class="n">char</span> <span class="o">==</span> <span class="s2">&quot;)&quot;</span>
<span class="k">if</span> <span class="n">char</span> <span class="o">==</span> <span class="s2">&quot;,&quot;</span> <span class="ow">and</span> <span class="n">depth</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">styles</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
<span class="n">ast</span><span class="o">.</span><span class="n">literal_eval</span><span class="p">(</span><span class="n">item</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span>
<span class="k">if</span> <span class="n">item</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;(&quot;</span><span class="p">)</span>
<span class="k">else</span> <span class="n">item</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="p">)</span>
<span class="n">item</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">item</span> <span class="o">+=</span> <span class="n">char</span>
<span class="k">if</span> <span class="n">depth</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
<span class="sa">f</span><span class="s2">&quot;Unbalanced parentheses in linestyle specification: </span><span class="si">{</span><span class="n">var</span><span class="si">}</span><span class="s2">&quot;</span>
<span class="p">)</span>
<span class="k">if</span> <span class="n">item</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span>
<span class="n">styles</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
<span class="n">ast</span><span class="o">.</span><span class="n">literal_eval</span><span class="p">(</span><span class="n">item</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span>
<span class="k">if</span> <span class="n">item</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;(&quot;</span><span class="p">)</span>
<span class="k">else</span> <span class="n">item</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="p">)</span>
<span class="n">tmp</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">styles</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">tmp</span> <span class="o">=</span> <span class="p">[</span><span class="n">var</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;,&quot;</span><span class="p">)</span> <span class="k">for</span> <span class="n">var</span> <span class="ow">in</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;:&quot;</span><span class="p">)]</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">tmp</span><span class="p">)</span> <span class="o">&lt;</span> <span class="n">nvars</span><span class="p">:</span>
<span class="n">tmp</span> <span class="o">=</span> <span class="p">[</span><span class="n">tmp</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">*</span> <span class="n">nvars</span>
<span class="nb">setattr</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s2">&quot;colors&quot;</span> <span class="k">if</span> <span class="n">val</span> <span class="o">==</span> <span class="s2">&quot;colors_raw&quot;</span> <span class="k">else</span> <span class="n">val</span><span class="p">,</span> <span class="n">tmp</span><span class="p">)</span>
Expand Down
2 changes: 1 addition & 1 deletion docs/_modules/plopm/utils/mapping.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../../../_static/searchtools.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion docs/_modules/plopm/utils/readers.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../../../_static/searchtools.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion docs/_modules/plopm/utils/terminal.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../../../_static/searchtools.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion docs/_modules/plopm/utils/write_oned.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="2026.10rc0" />
<meta name="docbuild:last-update" content="2026-08-30"/>
<meta name="docbuild:last-update" content="2026-09-03"/>


<script src="../../../_static/searchtools.js"></script>
Expand Down
Loading