SPRSFINAL
SPRSFINAL
• a binary header
The Binary Header contains values that apply to the whole SEG-Y file. The most important
values are the sampling interval and the number of samples in each trace
The Binary Header is presented in table form
The SEGY format revision number is also indicated (3 revisions have been performed and 3
standards have been released by the SEG Technical Standards Committee, with different
positions for the parameters); for this file, the format revision number is 0.
Steps to follow:
1. Project creation and setup
Create a new project to which seismic data will be imported or use the existing one. Main
window. Geology Designer. Create.
Set up project units and Seismic Reference Datum (SRD) before loading the seismic data:
1. Settings. Units Manager. Set Current Units Configuration to FIELD. Apply. Also click
Apply in the dialog which pops up next
2. Settings. Seismic Settings. Set Seismic Reference Datum to -4300 ft. OK
4
By default, header byte positions are set according to the SEG-Y standard, however, it is
possible that in the source file the values will be located in uncommon positions that do not
meet the standard. In such cases, the user must set the appropriate positions; otherwise, it may
cause errors during seismic data import
The user can enter the correct byte numbers of the corresponding fields in the Settings tab or
change byte positions in the Trace Header. When making changes in one of these tabs, they are
automatically applied in the other. Positions different from the SEG-Y standard are highlighted
in yellow in the Trace Header tab. To set default values, click on the button.
6. Seismic data in 3D
1. 3D view. RMB on Seismic Survey. Create Slice. Inline. Perform the same step to add a
Crossline. In order to move the slices, click on the icon Move Seismic Slice (or M button) and
move it in the viewer using the left mouse button
8. Seismic data in 2D
1. Seismic tab. Select Inline, Crossline or Slice in Geometry Objects, displayed in the 3D tab
7
2. In Settings panel, click on Seismic Slices and choose the current line. Having selected the
3D tab, you can see that the displayed line is highlighted with a yellow frame
3. Use the arrows at the bottom of the Seismic tab or in the settings to switch the slices,
according to the step you set. Also left/right arrow keys can be used
1. To display the Palette, select the Show Palette option in the Settings or RMB on the section
in the Seismic tab Show Palette. Customize the palette to your preferences
2. To choose another palette for the data displayed, RMB on the current palette Create
Custom Palette Fast and then select the desired palette from the Predefined Palettes list
3. These options are detailed in the course COMMON1.1 How to Use Templates Palette
1. Switch between the different drawing modes: Variable Density and Wiggle (change the
Gain and the Trace Step)
8
2. Add colours for the positive and negative phases filling according to the convention you
prefer
1. The Seismic tab displays the intersection line of in lines, crosslines and slices. These
intersections are interactive, i.e. allow transition to the display in the Seismic tab of the
intersected object by pressing the left mouse button on the corresponding line
10
1. Use the Synchronizing Cursor on the 2D, 3D and Seismic tabs. When 2 or 3 tabs are open,
the cursor is synchronized between tabs and displays the specified location on all tabs. To use
this, enable and configure Synchronizing Cursor on all required tabs
11
Steps:
1. Project creation and setup
Create a new project or use the existing one. Main window. Geology Designer. Create or Open
Set up project units and Seismic Reference Datum (SRD) before loading the seismic data:
1. Settings. Units Manager. Set Current Units Configuration to FIELD. Apply. Also click
Apply in the dialog which pops up next
2. Settings. Seismic Settings. Set Seismic Reference Datum to -4300 ft. OK
3. Horizon creation
1. The reflectors i.e. Top Frontier, Dakota and Tensleep fm:
- Frontier will be tracked manually
- Dakota will be tracked with semi-automatic methods
- Tensleep will be tracked using 3D autocorrelation algorithm
2. Create these 3 seismic horizons:
- Geometry objects. Seismic Surveys 3D. RMB on Seismic Horizons. Create. Type the
corresponding name.
3. Perform this step 2 times more in order to create the 3 horizons
12
1. In the Horizon list make sure Frontier is selected. Select Manual Picking as the
interpretation method
2. The Frontier reflector is quite continuous and can be followed through the whole 3D cube,
in the interval between 800 and 700 ms. The picture gives the interpretation for Inline 104
13
3. Use the left mouse button to trace the horizon. Double-click to finish. You can delete the last
point by clicking the Undo button or CTRL+Z on the keyboard
4. Once you have interpreted the first line, you can go to the next one, according to the step
you have set (10 lines, for example), using the green arrows of Seismic Slider or left/right
arrow keys
1. Interpret the Frontier horizon through all Inlines with the given step
2. Since the amplitude of this reflection varies from strong to weak, do not hesitate to edit the
palette in order to amplify the contrast of the sections
14
1. When you have interpreted all the Inlines, switch to the Crosslines by ticking the
corresponding object in Geometry Objects
2. Interpret the Crosslines and QC your previous interpretation on Inlines
1. You can use the Guided Autotracking method as well: go to Interpret Seismic Horizons.
Select Guided Autotracking
2. For this method, select several points along the reflector and double-click to finish. The
picking fits automatically to the reflector, according to the Signal Feature and the Correlation
Window you have set
16
1. Choose 3D Autotracking tool. Disable Apply spatial limitation option. Click on a reflector
which will be propagaeted in 3D by the algorithm. Calculation may take some time
2. Visualize the obtained horizon in the 3D tab
1. Visualize the Tensleep horizon in the 2D tab and show the Palette
2. Display the contour lines in order to QC the picking. Try to set different visualization
parameters
1. Switch to the 3D view. Click on Interpret Seismic Surfaces on the right toolbox or I on the
keyboard. Select the desired horizon
2. Set the Autotracking Parameters in the Settings (just like you did before)
3. Choose the method you would like to pick the horizon with and pick the reflector directly in
3D
4. The Restrict Mode can be used to visualize the horizon point only at the intersections with
the active sections
8. Horizon Flattening
In order to visualize the reflectors as they were emplaced during the deposition of the chosen
horizon the flattening option can be applied. It can help to perform more accurate
interpretation:
1. In the Seismic tab, RMB on a seismic horizon, on which the current section will be
flattened. Flatten.
2. To return to the original view RMB on the same horizon UnFlatten
19
Steps:
1. Project creation and settings
1. Open the existing project or create new. Main window Geology designer New or Open
2. In this project the vertical axis measurements are in feet and the seismic data is above sea
level. In order to correctly convert seismic data to depth, it is necessary to change the
configuration of project units and adjust the seismic reference datum (SRD):
3. Settings. Units Manager. Set Current Units Configuration to FIELD. Apply. Also click
Apply in the dialog which pops up next
4. Settings. Seismic Settings. Set Seismic Reference Datum to -4300 ft. OK
4. Set the Correlation Setting. For the Top Frontier horizon use the following parameters:
Correlation Coefficient Limit – 50, Signal Feature – Trough, Correlation Window – 8 ms.
Apply.
6. Time-Depth conversion
Convert the obtained horizon from time to depth using the Domain Conversion Model created
earlier :
1. Go to Geometry Objects Horizons Calculations Create Create Horizon by Seismic
Horizon (Domain Conversion Model)
2. Enter the name of the horizon, select the 3D-correlated seismic horizon, the Seismic Survey
and the Domain Conversion model. Apply
3. The resulting surface is stored in Horizons folder in Geometry Objects
1. In order to create a continuous surface, you need to interpolate this resulting horizon. Go to
Horizons Calculations Create Universal Interpolation
2. Use the horizon you have created as the input surface. Set the same parameters as in the
picture and click Apply
23
1. Now use Domain Conversion Model to transfer the whole seismic cube to depth: Geometry
Objects Seismic Surveys 3D Domain Conversion Depth Conversion
2. Set the seismic survey you want to convert, the conversion model and enter the output name.
Apply
3. Display the converted cube and the previously created horizon on the Seimic or 3D tab. You
can now work with seismic data in the depth domain
24
25
PROCEDURE:
Creating Model:
Reservoir Section:
5. Go to Reservoir menu and then select Create grid Cartesian option. On Create Cartesian Grid windows use the above-
described dimensions to create a Cartesian grid in Builder:
6. Press OK
28
7. On Modes Tools Bar, select Probe Mode option. Open Specify property and define parameters given in General Property
Specification windows. After entering values press OK.
8. Navigate to the Rock Compressibility window under the Reservoir Section and input the values as given. Press OK.
29
3. In the Components Section menu select Water Properties to open the associated window. Change the Viscosity to
0.45 cp. Click Apply and OK.
30
4. The Solubility of components may be altered through Builder also. In the Components Section menu select Solubility to
open the associated window. Set the Henry’s Constant and Vifinity’s for every component except CO2 to 0. This will turn
solubility off for these components. Press Apply and OK.
2. Navigate to Init. Region Parameters and enter given value of REFPRES, REFDEPTH, DWOC.
3. Also input the initial Mole fractions of oil composition.
4. Press Apply and OK. The Initial Conditions section should now be properly validated. The Reservoir Section should now also
have a green validation checkmark.
32
Numerical Section:
1. Enter the values of DTMAX, DTMIN, DTWELL, MAXRES in Dataset Value.
7. Define Perforations. In the Wells & Recurrent Menu open the Well Completions (PERF) window. For the Injector well on the
General tab change the Well Index Type to SLIMTUBE Slim Tube Simulation. Also change the Radius to 0.01 ft and the
Direction to I Axis. Press Apply.
8. On the Perforations tab add a new Perforation by clicking the button to Insert after selected node. Type in the user block
address 1 1 1. Also input a value of 1 in the Well index WI column. Press Apply.
34
9. Repeat Step – 8 for Producer well. In Perforations type User Block Address as 50 1 1. Press Apply and OK.
10. Click on Dates. On the Simulation Dates window, Add a new date. In CMG Calendar window, enter 2.932 Days. Then click
OK.
11. Repeat the previous steps to add two new dates, 3.03 days and 4.906 days. Click OK.
12. Navigate straight to the Constraints tab of Injector Well and change BHW Reservoir Water Rate constraint to BHG Reservoir
Gas Rate for the period of solvent injection (2.932 days). Set the MAX for this at 0.00847552 ft3/day (10cm3/hr) on CONT
REPEAT. Press Apply.
13. Navigate to the Injected Fluid tab at the same date and change the Injected Fluid to Solvent. Input 1 for the Mole Fraction of
the CO2 Component. Press Apply.
35
14. For the date 3.030 change the Constraint from BHG Reservoir Gas Rate back to BHW Reservoir Water Rate (with a MAX
value of 0.00150956 bbl/day) click on Apply and change the Injected Fluid back to Water.
15. Press Apply and OK.
16. Under the Well & Recurrent Section open Separators. Select the Short Form option under the Separator Format. Enter a Stage
Pressure of 14.7 psi and a Stage Temperature of 60 F.
3. Under the What to Write (OUTSRF) section click the Green Plus Sign to add a new output. Select for the output to be for the
Well. Under Variable Selection choose Well values for all layers at reservoir and surface conditions (LAYER ALL
DOWNHOLE). Repeat this process to add another Well output for the Production split information with compositions (PSPLIT).
4. Click Select button related to Grid Outputs. Select following outputs:
5. Click OK.
37
6. add another Well Output. Choose Select Well/Special Variables under the Variables Selection column. Press the Select button
associated with this output. Scroll down the list under the XWEL output is found. Select this output for the Producer Well and CO2
as a component.
7. Also select the same for the ZWEL output.
8. Press OK on this window and the Simulation Results File Writing window.
9. Now, all sections are green checked and validated.
10. Save the dataset. Click on Validate with GEM and Run it in GEM using 1 cpu.
38
1.sr3, DATA – Producer and PARAMETER – Cumulative Oil SC. Add to this plot the Field History Cumulative Oil Production.
39
4. Repeat Step 3 to add a plot for Injector Bottom Hole Pressure for the Simulation Model and the Laboratory History.
5. Repeat Step 2 to add a plot for the Separator oil mole frac Component CO2 Well Producer (2) produced in the
simulation model. Output is found at Special History in Data Type Menu. On the same plot add the parameter Separator oil mole
frac Component CO2 Well 2 plot from the EXERCISE_1_LABDATA_COMPOSITION.fhf file
40
6. Navigate on the Coreflood_SA tab and select Input and in that General Properties.
7. Click on Import FHF button and select the files EXERCISE_1_LABDATA_COMPOSITION.fhf and
EXERCISE_1_LABDATA_RATES_PRESSURES.fhf from the REQUIRED DATA folder then click Open.
41
9. Click the Insert button and enter Origin Type – WELLS, Origin Name – Injector, Property – Well Bottom-Hole Pressure.
42
11. Using the CMG Launcher copy from the DATA REQUIRED folder the file RelPermMatch_InsertToDataset.cms into the Core
Flood Analysis.cmpd folder that was created under STUDENT SOLUTIONS/SIMULATION/ EXERCISE 2 and 3 folder.
12. Go back to CMOST and navigate in the main menu of CMOST and click Add Existing and select the file
(RelPermMatch_InsertToDataset.cms) previously copied.
13. On the Study Manager, select the Coreflood_SA study icon and click on the Import button.
14. In new window select Import Parameterization option and click OK.
16. Navigate into the Coreflood_SA tab General Properties and click on the cEDIT button to open the *cmm file
.
43
16. Navigate to the Rock-Fluid section. Begin by selecting and deleting all of the values beneath the SWT keyword.
17. Repeat this same process with the values in the SLT (Liquid-Gas) Relative Permeability Table.
17. Repeat this same process with the values in the SLT (Liquid-Gas) Relative Permeability Table.
44
/20. Click on the save icon to save the changes in .cmm file and then close cEDIT.
21. In CMOST Navigate into the Coreflood_SA study and select Input, go to Parameterization in that Parameters and a list of
parameters has been copied from the J-script file.
22. In this Section, remove five samples and enter only two sample for each parameter value.
• Swcon: 0.01, 0.1 (Default Value of 0.2)
• I_Swcrit: 0.05, 0.15 (Default Value of 0.0)
• Swcrit: Formula, No Values (Default Value of 0.2)
• Soirw: 0.25, 0.3 (Default Value of 0.2993)
• I_Sorw: 0.0, 0.1 (Default Value of 0.0)
45
23. Uncheck the boxes of I_Sorg, Sgcrit, Krgcl,Nog,Ng. Save the study by clicking on “Save Current Study”.
26. Rename the objective function to Cumulative_Oil_Prod. Set the Origin Type to Wells and Producer for Origin Name and set
property to Cumulative Oil SC.
27. Add 1 more objective function for Origin name as Injector and set property to Well Bottom Hole Pressure.
47
History Match:
1. Click on Study Manager tab and right click on Coreflood_SA icon and select Copy to New Study. Name the new Study as
Coreflood_HM and check box for Copy and rename cmm then click OK.
9. Change Study Type to History Matching and Set Engine Name to CMG DECE.
10. Change Number of experiments to 50, define Global Objective Function Name to GlobalHMErrror and other as default.
11. Navigate to Objective Function in Results and Analyses and in that Run Progress in that GlobalHMError to see History
Match Progress.
Result:
50
51
52
The simulation model is to be a linear model (1-dimension of flow). The direction of flow is this example is assumed to
be in the I-Direction.
Based on the diagram of the laboratory core (shown above) it can be calculated what the Cross-Sectional flow area
would be through the core:
= DK = 0.108888446 ft.L =
2.86614 ft.
The linear simulation model is to be divided into 50 sub-divisions in the flow direction (I-direction).
Go to Reservoir menu and then select Create grid Cartesian option. On Create Cartesian Grid
windows use the above described dimensions to create a Cartesian grid in Builder:
5. Press OK.
6. On Modes Tools Bar, select Probe Mode option. Then use Specify Property button to define
the following parameters on the General Property Specification windows:
Grid Top (Depth)- 6200 ft (Layer 1)
Grid Thickness- 0.108888446 (Whole Grid)
Porosity- 0.2439 (Whole Grid)
Permeability I- 11.43 md (Whole Grid)
Permeability J- 11.43 md (Whole Grid)
Permeability K- 11.43 md (Whole Grid)
54
7. Navigate to the Rock Compressibility window under the Reservoir Section and input the
following:
Rock Compressibility (CPOR)- 4e-6 1/psi Reference
Pressure for Porosity (PRPOR)- 14.6923 psi (Default)
8. Press OK.
9. Save the model as SIMULATION_EXERCISE_1_BASE.dat.
There will now be an error on the Reservoir Section. This is due to the requirement of defining the initial
components in the model. Defining the initial mole fractions will be done at a future step.
3. Since the PVT was already matched and created previously in WinProp, no further work is required on it at
this time. However, GEM will include a water component by default (which was not included in the WinProp
match). The water needs to have its viscosity slightly altered in order to properly match the temperature and
conditions of the laboratory.
In the Components Section menu select Water Properties to open the associated window. Change the
Viscosity to 0.45 cp. Click Apply and OK.
4. The Solubility of components may be altered through Builder also. In the Components Section menu
select Solubility to open the associated window. Set the and
for every component except CO2 to 0. This will turn solubility off for these
components. Press Apply and OK.
56
5. Navigate to the Rock-Fluid section and open the Rock Types window. In this example, Relative Permeability
curves will be created from analytical Corey Equations based on laboratory- determined end-points.
Start by adding a New Rock Type by clicking on . Then select Tools Generate Tables
using Correlations. In the window which appears input the following values followed by pressing
Apply and OK:
Click Apply and OK on the Rock Types window. The Rock-Fluid section should now be validated with a
green checkmark.
6. Open the Initial Conditions window under its associated section. On the Calculation Methods tab choose
VERTICAL DEPTH_AVE Equilibrium (rather than the default of VERTICAL BLOCK_CENTER). After
selecting this option choose the WATER, OIL (WATER_OIL)- No Free Gas sub-option:
7. Navigate to the Init. Region Parameters tab and input the following values:
Pressure (REFPRES)- 2515 psi
Depth (REFDEPTH)- 6200 ft
Water-Oil Contact (DWOC)- 6300 ft (core is in the oil zone)
57
8. Also input the initial Mole Fractions of the oil composition. These values should be the same as those
previously observed in the WinProp exercises (these values may be found in the GEM output file from
WinProp, WINPROP_EXERCISE_2_SIMULATOR_OUTPUT.gem:
Press Apply and OK. The Initial Conditions section should now be properly validated. The Reservoir
Section should now also have a green validation checkmark.
9. In the Numerical Controls section open the associated window and input the following values:
Maximum Time Step Size (DTMAX)- 0.005 day
Minimum Time Step Size (DTMIN)- 1e-005 day
First Time Step Size after Well Change (DTWELL)- 1e-005 day
Maximum Tolerance for Any Equation (MAXRES)- TIGHT
58
OPERATE BHW reservoir Water Rate MAX 0.00150956 bbl/day (10 cm3/hr)
Click on OK and repeat the previous steps to Add another New Well.Create a
Name- Producer
Type- PRODUCER
OPERATE BHP Bottom Hole Pressure MIN 2515 psi CONT REPEAT
2. Perforations still need to be defined for the wells. In the Wells & Recurrent Menu open the Well
Completions (PERF) window. For the Injector well on the General tab change the Well Index Type to
SLIMTUBE Slim Tube Simulation. Also change the Radius to 0.01 ft and the Direction to I Axis. Press
Apply.
On the Perforations tab add a new Perforation by clicking the button to Insert after selected node. Type in
the user block address 1 1 1 to place the perforation in the first gridblock. Also input a value of 1 in the Well
index WI column. Press Apply.
60
3. Repeat Step 2 but for the Producer well. The Perforation should be placed at the other end of the core (UBA
50 1 1). Press Apply and OK to close the window. All section should now be properly validated.
4. The approach taken in the lab now needs to be applied in the simulation model. This approach was based on
the following scheme:
Water Injection for 3.00 Pore Volumes
6. Repeat the previous steps to add two new dates, 3.03 days and 4.906 days. Close the window.
61
Navigate to the Injected Fluid tab at the same date and change the Injected Fluid to Solvent. Input 1 for
the Mole Fraction of the CO2 Component. Press Apply.
8. For the date 3.030 change the Constraint from BHG Reservoir Gas Rate back to BHW Reservoir Water
Rate (with a MAX value of 0.00150956 bbl/day) click on Apply and change the Injected Fluid back to
Water.
10. Under the Well & Recurrent Section open Separators. This allows the user to input a separation process
for fluid movement from the Reservoir to Surface Conditions for output purposes.
Select the Short Form option under the Separator Format. Enter a Stage Pressure of 14.7 psi and a
Stage Temperature of 60 F.
Click on the button to Edit Wells and select the Producer well. Press OK (this relates the defined Separator to
the Producer). Click Apply and OK on the Separator window.
The Default condition for surface streams is the aforementioned Pressure and Temperature. As such, in this
exercise if the Separator is neglected the result will be the same. However, in some situations a separator may
be required for properly determining the surface mole fractions.
11. Lastly, navigate to the I/O Control Section. While there are a number of default outputs they will
generally not include specific data which may be necessary in certain cases.
Open the Simulation Results Output window (this controls information being output for Results IMRF, SR3
or IMRF and SR3 files). Select SR3 as Output Type.
Begin by changing the output frequency When to Write (WSRF) for the Grid to a Specified
Frequency of 1 (implying values will be output every timestep).
Under the What to Write (OUTSRF) section click the Green Plus Sign to add a new output. Selectfor the
output to be for the Well. Under Variable Selection choose Well values for all layers at
63
reservoir and surface conditions (LAYER ALL DOWNHOLE). Repeat this process to add another Well
output for the Production split information with compositions (PSPLIT).
Click the Select button related to the Grid Outputs (top line of the OUTSRF section). This will open a
window which can be sorted by Keyword or Variable Description. Sort by Keyword and select the following
outputs:
Variable Description
Water saturation
Gas viscosity
Water viscosity
Z 'C08toC12'
Z 'C21toC30'
12. Click OK. Finally add another Well Output. Choose Select Well/Special Variables under the
Variables Selection column. Press the Select button associated with this output. Scroll down the
64
list under the XWEL output is found. Select this output for the Producer Well and CO2 as a
component. Also select the same for the ZWEL output.
This output may be copied for the other components if desired by choosing Insert and Copy a Row under the
Insert button at the top of the window.
13. Press OK on this window and the Simulation Results File Writing window. Save the dataset and
Run it in GEM using 1 cpu.
1. In Results navigate to the Data Sources under Input and select Add Files. In the Required Data
folder select the Field History Files (FHF) named: EXERCISE_1_LABDATA_RATES_PRESSURES.fhf
EXERCISE_1_LABDATA_COMPOSITION.fhf
(both may be selected at the same time by holding Shift or Control when selecting).
65
2. Proceed to make a graph for the Cumulative Oil Production (at Standard Conditions, SC) for the simulation
model under Plots by clicking on Time Series and select from Curve Selector, DATA TYPE Wells, DATA
SOURCE SIMULATION_EXERCISE_1_BASE.sr3, DATA Producer and PARAMETER Cumulative Oil
SC. Add to this plot the Field History Cumulative Oil Production.
3. Repeat Step 2 to add a plot for Injector Bottom-Hole Pressure for the Simulation Model and the
Laboratory History.
4. Repeat Step 2 to add a plot for the Separator oil mole frac Component CO2 Well Producer (2) produced in
the simulation model. This output can be found under Special History in the Data Type menu.
On the same plot add the parameter Separator oil mole frac Component CO2 Well 2 plot from the
EXERCISE_1_LABDATA_COMPOSITION.fhf file.
66
As can be observed by these comparisons, the simulation model does not match the laboratory experiment with regards
to cumulative oil, pressure, or CO2 breakthrough. Parameters in the Simulation model will therefore need to be altered
in order to match the behavior observed in the laboratory.
Before History Matching an important question, which should first be asked is:
The answer to this is a function of Numerical Dispersion (error caused by the numerical solution). The finer the
grids are then the lower the numerical dispersion may be but the longer the run time will become. In a purely
mathematical approach, extremely small grid blocks would be used to obtain the most accurate solution. However,
this approach would lead to unacceptable runtimes. Generally, a sensitivity analysis will need to be done in order to
determine the optimum grid size to reduce dispersion while allowing for an appropriate runtime. A fine grid is ran
which is considered
sizes compared to it. The grid which offers similar results within an acceptable amount of error while reducing
runtime is the grid which is used.
This work has been previously done to save time. The following plot shows the results of this work. As can be
observed, the dataset with 50 grid blocks in the I-Direction gave results which were of minimal error compared to
the 80 grid block model while taking 37% less time to run.
67
68
The supplied data for reservoir oil contains a description of associated single carbon numbers and their fractions,
saturation pressure test results, separator results, constant composition expansion test results, differential liberation
test results, and swelling test results. All of these can be used for tuning the EOS to match the fluid behavior.
3. Navigate to the Component Selection/Properties form and input 186 as Default Reservoir
4. Open the Excel file named FLUID_CHARACTERIZATION.xlsx. This file contains all relevant
information necessary for characterizing the reservoir fluid. Navigate to the first Tab in this file called
Oil Composition.
In here will be a list of all components which make up the reservoir fluid. The lighter components can be
added directly into the fluid model in WinProp via Library components. These are represented in the top‐
right box (see figure below).
69
CO2 0.0118299
N2 0.001609
C1 0.1154103
C2 0.0600579
C3 0.0647635
i-C4 0.0221657
n-C4 0.0475510
i-C5 0.0328151
n-C5 0.0370254
C6 0.0651350
5. On the Library Components window in WinProp select the components displayed in this tab in the
upper‐right box (labeled as the input for Step 6). Use of the Shift or Ctrl keys can assist in selecting
multiple components at once.
While the ordering of these components may not matter at the moment it is highly recommended that the
order shown in the Excel file be the order of selection. This will allow direct copying of Mole Fractions in
future steps.
Click OK to exit back to the Component Selection form. The components should now be displayed with
their associated properties. Click the button to Apply Change (located at the bottom of the form)
and click OK.
6. Navigate to the Composition form and copy the Mole Fractions from the Excel file into the Primary
column (Primary typically represents the native reservoir fluid while Secondary will typically
represent an injected fluid):
70
Heavy fraction is a mixture of several components. In this exercise an extended composition is available for the
heavy fraction (from C7 until C30+) with their molecular weight and specific gravity. Given that the limited
information is available, internal WinProp correlations will be used to calculate component properties such as
critical temperature, critical pressure, etc.
Therefore, to add the remaining components the Plus Fraction Splitting option will be used. This is a quick way
of adding all of the remaining components without needing to add a custom component one at a time for each.
7. Click on the Composition Form in the Tree View. Right‐Click on this and choose the option to Add
After Characterization Plus Fraction Splitting (or use the menu bar at the top of WinProp to add
it).
71
8. In the Plus Fraction Splitting form on the General Tab change the following options:
• Distribution Function Type: Gamma
• First Single Carbon Number in Plus Fraction: 7
• Number of Pseudocomponents: No Lumping
9. Navigate to the Sample 1 Tab. Copy the Mole Fraction, Molecular Weight and Specific Gravity
for C7‐C30+ from the Excel file and Paste into this table.
10. Save the model as WINPROP_EXERCISE_1_PLUSFRACTION.dat. After saving Run the model by
Running the model will use the Plus Fraction Splitting to determine the components of the extended analysis
and their associated properties from correlations. These can be viewed in the Simulation Results section of
the Tree View in the Simulation Output file.
73
Once satisfied, under the File Menu dropdown choose the option to Update Component Properties. This will add
the results of the previous simulation run (in this case all of the newly defined components) into the model. Click Yes
on the popup to overwrite the information in the Component Properties and Composition windows. The new
components should now be added (from C07 – C30+).
2. Delete the Plus Fraction Splitting form by Right‐Clicking on it in the tree view and selecting
Cut/Delete (if you do not follow this action by pasting it back in then it will be considered deleted).
3. Navigate to the Component Selection/Properties form and change the volume shift option to Linear
Temperature Dependent Volume Shift. Since the V Shift Coef1 column has been filled out after the plus
fraction splitting, the option should be changed to allow the temperature dependence.
4. Right‐Click on the Composition form and choose the option to Add After Calculations Two‐Phase
Envelope. This will allow visualization of the phase behavior of the reservoir fluid before being matched
to laboratory data. Nothing needs to be altered in this form; the defaults will generally cover the necessary
ranges of pressures and temperatures.
5. Right‐Click on the Two‐Phase Envelope form and select Add After ‐> Calculations ‐>
Saturation Pressure. In this form input the following information:
• Temperature (Deg F): 186
• Saturation Pressure Estimate (psia) *: 500
• Experimental Saturation Pressure (psia): 740
75
*Note‐ As long as the box is checked to Improve Saturation Pressure Estimate, then WinProp will
internally iterate to what it believes is the Saturation Pressure using the 500 psia as a starting point.
8. In the Results Section navigate to the Simulation Output. This file contains the results of any calculations
done by WinProp. In this case, the majority of the file consists of Flash Calculations which are done to
construct the aforementioned 2‐Phase Envelope. This file is typically arranged in the order that the
calculations are defined in the Tree View. As such, scroll to the bottom of the file to view the results of the
Saturation Pressure Calculation:
76
It can be observed that the calculated Saturation Pressure is 732.711 psia. This is close to the 740 psia;
however, for a property such as Saturation Pressure there should be a near‐exact match.
Depending on the Experimental data that is attempting to be matched, different EOS parameters may have an effect on
the behavior while others may not. For example, in order to match Density measurements it is commonly practiced
that Volume Shift of a component be altered. The Volume Shift changes density without changing the multi‐ phase
behavior of the fluid.
In this situation, in order to match the Saturation Pressure (otherwise referred to as Bubble Point, Pb) then the
Critical Pressure and Critical Temperature as well as Interaction Coefficients can be altered. Specifically, the values
with the most uncertainty should be the ones that are changed. In this case, those belonging to the C30+ component
fit this description (these properties are known for pure components, such as CO2 or Methane, and as such should be
avoided being changed if possible).
9. Add a Regression Form to the dataset by Right‐Clicking on Saturation Pressure and choosing Add After
Characterization Start Regression. Follow this by Cutting the Saturation Pressure form. Right‐
Click on the Regression Parameters form and choose the option to Paste into Reg‐Block. The Tree View
should appear as follows:
77
10. Since the Saturation Pressure form has already been defined and the experimental data added this form can
be assumed complete. In the Regression Parameters form the parameters which are going to be regressed
on need to be selected. In this instance select the following parameters by clicking on their respective boxes
in the Component Properties Tab:
• C30+: Pc (atm)
• C30+: Tc (K)
11. Navigate to the Interaction Coefficients tab. Make sure the radial button is set to Select from list then
click on the Interaction Coefficient Exponent, HcIntCoefExp – 1 (1.2).
12. Since component properties may be altered the two‐phase relationship might change. As such, add another
2‐Phase Envelope form after the Regression (not in it) to view the Envelope after regressing. Do this by
Right‐Clicking on Regression Parameters in the tree view and selecting Add After Calculations 2‐
Phase Envelope
13. Save the model as WINPROP_EXERCISE_1_NOLUMP_2PHASE_SATPRESS_REGRESS.dat.
78
Viewing the 2‐Phase Envelope results from before and after the regression will show that there was no alteration. To
investigate why this may be the results of the regression need to be further examined.
14. Navigate to the Simulation Output under the Simulation Results section of the tree view. Use the search
feature at the top to search for “Regression Results”. This is done due to the large number of calculation
for the 2‐phase envelopes on each side of the regression making it difficult to find it.
15. Regression results are broken into 2‐pieces. The top part shows the parameters which were being altered.
In this section each parameter is displayed followed by its bounds of investigation (bounds are required to
aid in narrowing to a possible solution), followed by the initial value being used and the final value after
regression. In some situations it may be observed that the Final Value equals that of the Lower or Upper
Bounds. In these cases, if the match is not sufficient then it may be necessary to move the bounds to allow
for a larger range of possible values to be explored.
In this case, the Pc and Tc values were not changed. Instead, the Interaction Coefficient (denoted by the
variable name PVC3) was all that was required to find a suitable solution.
16. The lower section displays any experimental data which is being matched. A Before Regression, After
Regression, overall Error Reduction and Final Error are shown for each experimental data point.
Please note that the Error After column is in decimal form. This means that if a value of 3E‐05 is shown
this refers to an error of 3E‐03% (or 0.003% error).
79
In this example, the Final Error after regression was 0.0032%. This is an acceptable error for this
parameter. Being of an acceptable error coupled with the final values for the regression parameters not hitting
their bounds implies that this can be considered a valid match.
17. After a valid match has been identified the model must be updated in order to apply the changes to the
parameters which were regressed. In this instance, the only parameter which was altered for the match
was the Interaction Coefficient.
To update, after running navigate to File Update Component Properties. After Updating, the
Interaction Coefficient will now be show the regressed value. Save the model as
WINPROP_EXERCISE_1_NOLUMP_2PHASE_SATPRESS_MATCHED.dat.
Please note that the model cannot be saved prior to updating, as in order to update WinProp looks for the
output with the same name as the dataset. If the model has been renamed after running WinProp will not be
able to update it without running it again.
Lumping schemes should be based on the process. For example, in a heavy bitumen reservoir only 2 pseudo‐
components may be required (a dead oil and a solution gas) since distillation is not typically necessary to be
modeled. In lighter reservoirs, though (especially with coupled EOR processes), it is likely that more components
may be necessary for modelling the intermediate phase transitions which occur. This is especially true with processes
containing CO2 injection as the CO2 may vaporize some of the lighter ends while becoming miscible with heavier
components.
As such, navigate back to the Component Lumping form and choose the second option to manually define
the lumping scheme.
80
5. Manual Component Lumping works by grouping all of the components with similar “Scheme” numbers in
the list. The numbering is ordered from smallest to largest; therefore, it is important to organize
components such that one’s which should be lumped are next to each other. If components need to be
reorganized this can be done in the Component Selection/Properties form.
For this exercise there is no need to re‐organize the components. Instead define the lumped components by
creating the following scheme:
6. Save the model and Run it again. It can now be observed in the Simulation Output the new lumping
scheme. Double‐check the correct scheme has been applied. Also observe the before and after lumping 2‐
Phase Envelopes in the Results section.
As can be observed, the 2‐Phase Envelope has shifted after lumping. Generally, in order to preserve phase
behavior during lumping the lumping scheme can be re‐done with more pseudo‐ components. In this case 7
components (proposed grouping) will be used but it is necessary to re‐tune the EOS for the lumped
components.
8. Include the Saturation Pressure form again (leave the Regression Parameters still Deactivated). Save and
Run the Model. Compare the calculated Saturation Pressure in the Post‐ Lumped scheme to the
Experimental value of 740 psi.
Analysis of the results will show that an acceptable match was found without the need for further changes.
Comparison of the 2‐Phase Envelopes before and after Regression will show that the envelope has again been
shifted. Comparison of the last envelope to the one prior to lumping will show an acceptable match (in particular
note the location of the critical point on each). Further regression with other data may improve this match.
84
WINPROP_EXERCISE_1_LUMPED_SATPRESS_MATCHED.dat.
1. After the second Two‐Phase Envelope form add a Separator Test (using the technique previously described
for “Add after…,” it will be located under Lab).
As can be observed, work needs to be done in matching the GOR and FVF. The API Gravity may be able to
become a little better also.
5. To improve on this match the Separator Test will be regressed just like the Saturation Pressure was.
Right‐Click on Separator and select Cut/Delete. Right‐Click on the Saturation Pressure form within
the Regression block and select Paste After. The Separator should now be in the Regression. The
experimental data has already been added in Step 2.
6. Since some of the parameters chosen to match the Separator test may also affect the Saturation Pressure,
both forms must be included in the regression. As such, to preserve the match to the Saturation Pressure
change the Weight for the Saturation Pressure to 500 (12.5 times greater weighting that the GOR) and
change the Weight for Separator as following:
7. In the Component Properties tab (under Regression Parameters), select the following
parameters:
• Pc for the bottom 5 pseudo‐components (i.e. from C2HtoNC4 to C20toC30).
• Tc for the bottom 5 pseudo‐components (i.e. from C2HtoNC4 to C20toC30)
• Volume Shift for all of the components except CO2
• Molecular Weight for the heaviest component (C20toC30) (This is done since this pseudo‐
component includes the C30+ pseudo‐component and as such may contain some intrinsic
uncertainty as to the overall molecular weight and proportionality of the heaviest hydrocarbons.)
A total of 17 Parameters should be selected (make sure interaction coefficient parameter is not selected,
HcIntCoefExp-1).
87
8. To make it easier to find the Regression results remove the last Two‐Phase Envelope. This can be done by
Right‐Clicking on the Two‐Phase Envelope form after the Regression block and selecting Exclude.
This will gray‐out the form.
Results from changing these will show a good improvement and are acceptable.
11. Navigate to File Update Component Properties in order to update the parameters with the values
determined through the Regression.
With the Saturation Pressure and Separator Test Experiments considered matched the other experimental
data can now be added. It is generally recommended to match in this described step‐ wise process, as a
previous match may be able to predict another experiment, such as Diff Lib or CCE in this example.
13. Begin by adding a CCE Experiment into the Regression after the Separator.
Fill in the form by copying/pasting the data columns from the previously mentioned Excel file tab and
specify temperature and pressure as shown below.
89
14. In a similar fashion add a Diff Lib Experiment after the CCE Experiment in the Regression, specify
temperature and fill‐in its data from the Excel file (note that in this form there are 2 tabs that require
data):
90
The box labeled Copy Main Table Contents may be used to fill‐in the top portion of this table but should
be verified by comparison to the Excel file. The bottom value for the Residual Oil Specific Gravity at std
Conditions will still need to be added.
15. As with the previous two experiments, also add a Swelling Experiment after the Dif Lib and fill‐in its data
as per the Excel file:
91
16. Swelling Experiments require the definition of an injected gas that is used to swell the oil. To define this
injection gas, navigate to the Composition form and Copy/Paste the Composition displayed in the Excel
File in the Swelling Gas Composition tab into the Secondary column (the Secondary column is used for a
stream being added to the native fluid, e.g. a gas being injected into a reservoir).
The slope difference in the relative volume curve makes the compressibility values different. This creates problems
matching the production and pressure history of the single-phase expansion stage. In the case of this example there
are 1775 psi between the initial pressure and the bubble point pressure therefore it is essential to keep the relative
volume curve match at pressures above bubble point as seen above.
Most of the values of the PVT studies are calculated through the EOS so very often it is not possible to obtain a
good match simultaneously for all the variables. Hence, according to the type of study for which the tuned PVT will
be used for it must be decided which experimental values will be prioritized in the matching process. In this case, we
will prioritize a better match of the relative volume curve from the CCE and the results of the GOR from separator
and Swelling test will be analyzed.
The results will show overall acceptable correlation to all of the laboratory data being matched. In particular, the
Saturation Pressure, Swelling Test, Relative Oil Volume, and GOR (Separator) which are the most important to
match in characterizing of an oil which is to be evaluated for CO2 EOR. Matching of the viscosity vs. pressure curve
will be made next.
93
19. Update the Component Properties and Save the model as:
WINPROP_EXERCISE_1_ALLEXPERIMENTAL_MATCHED.dat
1. Navigate to the Differential Liberation form. Under Pressure Levels tab make the Weights for
every column 0 except for Oil Viscosity. Increase the value to 10.
2. Copy and Paste the Viscosity found in the Excel file (under the OIL CHARAC
VISCOSITY tab) into these columns.
3. Navigate to the Regression Parameters window and Uncheck all of the Regression Parameters. To
verify everything is unchecked make sure the Number of regression parameters is shown as 0.
94
4. In the Viscosity Parameters tab check all of the parameters for the Jossi‐Stiel‐ Thodos (JST) Viscosity
Correlation. This correlation is a function of Critical Volume. As such it may be necessary to regress the
Critical Volume through this tab to achieve a match. If necessary, this will be done at a future step.
If a match is determined to be suboptimal then the Critical Volumes of the components may be added to the
regression. In this particular case, adding the critical volumes into the regression slightly improves the viscosity
match.
6. In the Viscosity Parameters form check the boxes to enable Critical Volume Regression for the
following parameters:
95
7. Once an acceptable match is found in Step 5, Update the Component Properties and Save the model as
WINPROP_EXERCISE_1_VISCOSITY_MATCHED.dat
96
AIM: To understand the workflow of Geolog software and carry out Geolog Deterministic (Determin) and GeologProbabilistic
(Multimin) Analyses.
I. Deterministic Method
Pre Calc
• Borehole temperature and pressure profiles
R R Tsample 21.5 0
fluidT2 fluidSample
C
T2 21.5
3.562 log R75 0.0123
x
0.955
Salinity ppm @75 10x
Archie’s Equation n
Sw
t = P*v
find v, knowing t, P - “Multimin”
PROCEDURE:
1. Open the GEOLOG software.
Note-:First depth track will come then by right click select this chronology to get log graph paper Right click—insert-
insert wireline
8. To get value of log in this graph paper do double right click on upper blank page of graph paper
Note: By doing this right side(below) of option will open and by providing the detail gamma ray value wiil come inlog
paper(left side below)
102
9. By following same 7 number procedure import other log details such as density,newtron,caliper,resistivity log.
10. Now using histogram find the value of gr max(shale)and gr min(sand) value.
11. Put above value In below table opened by selecting determin option and then below right side result will comewhich is
shale volume.
103
12. Again from deterministic option,open the below table to calculate porosity using density log
104
13. Again from deterministic option,open the below table to calculate water saturation using resistivity log
105
14. From pay summary select pay sensitivity and pay summary option to get a reservior zone
106
In this exercise, polymer injection will be performed using the black oil simulator, IMEX, and the options available for polymer
injection will be explained. As a final point, an optimization of the polymer injection strategy will be carried out using CMOST.
PROCEDURE:
1. Go to the Required Data / IMEX folder and open the Base Model_Prediction.dat model in BUILDER
version 2019.23 onwards and familiarize yourself with the model.
2. Go to the Components section and click on Process Wizard…
3. In step 1, select Polymer Injection and click Next.
5. In step 3, the information related to the viscosity of the polymer based on its concentration or its shear rate
/velocity is required. Initially, in this exercise we will not include the effects of the shear rate or velocity andwe will
leave the viscosity data as a function of polymer concentration as suggested by the program. Be
161
107
careful to leave the Create New PVT structure for polymer option enabled to allow fluid model creation inIMEX.
Click on Next.
7. Go to Tools / Polygon Manager, you will notice that there is an existing polygon called Submodelo.
108
8. Notice that there is a Sector defined with the name Submodelo as well. Save the file as FullField.dat and close
Builder.
9. Open the model in cEdit. Search the keyword ‘MODEL POLY’, copy and paste the below flux boundary keywords
right before it.
10. Save the data file and run the model, it should generate “FullField.flxb” file. To save time this file is provided in
Required data folder.
11. Open ‘FullField.dat’ in cEdit and make the below modifications to the flux boundary keywords, save the file as
Submodel.dat and run the model.
12. Open the files FullField.sr3 and submodel.sr3 in RESULTS and compare the results for the sub model sector, in the
lower graph you can see the cumulative oil production for the sub model sector for both files and the pressure of the
sector, note that the results are identical, therefore, the sub model can be used to make production forecasts without
the need for further match.
109
13. 3D view of the model shows that the rest of the model no longer appears in submodel.sr3 and only thesector used
is visible.
In this section, the sub model will be used to make a water injection forecast strategy that will be compared topolymer
injection in later steps.
14. Define the new well with the name Injector, of type INJECTOR UNWEIGHT, on the date 2021/01/01, asshown
below:
110
15. On the Constraints tab, check the Constraint definition box and add an operational control of type OPERATEMAX
STW 1000 bbl / day.
16. On the Injected Fluid tab, make sure you are injecting the WATER phase.
111
17. Go to Well / Well events and using the filter at the top, select the injection wells. Select the event created ondate 2021-
01-01 from the Injector well (Constraints and injected fluid) and go to Tools / Copy events using filter.
19. In the Dates tab find the date 2021-01-01 and enable the “Create new dates for selected wells if they do notexist”
option. Click the Search & Add button and if everything is correct click OK.
20. To include perforations, go to Well / Well Completions (PERF). You must add a drilling event date by clicking the
arrow button at the top. Selecting the option Completion - Add New. Select the starting date of the well (01/01/2021).
113
In the Perforations tab add a new row with the button. Enter the location of the well in cells 31 98 1:23 and
press ENTER. Click Apply and OK.
Normally, polymer injection is done in slugs, alternated with water injection. In this case, we will use the Triggersoption,
which executes an action if a specified condition is met. We will use the time from the start of the trigger definition as a
condition to alter the polymer and water injection periods through the concentration of the injectedfluid. Go to Wells &
Recurrent / Trigger New, the trigger name is Polymer_ Batch1, the definition date is 2021- 01-01 and it will be applied
when the Elapsed (time) reaches a TRELTD: Time since the trigger definition (time from the start of the trigger) of 30
days. Once this condition is met, the polymer concentration is changed to zeroto inject 100% water, this is done by adding
the following keywords under Action:
25. Click apply and Ok. Now expand the trigger then right click and select New Child.
26. The name of the trigger is Water-Batch, it will be applied when the time since the activation of the trigger reaches to
365 days. Once this condition is met, the action will be taken to change the polymer concentration to 0.264799 lb / bbl to
start the injection of the second polymer slug, this is done by adding the following keywords:
116
27. Repeat steps 9 and 10 to start the second injection of 100% water within 30 days.
117
28. Add all the injectors into trigger block via Builder by adding new child or via text.
END_TRIGGER
END_TRIGGER
END_TRIGGER
30. Save the model as Polymer_Injection.dat and run the model in IMEX.
31. Open RESULTS and compare the case of water injection Vs polymer injection.
Note that injection of 2 polymer slugs increases oil production compared to continuous injection of water.
118
32. Open the case Polymer_Injection.dat in Builder. Go to Components / Process Wizard and in step 2 enablepolymer
adsorption on rock. Click on Next.
33. In step 3 enable Create new PVT structure for polymer to rewrite the information related to the polymer.
34. Step 4 is related to the adsorption of the polymer on the rock. Copy the data shown in the following image:
IMEX 2019.23 and higher provides a simplified method for modeling polymer degradation based on a pseudo-reaction and
assuming that water is the only product of this reaction.
38. Open Polymer_Injection_Adsorption.dat case in Builder and go to Components / Process Wizard, in step2 select
Polymer quantity decreases with time and assign a half-life time of 45 days. Click Next and Finish.
39. Save the model as Polymer_Injection_Degradation.dat and run the model in IMEX.
40. Open RESULTS and compare with the previous cases.
120
41. Open the model Polymer_Injection_Adsorption.dat in Builder and go to Components / Process Wizard. Go to step 3
and check “Create new PVT structure polymer” box, on the Select option for velocity / shear effects on polymer
viscosity tab select Function of shear rate. Click Next and then Finish.
42. Save the model as Polymer_Injection_Shear.dat and run the model in IMEX.
43. Open RESULTS and compare the case with the previous models.
121
Exercise 8.6. Polymer Injection Including shear rate/ velocity dependence and Sor
reduction
Some sources suggest that polymer injection can alter the capillary number enough to have a reduction in residual oil. Sor
reduction is performed through interpolation of relative permeability curves, in which the interpolation is based on the
concentration of the polymer in lb / bbl.
44. Open the model Polymer_Injection_Shear.dat in Builder and go to Components / Process Wizard. In step2 check
the SOR reduction due to polymer box. Click on Next.
47. In step 3 select the three rock types in the model and click Next. Until you reach the Finish button.
45. Go to Rock-Fluid / Diagnostic Plots and view the created interpolation curves.
122
46. Save the model as Polymer_Injection_Shear_SOR.dat and run the model in IMEX.
47. Open RESULTS and compare the case with the previous models.
123
Exercise 1.7. Polymer Injection Including effect of shear rate / velocity and salinityeffect on
polymer viscosity
The purpose of this section is to include the effect of the shear rate or velocity and salinity in the viscosity of thepolymer
solution.
48. Open the Polymer_Injection.dat model in Builder and go to Components / Process Wizard and check the box
Polymer viscosity is a function of Salinity and assign an initial salt concentration in the reservoir of 10000ppm. Click
on Next.
49. In step 6 sort the events by date and select the ones belonging to 2020 -01-01
124
50. Save the model and close Builder. Open the data file in CEdit and search for TRIGGER. Replace INCOMPWATER
0.0 with INCOMP WATER 0.0 1.0.
51. It is not possible to run the effect of salinity with the flow sector because the full field model does not containsalinity
information at initial condition. Disable flux boundary input in cEdit.
52. Save the model as Polymer_Injection_Salinity.dat and run the model in IMEX.
53. Open RESULTS and compare the case with the previous models.
125
CMOST AI works in conjunction with CMG -IMEX, GEM, and STARS reservoir simulators to
perform tasks such as sensitivity analysis, history match, optimization, and uncertainty analysis.
Creating a Project
126
A CMOST project consists of a group of studies, for example, sensitivity analysis, history
match, optimization, uncertainty analysis, or a user-defined study, that are performed for a
simulation model or models.
In this section
54. Open Launcher and to start CMOST, double-click the icon . A CMOST opening screen will appear
while the application loads, then the initial Start Page will be displayed.
127
128
Creating a Study
A study contains all the information as well as the results of a particular task. A study is defined bythe
configuration of:
Configurations can be copied from one study to another, as long as they are within the sameproject. A
study is made up of experiments. Each experiment is defined by the set of input parameters and the
target output functions.
Fundamental Data
The graphs that the user would like to visualize based on the simulation results are
defined in the fundamental data section. Frequently, most of the simulation results files
are removed after being analyzed by CMOST. Fundamental data stores some of the
information from the simulation results so that they can be reviewed, even after the
original files have been removed.
Original Time Series: Information obtained directly from the simulator's SR3 files.
User-Defined Time Series: Information estimated by the user from the data available
in the simulator's SR3 files.
Property vs. Distance Series: Data obtained from SR3 file and compared with data
from a well log file.
In this section
We will define the original time series that we want to visualize in the study
In this particular case, we are interested in observing the cumulative oil production, water and gas in the sectorcalled
Submodel, as well as the cumulative injection of water and mass of injected polymer.
64. Go to the Fundamental Data - Original Time Series section and add the following output vectors to store usingthe Insert
button located in the upper right:
Parameterization
In the parameterization section we can define the parameters of the simulation model
that we want to be evaluated, in addition to defining strong constraints and pre -
simulation commands, when necessary.
To evaluate the parameters, they must have been previously defined in the master or
CMOST file. The master file is aversion of the base file (.dat), which is modified to enter
the instructions that tell CMOST where to replace the input parameter values.
CMOST instructions can be entered in the master file
Using cEdit
Using Builder
Manually, using a text editor
In this section
cEDIT is a tool for viewing and editing data files (.dat), CMOST master files (.cmm), as well as other
compatible formats (i.e. .inc, .out, .log). The main advantage of cEDIT over other text editors is the
automatic processing of the data as it is loaded. With this functionality,
131
cEDIT automatically hides large sections of data and presents them in a single line that shows a
preview of the hidden content. This facilitates navigation in the file and improves access to the
required information, in addition to allowing easier and more convenient editing.
Of the parameters selected to evaluate in the optimization, the following lists will be defined with the help ofcEDIT:
66. Search for the keyword TRIGGER and select the number 30 corresponding to the duration of the polymer slugs.
Right click and select Create Parameter, name it polymer_slug_time. Click on OK. This will make the polymer slug
duration a CMOST variable.
132
67. Now select 365 corresponding to the water injection time. And add a CMOST variable name it
water_bache_time. Copy and paste the CMOST statement into the second trigger.
68. Select the polymer concentration 0.264799 and add a CMOST
variable, name it Polymer_Concentration
69. Go to the “Injector” well perforations and select the location at I ( 31) and add a CMOST variable, name it
Location_I.
70. Select the location in J (98) and add a CMST variable, name it Location_J.
133
71. Delete the LAYERXYZ keyword because it will not be valid when the location of the well is changed.
74. In the pop-up window look for the path Root Wells & Recurrent / Wells / Events / Constraints and lookfor the
event Injector: Injector: 2021-01-01, and select the water injection rate (1000) and click on the Add button. In the
upper part, name it Water_Rate.
75. Go to the event Injector: Well-Iny001: 2021-01-01 and in the box STW 1000, from the drop-down list select
Water_Rate. Repeat this step other two injectors, Iny001 and Iny002 at 2021-01-01
135
76. To save the changes made to the master file, click the Save Changes button located at the bottom of thewindow.
Accept the overwrite message that will appear by clicking Yes.
77. Click OK in the two windows that will appear.
78. To view the parameters defined using Builder and cEdit, you need to import them. For that click on theImport ...
button . Now the 6 parameters that will be used in the sensitivity analysis will appear.
79. The parameters are added and next step is to specify source (type) and define the minimum and maximum values
that will be used for each of them. Select Polymer_Concentration and change the Sourceto Continuous Real. In the
Data Range Settings section set Lower Limit to 0 and Upper Limit to 0.264799. Repeat the procedure for each
parameter individually and insert the variable types and limit values accordingto the values shown below:
In CMOST, the same parameter name can be used at various locations in the same
master file. When CMOST is run, it will give the same value at each of those locations.
CMOST parameters are csaesnesitive. No spaces should be inserted between the
CMOST commands. When the parameters are part of a formula, they do not require
the definition of a default value (Example: <cmost> Par1 + Par2 </cmost>).
For the optimization study we are going to us Field NPV that is consists of: Cost of water injection, cost of polymer,cost of
water treatment and crude oil price.
137
80. Go to the Objective Functions / Characteristics, Date Times section and insert a Fixed Date times. Nameit V2021-
01-01 and select 2021-01-01 as a Date Time Value.
81. In the Objective Functions section go to Net Present Values. Insert a new local net present value function,using the
Insert button, name it Cost_Polymer. This variable is associated with the costs related to the purchase of polymer for
injection. Assign MMUSD units to it. The date to bring the net present value is the date v2021-01-01. In the Property
Filter box change to All Properties.
82. Insert a Continuous Cash Flow Terms, using the Insert button located at the bottom. Map them to SECTORS
source type, Submodel source name, Polymer mass SC SCTR property, start time is V2021-01-01, unit value is -
0.75 USD / lb polymer and use 1e-6 as conversion factor, in order to have the NPV in MMUSD.
83. Generate three new local NPV functions with the information shown in the table below.
138
84. Click on Engine Settings and select FieldNPV as a Global Objective Function and set the direction to
Maximize.
85. Go to Simulation Settings and select the scheduler. Enable run on your local computer. Depending on the
computational capacity of your equipment, select the number of simultaneous runs allowed (Max Concurrent Jobs) and the
number of processors to use for each run (Number of CPUs per job). The IMEX version to use could be 2019.10
onwards.
139
Note: Before running CMOST, copy the file “FullField.flxb” into CMOST directory “Optimization.cmsd”