exploreSimulation is an interactive tool for setting up and simulating long-term, aquifer-wide CO2 storage scenarios, applied on real datasets of geological formations in the Norwegian North Sea. The simulation is based on the vertical equilibrium assumption, which allows for rapid simulations even for large temporal and spatial domains. The simulated outcome of thousands of years of CO2 migration can usually be obtained within minutes.
The application covers the whole value chain from setting up an injection/migration scenario, running the simulation and visualising the outcome. It also keep track of the CO2 trapping state at any given time of the simulation. This information is used to produce CO2 inventories, which is a way to graphically display how CO2 state in the aquifer evolves during the simulation period.
The application is designed for ease of use. The user begins by choosing a geological formation from a list of available alternatives. Then he/she specifies boundary conditions, injection sites, injection rates, durations and physical effects. After launching the simulation, progress can be tracked in a separate visualisation window. When simulation is completed, the resulting CO2 inventory is presented. The visualization window can also be used to plot the value of a number of variables (CO2 saturation, pressure, etc.) for any timestep of the simulation. The outcome can also be saved to disk.
A number of simulations with different input parameters can be launched from the scenario specification window, each being assigned its own visualization window.
Despite its simplicity and low compuational requirements, the simulator is capable of taking a significant range of physical effects into account, including realistic fluid properties (based on accurate equation of states), rock properties (relative permeability, capillary effects, compressibility), two-phase flow, CO2 dissolution into brine, residual saturation, and structural trapping on macro and subscale levels. There are three different types of boundary conditions, all of which can be applied on different parts of the boundary for any given simulation.
First, ensure that the geological datasets have been downloaded. This can be done in a semi-automatic fashion by launching the graphical dataset download manager as follows:
Choose the CO2Atlas entry from the menu on the left and click the Download button. These public datasets are provided by the Norwegian Petroleum Directorate. (We further discuss their use with MRST-CO2lab here).
The simulation tool is launched by ensuring the co2lab module is loaded and simply typing its name:
mrstModule add co2lab; % ensure that the co2lab module is loaded
exploreSimulation; % run the application
The exploreSimulation command can take additional arguments to change various parameters that are not necessarily available through the graphical user interface. For details, refer to this section.
Figure 1: Scenario specification interface (click in image for full-size version)
Upon launching the application, the user is presented with the interface displayed in Figure 1. This is the scenario specification interface, where the user defines all necessary information for launching a specific injection and migration scenario.
The components of this interface are explained below, presented as a a step-by-step description on how a scenario is specified.
First, the user chooses the desired formation model from the drop-down list at the lower left side of the interface window. The default formation is Utsira ("Utsirafm"), but there are sixteen different formations to choose from. All models represent formations located below the Norwegian North Sea.
The chosen formation will immediately be displayed in the graphical window on the left side of the scenario specification interface. The model can be rotated and visually inspected as long as the "Rotate model" radio button box is selected (located at the upper right corner of the interface). The user has the option to highlight the location of structural traps by ticking the "Outline traps" checkbox found in the lower right corner of the interface.
When rotating the model, it will appear to have no thickness. In fact, only the caprock shape is displayed. The full aquifer thickness will however be taken into account during simulation.
Each part of the lateral boundaries of the aquifer must be one of three types: open, semi-open, or closed:
In order to specify boundaries, the user must first activate the "Edit boundary" radio button found in the upper right panel of the interface. The default is open boundaries everywhere (indicated as a thick green aquifer outline in the display window). If a completely closed or semi-open boundary is desired instead, the user may select the appropriate radio button in the upper middle panel, and then click "Set all". Semi-open and closed boundaries are drawn with yellow and red lines, respectively.
Boundary conditions may also be defined piecemeal by clicking with the mouse pointer inside the aquifer model. The first click will set a marker (indicated as a red star) at the given position. A second click away from the first will define a line. The part of the boundary closest to this line will change status to whatever condition is active in the upper middle display (open, semi-open or closed). This way, detailed boundary conditions can be set up in an intuitive way even for aquifers with complex boundaries.
It is possible to define up to ten injection locations for a given simulation scenario. Injection locations are chosen by first activating the "Select wellsite" radiobutton in the upper right panel, and then clicking at the desired locations on the model. The location of the well will be indicated with a black dot.
Figure 2: The well table
The injectors will be named W1 to W10. Each injector will be assigned a row in the well table, located in the middle right part of the user interface. When a injector is placed, its row in the well table will become active. Its latitude/longitude coordinates will appear in the second field, and its annual injection rate can be adjusted with the slider (from 0 to 10 megatons per year). An erroneously placed injector can be deleted by clicking the button labeled X in its corresponding row.
On the right hand side of the user interface, there is a small box which allows specifying the duration of the injection (default: 50 years), the duration of the migration phase (default 3000 years), and the number of discrete timesteps used to represent each of these periods. The user is free to play around with these numbers, but should keep in mind that a too small timestep size will just lead to a waste of computing resources, and too large steps may lead to 'timestep cutting', which is also computationally wasteful. In general, the migration phase admits longer timesteps than the injection phase.
On the right of the green 'Launch' button, there is a small box where the user is allowed to select which additional physical effects to include in the simulation. These options are:
When the above steps have been taken care of, the scenario is completely specified, and the simulation can be launched by clicking on the green button labeled "Launch new simulation!".
NB: During the simulation process, diagnostic information will be shown in the Matlab shell. This may include warnings such as "Solver did not converge, cutting timestep". This is to be expected, and should not be a cause of worry.
Once a simulation is launched, a new window opens, presenting user with the result visualization interface.
Figure 3: Tool for visual inspection of simulation result
As soon as the simulation is finished, the user can use the slider to move to any timestep in the simulation. Different visualization variables can be chosen from the drop-down menu, including:
For a better view, the result visualization window can be resized, and the model can be rotated using the rotation button found in the toolbar.
The CO2 inventory display also opens when a simulation has completed. The inventory display tracks the trapping state of CO2 over the course of the simulated (injection and migration) period. For any given year, the inventory shows how much CO2 is found in each of the following states:
Figure 4: CO2 inventory
To limit the complexity of the user interface, many adjustable parameters can only be specified at the command line when the program is launched. Additional parameters are specified on the form:
exploreSimulation('param1', value1, 'param2', value2, .., 'paramN', valueN)
where 'param1', 'param2' etc. are the names of the parameters to be specified, and value1, value2, etc. are the corresponding values.
Possible parameters that can be specified at the command line are:
Published January 7, 2016