-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Paper revised version #101
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -25,47 +25,63 @@ bibliography: paper.bib | |||||
|
||||||
The imperative to achieve climate change goals and the increasing worldwide demand for energy | ||||||
have made carbon capture and storage (CCS) technology more relevant today. | ||||||
Since utilizing computational models is essential for planning large-scale CCS projects, then it is crucial | ||||||
to benchmark simulation tools to enhance confidence in the results. Inspired by | ||||||
Since utilizing computational models is essential for planning large-scale CCS projects, it is crucial | ||||||
to benchmark simulation tools to enhance confidence in their results. Inspired by | ||||||
a recent validation study for laboratory-scale CO$_2$ storage [@Flemisch:2024], a new comparative | ||||||
solution project (CSP) was launched to simulate both lab- and field-scale CO$_2$ storage [@Nordbotten:2024]. | ||||||
As part of the Early Access team, the authors have developed and made open the | ||||||
`pyopmspe11` tool which facilitates reproducible solutions to the benchmark. This tool serves as a | ||||||
common starting point for developing and testing new simulation technology. It is expected that its impact | ||||||
will extend far beyond the initial benchmark study. | ||||||
`pyopmspe11` tool which facilitates reproducible solutions to the SPE11 benchmark. This tool serves as a | ||||||
common starting point for developing and testing new simulation technology. Due to its user-friendly functionality | ||||||
(e.g., generation of different type of grids at different grid resolutions, flexibility to chose different rock and | ||||||
fluid properties, flexibility to define well/source locations and schedule for operations), then it is expected that | ||||||
its impact will extend far beyond the initial benchmark study (e.g., studys focusing on grid refinment, upscaling/coarsening | ||||||
approaches, numerical solvers, optimization/history matching techniques). | ||||||
|
||||||
![Generated model by the configuration file `spe11c_cp_ca20e6cells.txt` in the examples folder.](paper.png){ width=100% } | ||||||
|
||||||
# Statement of need | ||||||
|
||||||
Geological carbon storage (GCS) applications benefit from both commercial and open-source simulators. | ||||||
However, using open-source simulators often involves data preprocessing and postprocessing, which can be | ||||||
challenging for those without advanced programming knowledge. Additionally, setting up and running simulations | ||||||
requires engineering expertise. To bridge this gap, developers can simplify the setup of numerical studies by | ||||||
using user-friendly approaches, such as configuration files. This not only ensures result reproducibility but | ||||||
However, using numerical simulators often involves data preprocessing and postprocessing, which can be | ||||||
challenging for everyone even if you know what you are doing. Additionally, setting up and running simulations | ||||||
requires computational expertise. To bridge this gap, developers can simplify the setup of numerical studies by | ||||||
using user-friendly approaches, such as configuration files. This not only ensures reproducibility of results but | ||||||
also facilitates flexible testing of different simulator parameters and allows for easy extension to further studies. | ||||||
Notable works are available in JOSS for pre-/postprocessing of simulation data, e.g., @Beucher:2019, @Sullivan:2019, @Fraters:2024, @Kaus:2024. | ||||||
Examples of tools which application is also in GCS and relies on the OPM Flow simulator | ||||||
are `pyopmnearwell` [@Landa-Marbán:2023] and `expreccs` [@Landa-Marbán:2024]. The former focuses on near well dynamics, while the | ||||||
latter on seamless, dynamic, and non-invasive exchange of pressure-related information between local and regional scales. | ||||||
|
||||||
`pyopmspe11` is a simplified and flexible Python tool for the three cases in the SPE Comparative Solution | ||||||
Project via configuration files. `pyopmspe11` relies on the OPM Flow numerical simulator [@Rassmussen:2021], where the | ||||||
|
||||||
|
||||||
Based on the acquired knowledge by developing the aforementioned tools, as well as from using/contributing to other open-source projects, then we have developed and made open the `pyopmspe11` tool which facilitates reproducible solutions to the SPE11 benchmark, which focus on GCS at different scales [@Nordbotten:2024]. | ||||||
A previous benchmark study for GCS can be found in @Class:2009. One key differece of the SPE11 benchmark from the previous one is that no grids were given in the description, i.e., one of the main task for the participants was to create suitable grids (e.g., structured grids such as Cartesian or unscrtuctured grids such as corner-point grids). The participants were encouraged to share data (e.g., input decks, code, submitted results), with the opportunity to store the data for open access. This is where developing tools that made all steps reprodubible (i.e., preprocessing and postprocessing) become handy, and for this benchmark study, one available tool is `pyopmspe11`. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
|
||||||
|
||||||
`pyopmspe11` is a simplified and flexible Python tool to execute the three cases in the SPE Comparative Solution | ||||||
Project using configuration files. `pyopmspe11` relies on the OPM Flow numerical simulator [@Rassmussen:2021], where the | ||||||
implementation of the CO$_2$ model can be found in @Sandve:2021. The primary contribution of `pyopmspe11` lies in its | ||||||
data preprocessing and postprocessing capabilities. It offers flexibility in generating various types of grids, | ||||||
including Cartesian, tensor, and corner-point grids. These grids adhere to standard industry formats, making them | ||||||
compatible not only with OPM Flow but also with other simulators. Additionally, `pyopmspe11` supports different resolutions, | ||||||
having been tested to generate approximately 160 million cells. In the context of data postprocessing, `pyopmspe11` not only | ||||||
including Cartesian, tensor, and corner-point grids. These grids adhere to the standard industry format (i.e., Eclipse grid format), making them | ||||||
compatible not only with OPM Flow but also with other simulators. Here, we mention two existing widely-use visualization/postrocessing software for OPM Flow: [ParaView](https://www.paraview.org) and [ResInsight](https://resinsight.org). While these tools are very useful, to the authors knolwedge, there is no existing functionality in these tools to handle all the necessary postporcessing to generate all data reporting as required in the SPE11 benchmark study. For example, to write the csv maps of the quantities from a simulation grid to a given reporting grid, where both grids do not overlap, or to compute the convective mixing as defined in Eq. (17) in [@Nordbotten:2024]. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Not sure the last sentence is quite correct (you can do a lot of interpolation to other specified grids and/or complex calculations (even embedded python functions) inside Paraview. However, I of course see the benefit of having all that already readily created in a specialized tool, so feel free to keep the sentence. |
||||||
|
||||||
|
||||||
|
||||||
`pyopmspe11` supports varying resolutions, having been tested to generate up to 160 million cells. In the context of data postprocessing, `pyopmspe11` not only | ||||||
generates the necessary reporting data as specified by the benchmark, but it also produces .png figures for rapid inspection | ||||||
of individual simulations and for making comparisons between different runs (e.g., to assess sensitivities). The postprocessing | ||||||
methods efficiently map non-overlapping cell values (both intensive and extensive quantities) between the simulation grid and | ||||||
the reporting grid. | ||||||
methods efficiently interpolates quantities over time and map non-overlapping cell values (both intensive and extensive quantities) between the simulation grid and the reporting grid. The Python package Scipy [@Virtanen:2020], specifically the interp1d Class, is used for the time interpolation. The Python package Shapely [@Gillies:2024], speficically the Polygon Class, is the base for the developed methods in `pyopmspe11` to handle the mapping from the simulation grid to the reporting grid. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
# Outlook | ||||||
`pyopmspe11` is designed for use by researchers, engineers, and students. During the preliminary intercomparison workshops for | ||||||
the benchmark study, the authors received positive feedback about the framework. Some participant groups have utilized `pyopmspe11`, particularly | ||||||
for grid generation. Additionally, the authors have been contacted to provide specific support on how to use the tool for setting up | ||||||
further studies, such as optimizing injection strategies. Looking ahead, the plan for `pyopmspe11`’s future development includes extending | ||||||
its functionality to incorporate additional physical models (e.g., hydrogen storage, salt precipitation, biofilm effects). | ||||||
its functionality to support the generation of input decks to run simulations of physical models available in OPM Flow in addition to CO$_2$ storage (e.g., hydrogen storage, salt precipitation, biofilm effects). | ||||||
|
||||||
# Acknowledgements | ||||||
|
||||||
The authors acknowledge funding from the [Center for Sustainable Subsurface Resources (CSSR)](https://cssr.no), grant nr. 331841, supported by the Research Council of Norway, research partners NORCE Norwegian Research Centre and the University of Bergen, and user partners Equinor ASA, Wintershall Dea Norge AS, Sumitomo Corporation, Earth Science Analytics, GCE Ocean Technology, and SLB Scandinavia. The authors also acknowledge funding from the [HPC Simulation Software for the Gigatonne Storage Challenge project](https://www.norceresearch.no/en/projects/hpc-simulation-software-for-the-gigatonne-storage-challenge), grant nr. 622059, supported by Equinor ASA and CLIMIT DEMO/Gassnova. | ||||||
The authors acknowledge funding from the [Center for Sustainable Subsurface Resources (CSSR)](https://cssr.no), grant nr. 331841, supported by the Research Council of Norway, research partners NORCE Norwegian Research Centre and the University of Bergen, and user partners Equinor ASA, Harbour Energy, Sumitomo Corporation, Earth Science Analytics, GCE Ocean Technology, and SLB Scandinavia. The authors also acknowledge funding from the [HPC Simulation Software for the Gigatonne Storage Challenge project](https://www.norceresearch.no/en/projects/hpc-simulation-software-for-the-gigatonne-storage-challenge), grant nr. 622059, supported by Equinor ASA and CLIMIT DEMO/Gassnova. | ||||||
|
||||||
# References |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.