Chapter 08 - Defining A Simulation Case
Chapter 08 - Defining A Simulation Case
Chapter 08 - Defining A Simulation Case
To construct a simulation case within Petrel you use the Define simulation case process
in the Simulation folder of the Processes; this will enable you to pull together alreadydefined models, functions and controls into a case defining the model that will run in this
simulation.
The Define simulation case process will not be available before the necessary objects
have been created. Full or partial cases can be created. When a case is saved or exported,
a brief validation report is created and displayed, describing any missing, incorrect or
inconsistent data within the case.
Simulation case process steps
Defining a simulation case consists of specifying the input properties, then selecting
predefined initial conditions and fluids models, rock physics functions, and development
strategies. You can select the results that the simulation should generate and the type of
simulator. The completed simulation case will appear in the list in the Cases pane.
How to define a simulation case
To add a new simulation case to the list in the Cases pane:
1. In the Processes pane, open Simulation and select Define simulation case. This will
open the Define simulation case dialog.
2. Select Create new case and enter the name for the new simulation case into the
adjacent field.
3. Select the Simulator from the drop-down list.
4. Select the Type of simulation model from drop-down list. If you select Dual Porosity
or Dual Permeability porosity models, then you are prompted for additional properties in
the Grid tab. For most grid properties you can tick the checkbox in the final column on
the Grid tab to define a different property for fractures as opposed to the rock matrix.
5. Select the Grid for the simulation from the drop-down list. This contains all the grids
set up in the Models pane. The initial inputs for the simulation case will be extracted
from the grid information, but you can change these if you want.
Note: The inputs must include permeability on three axes (I, J and K) and porosity.
6. To enter more inputs from an existing model into the Grid tab, add a new blank item at
the appropriate place in the table using the buttons immediately above the table. Open the
model in the Models pane, and then select a 3D grid property, a transmissibility
multiplier, an aquifer or a local grid set. Click the Drop in selected item button. A new
input will be created and if there is a default Keyword this will be shown. If there is no
default, or if you wish to change the current selection, click on the keyword column and
select from the list of permissible Keywords.
Note: You can select the keyword first, but you can then only insert an input that matches
your keyword. If you click on the Multiple drop in the table button, clicking the Drop
in selected item button will fill the rest of the table in the column with objects listed
below the selected object in the Properties folder of the Models pane.
7. In the Functions tab, define your PVT, saturation and other rock physics functions.
You add functions to the left hand list by selecting them from the top drop-down menu,
and then define the functions by dropping in your fluids and rock physics functions into
the right hand table. Only one instance of each function can be added to the list.
a. First select Black Oil fluids model (PVT) in the Functions drop-down menu, to add
Initial Conditions and PVT functions. Check Initialize by equilibration, unless you have
provided the grid properties PRESSURE, SWAT, SGAS, RS or PBUB and RV or PDEW
for initialization by enumeration.
If you have a single fluid and equilibration region in your reservoir, then you can just
drop in the table your Initial condition (or Fluid model if you are not using
equilibration), selected from the Fluids folder in the Input pane.
If you have multiple fluid or equilibration regions then you must check Region index
property and select the grid property from the drop-down list that defines your fluid or
equilibration regions. This will fill the table with a row for each region; you can then drop
in an Initial condition (or Fluid model) to associate with each region.
b. Next, select Drainage relative permeabilities in the Functions drop-down list.
Again, if you have a single rock type region for the whole reservoir, then you can drop in
your Saturation Function, selected from the Rock physics functions folder in the Input
pane.
If you have multiple rock type regions then you must check Region index property and
select the grid property from the drop-down list that defines your rock type regions. This
will fill the table with a row for each region; you can then drop in a Saturation Function
to associate with each region.
c. Similarly, you can define other saturation functions for use when modeling hysteresis
or anisotropy.
d. Select Rock compaction in the Functions drop-down list. Define single or regionally
varying compaction behavior by dropping in Rock compaction functions from the Rock
Physics Functions folder in the Input pane into the table. Check Export as table to
export tabular keywords, otherwise a single rock compressibility value will be exported
for each rock compaction function.
8. In the Strategies tab, add your development strategy or strategies. Add a new blank
item at the appropriate place in the table using the buttons immediately above the table.
Open the Development strategies folder in the Input pane then select the strategy that
you want to add. Click on the Insert button. The new strategy will be added into the
table.
9. In the Results tab, set up the report properties and outputs that will be produced from
the simulation when the case is run.
10. In the Advanced tab, specify the simulator version. If you are using FrontSim, this
tab will also contain setup options for the simulator. Petrel will select default entries for
these, and you must make changes only if you fully understand the consequences. If you
have any doubts, please leave the default selections.
11. Click on Apply to create the new simulation case.
12. Repeat the process to create all your simulation cases.
13. Click on OK to close the dialog.
If you want to check the consistency of the simulation case, click on the Check button.
Note that this will not run the full simulation.
If you want to export the simulation keywords and run the simulation, click on the Run
button. The consistency of the case will be checked before the simulation runs. While the
simulation is running, you can abort the run by clicking on Abort.
If you want to export the keywords without running the simulation, click on the Export
button.
How to set up a Queue Definition for Remote Job Submission
To set up a new Queue Definition for Remote Job Submission of simulation runs:
1. From the menu toolbar, select Tools | System settings This will open the System
settings dialog.
2. In the window that opens, go to the Queue definition tab.
3. Select Add a new queue button to add a new queue definition to Petrel.
4. In the Name field, specify a name for the queue definition. This will be listed in the
drop-down menu in the Advanced tab of the Define simulation case process.
5. In the Server field, specify the server address for the machine where the simulation
should be submitted.
6. In the Remote directory field, enter a remote directory on the server machine to run
the simulation.
7. In the Check every field, enter a time interval in minutes for fetching the simulation
results in the check every field.
8. In the LSF queue field, specify the Load Sharing Facility (LSF) queue for the remote
server machine.
9. In the Comms system field, enter the communication system used for message passing
for parallel runs, if the remote server machine supports parallel runs.
10. In the Hostfile field, specify the hostfile location used on the remote server, if the
remote server machine support parallel runs.
11. The remote server machine will also require that a userid and password be defined, in
order to access the remote server for submitting simulation jobs. This information is only
kept until Petrel exits, and you will need to re-type the userid and password when you rerun Petrel.
12. Click on OK to apply and close the dialog.
simulation case dialog. This can be useful if you have defined parts of the case using the
keyword editor, for example for compositional runs, that the Define simulation case
process does not know about.
There is no pre-validation of the simulator data files if you right-click on the simulation
case and select Simulation Run Only from the Cases pane.
How to stop a running simulation
Either:
1. Right-click on the simulator case in the Cases pane and select Abort Running
Simulation from the context menu.
2. You will get a message box asking you if you want to abort the simulation. Select OK
to abort or Cancel to continue simulation.
Or:
1. In the Processes pane, open Simulation and select the Define simulation case
process. This will open the Define simulation case dialog.
2. Select Edit existing case and choose the simulation case from the drop-down list.
3. To stop the simulation, click on Abort.
How to rename a simulation case
To rename a simulation case:
1. In the Cases pane, open the settings dialog for a simulation case and select the Info
tab.
2. Change the name in the Name field and click on Apply.
For Petrel generated cases (i.e. not imported cases, or those derived from imported cases),
a case rename will immediately change the names of, and any references to, the data files
stored on disk for the simulation.
It is recommended that the project is saved following a case rename.
If the project is not saved following a case rename, then when the project is next loaded,
the simulation will not correctly reference data files on disk (an exclamation mark will be
overlaid on the simulation icon to alert the user to this). The simulation can be renamed
again in this scenario to recover the data set on disk.
How to manipulate simulation case details
1. In the Cases pane double-click on the simulation case to be updated. This will display
the Settings dialog for the case.
2. If you want to change the simulation name, enter the new text into the Name field, in
the Info tab. For more information, see How to rename a simulation case. Note that the
name for a simulation using a specified simulator shows the name of that simulator. You
cannot change that entry.
3. Enter any additional information for the model into the Comments field.
4. You can view the simulation case parameters by clicking on the Definition tab. You
cannot change the parameters in this dialog.
5. Click on Apply to update the fluid model details.
6. Click on OK to close the dialog.
How to open the keyword editor
Either:
1. Right-click on the simulation case, in the Cases pane, for which you want to edit the
keywords.
2. Select the Keyword Editor option from the context menu. This will open the keyword
editor with the selected simulation case ready for editing. For more information refer to
the help for the appropriate simulator keywords.
Or:
1. In the Processes pane, open Simulation and select Define simulation case. This will
open the Define simulation case dialog.
2. Select Edit existing case and choose the simulation case from the drop-down list.
3. Go to the Advanced tab and click on the Keyword Editor button. This will open the
keyword editor with the simulation case deck ready for editing.
How to view messages from the validation and from the simulator
You can view messages generated by the validation when the simulation case is exported,
and from the simulator after the simulation is run. The messages are displayed
automatically, if there are errors to report.
1. Right-click on the simulation case in the Cases pane and select Show simulation
log from the context menu. This displays a spreadsheet showing the messages
generated by the simulator during the run.
To automatically display this spreadsheet at the end of the simulation run, enable Always
show validation and simulation message files on the Results tab of the Define
simulation case process dialog.
How to view a simulator print file
You can view the print file generated by the simulator when the simulation is run. The
print file contains all the messages in the message file, plus additional reports, such as
well flows and fluids in place reports.
1. Right-click on the simulation case, in the Cases pane, and select Show print file
from the context menu. This opens the print file in a text editor.
How to import a Keyword Case into Petrel
To import a keyword case to Petrel:
1. Right-click on the background, in the Cases pane, and select Import (on tree) from
the context menu.
2. In the Import file dialog window select the file format type of the simulation case that
you want to import.
3. Locate the case that you want to import and click on Open.
4. Depending on the file format you choose, you will get an Import window where you
have the option to select whether or not you want to import the grid geometry, any grid
properties, summary files and more.
5. Press on OK to complete the import. If the unit system of the keyword case differs
from the Petrel project you are importing into, you will get an option to either convert the
case or to change the units for your Petrel project. You will also be notified in a message
window of inconsistent keywords or for keywords that Petrel cannot import.
Note that not all data in the file can be imported and the generated case may not be
a valid ECLIPSE case! Keywords that Petrel cannot import or that are irrelevant to
Petrel model will be left in the new case as user keywords. This can affect the export of
the converted case since Petrel will not overwrite user generated keywords. The user will
have to do some work on most converted cases to fix things up. The conversion process
writes a description of what it has converted and what it has not converted to the message
log. Read the validation log carefully after trying to export a converted case!
How to load simulation results
You can load simulation results on simulation cases that have previously been run:
1. Right-click on the simulation case in the Cases pane and select the Load simulation
results from the context menu.
2. This will import the simulation results into the Results pane. From here you can select
the simulation result vectors for the case and plot them in Function windows or export
them as summary data.
How to export summary data
To export summary data from Petrel:
1. In the Results pane right-click on the Dynamic Data folder and select Export from
the context menu.
2. Enter a file name in the Export dialog window for the summary data file.
3. In the Export dynamic result data dialog window select the result vectors and the
simulation cases to export.
4. Click on OK to complete the export.
How to configure custom editor
You can configure a custom editor other than the Notepad program in Windows to view
the simulation case keywords and the simulation print file:
1. For the Windows operating system, declare a new Environment Variable System key
named EDITOR and insert the path to the editor you wishes to use.
2. Click on OK.
Note that Petrel has to be restarted in order to recognize the configuration of the new
editor.
There are five tabs within the dialog, each of which holds information about the
simulation case.
Grid: In this you can set up the grid inputs and the simulator keyword to which each
condition maps.
Functions: In this you can insert fluid models and rock physics functions for the
simulation case.
Strategies: In this you can insert the development strategies for the case.
Results: In this you can select the output requirements for the case.
Advanced: In this you can specify the simulator version; for FrontSim simulations
additional parameters can be set.
At the bottom of the dialog there are seven buttons.
Run: Clicking on this button will run the well simulation and export the simulator
keywords. The keywords will appear on the Cases tab as an option within the simulation
case.
Check: Clicking on this button will check the consistency of the simulation case
selections. It will not run the full simulation.
Abort: Clicking on this button will halt the current operation. It is available only during a
run or check operation.
Export: Clicking on this button will export the simulator keywords without running the
simulation. The keywords will appear on the Cases pane as an option within the
simulation case.
Apply: Clicking on this button will apply the current simulation case settings. The dialog
will remain open so that you can define more cases.
OK: Clicking on this button will apply the simulation case details, and then close the
dialog.
Cancel: Clicking on this button will abandon the current settings and close the dialog.
You can use the buttons above the table to add new inputs at any location in the table, set
the total number of inputs and re-order the inputs.
In order to run a simulation, the I, J, and K permeabilities, net to gross ratio and porosity
must be defined. The other rows have been added for convenience and are not mandatory.
Additional rows will be added as suggestions if alternative Types of simulation to Single
Porosity are selected. Petrel will look at the selected grid and try to assign grid properties
for the mandatory items.
As an alternative to using a property, you can set a constant value over the whole grid.
Uncheck the box next to the blue arrow and type the value into the input column to do
this. Rows without data in the Input column will be ignored if a simulation is exported or
run.
If you change the simulator and there are keywords in the table that are not supported by
the new simulator, simulation type or initialization choice (from the Functions tab), then
these will be colored grey in the table. Invalid rows will generally give an error message
when the case is applied or exported.
Local grids can only be associated with the Local Grid Refinement keyword,
transmissibility multipliers with the Fault Transmissibility Multiplier keyword, and
Aquifers or Aquifer folders with the Aquifer keyword.
Functions tab (Define simulation case)
The Functions tab shows the rock physics and initial fluid conditions for the simulation
case. The functions in your cases are listed on the left hand side.
You add functions to the list by selecting them from the drop-down list at the top. The
functions available in the drop-down list will depend upon the simulator and simulation
type selected. There can only be one function of each type in the list. Functions that have
already been added to the list are grayed out in the list and cannot be selected. If you
change simulator or simulation type, functions that are no longer valid are colored grey in
the list and will give an error when the case is applied or exported.
You can edit functions that have already been added to the simulation case by selecting
them in the list. You can remove functions from the simulation case by selecting them in
the list and then clicking on the Delete selected row(s) in the table button above the list.
The following options are then available for you to define your selected function:
Region index property: Select this checkbox if you want to choose a region index
property so that you can use different fluid data for different regions of the grid. The
region index properties can be any discrete property, such as a segment, a zone number,
facies, and so forth.
Initialize by equilibration: This checkbox only appears when the Black oil fluids
model (PVT) function is selected. You select this checkbox in order to initialize the
reservoir by equilibration. If you unselect this checkbox, then you must have provided the
grid properties PRESSURE, SWAT, SGAS, RS or PBUB and RV or PDEW, in the Grid
tab, in order to do initialization by enumeration.
Export as table: This checkbox only appears when the Rock compaction function is
selected and you have chosen an ECLIPSE simulator. You select this checkbox in order to
export tables of pore volume multiplier as a function of pressure; otherwise, the Rock
compaction function is exported as the single value of rock compressibility at a reference
pressure.
Table: You insert here the appropriate function, for example Saturation Function, when
you are defining Rel Perms, or Initial conditions (or Fluid models if you are initializing
by enumeration) when you are defining Black oil fluids model. A row will be inserted for
each region when you select the property. Click on the appropriate Drop subject here
button to drop each function into the table.
Strategies (Define simulation case)
In the Strategies tab you can insert the development strategies for the case.
You use the buttons above the table to add lines to the table. You can then select a
development strategy from the Input pane and click on the Drop development
strategies here button for a line to drop the strategy into the simulation case. The
development strategies time periods must not overlap.
You can define the segmentation of your wells for simulation by dropping a Well
Segmentation Set into the Well Segmentation Set field above the table.
3D Properties
Line Graphs
Miscellaneous
Simulation logs
Reports
3D Properties (RESTART)
This area defines the grid properties loaded from the simulator, specifically pore-volume,
pressure and saturation. You can enter the maximum number of streamlines available
together with their time of flight. Note that, after running the simulation, you can apply a
settings filter to reduce the number of streamlines.
Line graphs
You can select the time-based production functions that will be placed into a summary
folder for the simulation. All functions are selected by default, but you can deselect any
that you do not need.
Miscellaneous
By default, validation and simulation message files are only displayed if there are errors
to report. You can select an option that will always show these files.
You can choose to try to run a simulation even if Petrel case or export validation fails.
This is of particular use to the user who has used the keyword editor to complete a case
definition outside the Define simulation case process.
You can choose to show the simulation console while the simulation is running, in
which case a Command Console will show during the simulation run.
You can specify that Petrel will ask you to load the results once the simulation run has
ended in case you do not wish to load the results at this time.
You can specify that input bulk data are removed when results are imported. These are
the potentially large OPF/GRID or EGRID files that are input to the simulator. This
option saves disk space. Petrel can easily regenerate these files from the case if they are
required again.
Simulation logs
You can select which simulation logs are created and at what frequency they are output
from the simulation.
Reports
These options define a spreadsheet report that will be generated when the simulation is
run. You can choose the report content, including simulation console messages if
required. You can also set the system to display a prompt for confirmation before the
results are loaded when the simulation is complete.
Advanced tab (Define simulation case)
In the Advanced tab you can:
Specify the simulator version
Open the keyword editor (see Keyword Editor)
Specify the queue in which to execute the simulation, either local or remote. For more
details see Remote Simulation Submission
Specify the export format for the grid data. The choices are:
OPF: This uses the Open Petrel binary Format. This is the most compact format; it
supports all pillar geometry types; the porosity, permeability and NTG data is also written
to the OPF file. This is the default format for all simulators. Note: This format is only
supported by ECLIPSE 100 & 300 from version 2005a.
GRDECL: This uses the ZCORN and COORD keywords. This format only supports
vertical and straight pillars; any curved or listric pillars will be straightened on export,
introducing inconsistency between ECLIPSE/FrontSim and Petrel.
EGRID: This is a binary version of the ZCORN and COORD keywords, so has the same
restrictions on pillar geometry. All cell property data is written as keywords. This format
is not available with FrontSim.
GRID: This binary format gives the X,Y,Z coordinates of each corner of every cell. It can
therefore represent all cell geometries and is supported by earlier versions of ECLIPSE,
but makes very large files. All cell property data is written as keywords. This format is
not available with FrontSim.
If you are using FrontSim, you can also set Pressure solver, Saturation solver and 3 phase
solver parameters. Petrel will select default entries for these, and you must make changes
only if you fully understand the consequences. If you have any doubts, please leave the
default selections.
Keyword Editor
This Keyword Editor allows you to edit keywords and include files that make up the
simulation deck. You can access the keyword editor by pressing the Keyword Editor
button on the Advanced tab or from the context menu on a case in the Cases pane.
The Keyword Editor is split into two trees. On the left hand side you can find the
keywords defined and used in the simulation case. You can display these either by section
or the include file structure by using the radio buttons called Sort by section or Sort by
include files.
The tree on the right hand side displays the keywords that can be inserted into your
simulation case. The list will only show the keywords that can be inserted for the section
you have selected on the left hand side tree, e.g. RUNSPEC, GRID.
You can insert a new keyword into your simulation case by selecting the keyword on the
tree on the right and pressing the Insert button. A text editor will open with the keyword
where you can add the keyword's parameters. By default the editor is set to Microsoft
Notepad. To change editor see How to configure custom editor. To get help on the
mnemonics of a keyword there is a right-click menu option Documentation that will
open the keyword's help manual page.
Clicking on Apply or OK immediately updates the files on disk. The refresh button
cancels any changes made since last pressing Apply or OK.
Petrel will comment keywords and files to indicate who created the keyword.
If Petrel created a keyword it adds the following comment --!!! Program generated
keyword. Remove this comment to prevent Petrel editing or removing this keyword.
This tells Petrel that only Petrel can change or remove this keyword.
Petrel also comments/tags files by adding the following comment to the top of the file
--!!! Program generated file. Any edits to this file will be lost on next export from
Petrel. This indicates that Petrel will overwrite this file and not preserve any changes
made by the user. It is not a good idea to remove this comment from the top of the file.
To show how the keywords are tagged, the keywords are color-coded as follows:
Blue type indicates a Petrel generated keyword and part of a file that can be user-edited.
Black type indicates a keyword that has been edited or inserted by the user and which
Petrel will not overwrite.
Red type is due to file being tagged as Petrel generated. NB Petrel will overwrite the
entire contents of this file, regardless of the tagging of the keywords within the file. Also,
section head keywords are shown in red.
For the keywords on the left hand side of the dialog, selecting User keyword from the
right-click context menu will inform Petrel that the keyword is controlled by the user and
that Petrel cannot overwrite this keyword when exporting the simulation files to the
simulator. Choosing User keyword for a section or an include file sets the entire file to
Petrel generated. It is not recommended to change this tag.
To directly edit a keyword from the left-hand side tree, double-click on the keyword or
select Edit in the right-click context menu.
When an editor is opened on a single keyword and a save is performed in the editor,
Petrel will assume that the keyword has been updated and that the user would like the
next export not to overwrite the changes and, therefore, Petrel will automatically convert
the keyword into a User keyword.
To edit an entire include file, switch to the "Sort by include files" and double-click on the
file name.
To change the order of your keywords, use the up and down arrows at the bottom left of
the Keyword Editor dialog.
Imported simulation case
You import an existing case directly into the Cases pane (see Cases). Imported cases
cannot be edited or viewed directly in the Define simulation case process. However, you
can edit their deck manually using the Keyword Editor, and Export and Run their
simulations from within Petrel.
Converting an imported case to a Petrel case
The Convert to Petrel Case utility reads an imported simulation and converts it into a
Petrel Case. Only simulations imported into the Cases pane can be converted.
Note: A converted case will usually need user correction before it will export or run
successfully. The conversion process is expected to become more complete with
successive versions of Petrel.
To convert an imported Simulation, right-click on the simulation case in the Cases pane
and select Convert to Petrel Case from the context menu.
A new case and simulation are created that are named after the imported simulation case
with "_CONVERTED" appended. A report on how the conversion is progressing is
written to the message log. At the end of this process, you should review, edit and
complete the newly converted simulation using the Define simulation case dialog settings
process and the Keyword Editor. Pay particular attention to removing any duplicated or
inconsistent keywords.
You can visualize and edit the Petrel items, such as grids, properties, fluid models and
saturation functions that have been created from the converted keywords.
The conversion process only converts a subset of the keywords in the deck into Petrel
items. The keywords not converted are reported in the message log and remain in the
converted simulation as user keywords.
The main classes of keywords that are converted are:
Corner point geometry keywords ZCORN and COORD, or the GDFILE and PETGRID
keywords that import this data from binary files
Property array keywords, such as PORO, PERMX, NTG, SATNUM, and so forth, from
the GRID, EDIT, PROPS, REGIONS and SOLUTION sections
Black oil PVT data
Saturation and rock compaction functions
Equilibration data
Notable classes of keywords that are NOT converted are:
Modifiers (such as EQUALS, MULTIPLY or COPY)
Block centered geometry
LGRs defined using keywords. The workaround for both block centered geometry and
local grid refinement is to initialize the model in ECLIPSE, writing out an EGRID file
(see keyword GRIDFILE), and import this to Petrel with the keywords. The conversion
process then uses the geometry from the EGRID file.
Multiple equilibration regions with multiple fluid regions. All the equilibration region
data will be imported into every fluid model. The user will have to correct the assignment
of initial conditions on the Fluids tab of the Define Simulation Case process.
All SUMMARY and SCHEDULE section keywords
In addition, note that some keywords will be replaced by functional equivalents. For
example, the GRAVITY keyword will be replaced by DENSITY; block centered
geometry keywords will be replaced by corner point geometry (read from an EGRID or
GRID file).
The order of mixtures of converted and remaining user keywords is likely to need
correction by the user.
Remote simulation submission
Petrel can run simulations in ECLIPSE and FrontSim either on your local PC, or on a
remote server. In either case, you must have an installation of ECLIPSE Simulators on
your PC, version 2006.1 or later: this includes an application called eclrun.exe which is
used by Petrel to submit simulation runs.
If you wish to submit runs to a remote machine, you need to configure both Petrel and the
server. Details of how to do this are supplied below.
To submit a remote simulation, you simply select the queue you wish to send it to on the
Advanced tab of the Define simulation case process. The eclrun.exe application will
transfer the input files to the remote machine and submit the simulation.
Petrel can be configured to submit simulations to an LSF queue. LSF (load Sharing
Facility) is a queuing system provided by Platform Computing (www.platform.com). If
the Petrel queue is configured to point to an LSF queue, the simulation will be submitted
to the LSF queue; otherwise, it will run in the foreground on the remote machine.
Once a simulation is submitted, either locally or remotely, you can shut down Petrel.
To load the results, simply right-click on the simulation, or on a folder of cases on the
Cases pane, and select Load simulation results from the context menu. Petrel will call
eclrun.exe which will fetch any available results back from the remote machine and then
load them into Petrel. This may be done as often as you wish during a simulation,
allowing you to check on its progress. When eclrun.exe detects that the remote simulation
is finished, it will clean up the files created on the remote machine. You can also set the
Petrel queue to periodically check and load results automatically.
The eclrun.exe utility records information such as the LSF job number, the report step
reached, the error messages, etc. in the simulation log.
If you prefer, you may instead use rsh and rcp for inter-host communication. This is
not recommended: it is less secure, and from Microsoft Windows it is considerably
slower than SSH. Most modern UNIX/Linux installations disable rsh/rcp by default:
consult your system documentation for details on how to enable it. Note that some
systems now install the kerberos version of rsh rather than the standard version:
behavior of this version varies. In addition to using rsh, each user will require a
.rhosts file in their home directory, listing the machines from which they wish to
connect. The precise format of this file varies between UNIX/Linux dialects, but is
usually simply a list of machine names, one per line, of the form.
machine1 user
.
.
machinen user
The file can also take the format:
IP address user
or to be completely insecure
++
which implies access to all machines and all users, although this may not work on some
Linux platforms.
The .hosts file must also have the permissions -rw-------.
3. Add the following lines to the system .cshrc file, or to each user's .cshrc file if
preferred. The precise location of this file varies between UNIX/Linux implementations,
but it is often /etc/csh.cshrc - consult your system documentation for details.
if ( -e /ecl/macros/@eclrunsetup ) then source /ecl/macros/@eclrunsetup endif
Alternatively, you may add these lines to each user's personal file ~/.cshrc
Edit the file /ecl/macros/@eclrunsetup and make the following changes:
1. Set the value of LM_LICENSE_FILE to point to your FLEXLM license server for
ECLIPSE (setenv LM_LICENSE_FILE 7321@server)
2. Set the value of ECLPATH to point to your ECLIPSE installation location. (setenv
ECLPATH /ecl)
3. Set the path variable to include the ecl/macros directory i.e. set
path=($path /ecl/macros), assuming the macros are installed under
/ecl/macros
3. Make your changes as described in the next pages and click OK.
when the simulation is submitted on the remote machine. Replaces %USERID% and
%PASSWORD% in a command.
If you tick the check box Use same logon for all servers, you only need to enter the
userid and password once. Otherwise, each queue that uses a different server will need
the userid and password to be entered.
Editing the configuration file simulator settings
The information that Petrel needs to submit remote runs is stored in a configuration file.
Petrel 2007.1 can read from three configuration files: User, All User and Global. See
Configuring Petrel for details on where configuration files are stored, how to edit them
outside Petrel, and how a System Administrator can do this centrally and distribute the
configuration.
The configuration file is a plain text file in XML format. You may edit it using any text
editor.
Note: on most Windows systems, double clicking on an XML file will open it in a web
browser, which does not allow you to edit it. Instead, open your text editor, and open the
file from the editor.
The file contains two sets of information:
The commands used to submit simulation runs, check their status and retrieve results,
and abort them
The queues available in which to run simulations
An example of the configuration file is shown here:
<Configuration>
<Simulation>
<SimulationCommands>
<Command Name="ECLIPSE 100">
<Submit>eclrun [-v %VERSION%] [-s %SERVER%] [-q %QUEUE%] [-d
%DIRECTORY%] [-m %HOSTFILE%] [-c %COMMS%] [--username %USERID%] [-passwd %PASSWORD%] eclipse %DATAFILE%</Submit>
<Fetch>eclrun [--passwd %PASSWORD%] check %DATAFILE%</Fetch>
<Kill>eclrun kill %DATAFILE%</Kill>
</Command>
<Command Name="ECLIPSE 300">
<Submit>eclrun [-v %VERSION%] [-s %SERVER%] [-q %QUEUE%] [-d
%DIRECTORY%] [-m %HOSTFILE%] [-c %COMMS%] [--username %USERID%] [-passwd %PASSWORD%] e300 %DATAFILE%</Submit>
<Fetch>eclrun [--passwd %PASSWORD%] check %DATAFILE%</Fetch>
<Kill>eclrun kill %DATAFILE%</Kill>
</Command>
<Command Name="FrontSim">
<Submit>eclrun [-v %VERSION%] [-s %SERVER%] [-q %QUEUE%] [-d
%DIRECTORY%] [-m %HOSTFILE%] [-c %COMMS%] [--username %USERID%] [-passwd %PASSWORD%] frontsim %DATAFILE%</Submit>
<Fetch>eclrun [--passwd %PASSWORD%] check %DATAFILE%</Fetch>
<Kill>eclrun kill %DATAFILE%</Kill>
</Command>
</SimulationCommands>
<SimulationQueues>
<Queue Name="Local"/>
<Queue Name="Remote" Server="bay3" RemoteDirectory="/sim" />
<Queue Name="LSFSerial" Server="sunlinuxcon" LSFQueue="serial32"
RemoteDirectory="/scratch" />
<Queue Name="Parallel" Server="sunlinuxcon" LSFQueue="serial32"
RemoteDirectory="/scratch" CommsSystem="mpi" Hostfile="hostfile.txt"/>
</SimulationQueues>
</Simulation>
</PetrelConfig>
The SimulationCommands section defines the format for submit, fetch (load results),
and kill (abort) commands for each simulator. Words surrounded by % are variables,
replaced by Petrel when a simulation is run according to the queue that has been selected
and other information entered by the user in Petrel. Sequences surrounded by [ ] are only
written if Petrel has a non-blank value for the variable enclosed.
Recognized variables are:
%DATAFILE%: Name of the data file for the simulation
%VERSION%: Version of the simulator to run
%SERVER%: Machine to submit the simulation to.
%USERID%: Userid on the %SERVER%
%PASSWORD%: Password on the %SERVER%
%DIRECTORY%: Directory on the remote machine in which to create a temporary
directory for running the simulation.
%QUEUE%: Name of queue in LSF or other queuing system
%COMMS%: Message passing system used for parallel runs
%HOSTFILE%: Name of hostfile for parallel runs.
SimulationCommands can only be edited via the global config file.
If eclrun is installed, Petrel will, by default, write eclrun commands to the configuration
file when it is first created, or else $eclipse.bat, $e300.bat and
$frontsim.bat commands, which do not support remote simulation. If you wish, you
may edit the configuration file and substitute your own local customized commands for
running simulations using the above variables. Schlumberger will charge for supporting
any such custom installation.
You may edit the eclrun commands to use any of the options described in the section in
Using eclrun.exe to submit and monitor simulations from the command line.
The SimulationQueues section sets up details of the various machines to which remote
jobs may be submitted. These are best created and edited using the interface in Petrel,
described in Configuring remote simulation queues in Petrel.
Using eclrun.exe to submit and monitor simulations from the command line
eclrun can be used at the command prompt to run simulations. Alternatively, the options
described below can be added to the Petrel configuration file to change its behavior when
called by Petrel.
For example:
eclrun -s myserver -q myqueue -u myuserid -p mypasswd eclipse MYDATA.DATA,
will submit your simulation run to the remote machine myserver. In the process, eclrun
will analyze your data file to find all the required included files, zip them up, transfer
them to the remote machine in a temporary directory, unzip them, and submit the
simulation job. It will also store the details of your job in a file called
MYDATA.ECLRUN, and report them to you in the message log file MYDATA.MSG. This
can be displayed in Petrel by right mouse clicking on the simulation in the Cases pane
and selecting Show simulation log from the context menu. It is automatically displayed
if it contains any error messages.
To get the results back, use the command
eclrun -p mypasswd check MYDATA.DATA
This will read the details of your job from the MYDATA.ECLRUN file, connect to the
remote server to ask for any results. The server will zip up any results files available, and
the local machine will download them and unzip them. It will also update the log file with
the present status of the job.
The full usage of the command is:
eclrun [options] PROGRAM [DIRECTORY|FILE]
where
PROGRAM is one of:
eclipse, e300, frontsim, flogrid, floviz, office, schedule to run the specified application
check to check on status of previously submitted job
cleanup to force cleanup of remote working directory
kill to abort a queued or running job
DIRECTORY is the working directory for interactive apps. The default is the current
working directory
FILE is the name of the input data file. This is required for eclipse, e300, frontsim,
check, cleanup, kill. It may include leading path and trailing extension with the options
-h, --help
+ show a help message and exit
-s SUBSERVER, --subserver=SUBSERVER
+ SUBSERVER is the IP address or name of the submission server you want to submit
the job from
-q QUEUE, --queue=QUEUE
+ submit the simulation job to QUEUE
-u USERID, --username=USERID
+ USERID on SUBSERVER. Defaults to local userid.
-p PASSWD, --passwd=PASSWD
+ password for SUBSERVER
-d DIR, --directory=DIR
+ directory on SUBSERVER host where simulation is to run
-v VERSION, --version=VERSION
+ version to run; default=latest
-k, --keepconfig
+ Keep an existing configuration file ECL.CFG file if found. This is not recommended:
better to use ECL.CFU in your home directory, or ECL.CFA in the same directory as the
data file. Note that ECL.CFU is not transferred to remote servers, but ECL.CFA is.
-m HOSTFILE, --machinefile=HOSTFILE, --hostfile=HOSTFILE
+ name of file containing the hostnames of the machines to be used for parallel
processing. If HOSTFILE begins with $ it is taken as name of environment variable from
which host file is to be constructed
+ Default=$LSB_HOSTS - this means this option is not required if using the LSF
queueing system, as the hostfile will be created automatically from the list of processors
supplied by LSF
+ Note that you may have to prefix the $ with \ to avoid shell substitution
--comm=COMM
+ Method of inter-process communication for parallel runs. Normally not necessary as
system will determine best available. Valid values are:
- pvm (all systems)
- mpi (MPI with ethernet/gigabit, all system, default on SUN & SGI & Linux except
Altix)
- sp2 (MPI with SP2 switch, IBM only, default on IBM)
- myr (MPI with myrinet, Linux only)
- sca (SCALI version of MPI with best available switch, Linux only)
- alt (MPI with Numalink switch, Linux Altix 64-bit only, default on Altix Linux)
--protocol=PROTOCOL
+ Protocol and method of authentication for inter-hostcommunication. Choices are:
- unsecure : uses rsh & rcp, must have .rhosts set up;
- password : uses ssh & scp with password, must use --passwd option unless
running from console.
+ A future version will support secure keys.
-e EXENAME, --exename=EXENAME
+ run executable EXENAME instead of PROGRAM.EXE. If no path is given, looks in
normal places. Note that the path given must be valid on the execution machine
nocleanup
+ Disable the automatic removal of files on remote machine after run has finished
--debug=DEBUG
+ Debug messages. Choices are:
# none
# file - sends debug messages to file with suffix eclrun_dbg
# both - sends debug messages to screen and the debug file
Define simulation case dialog Advanced tab
Specify the queue in which to execute the simulation, either Local or remote. For more
details see Remote simulation submission
Specify the export format for the grid data. The choices are:
1. OPF: this uses the Open Petrel binary Format. This is the most compact format; it
supports all pillar geometry types; the porosity, permeability and NTG data is also written
to the OPF file. This is the default format for all simulators. Note: This format is only
supported by ECLIPSE 100 & 300 from version 2006.1. Also, there is a known issue that
this format uses a lot more memory with ECLIPSE 100 2006.1 in parallel, and we
recommend using one of the other formats.
2. GRDECL: this uses the ZCORN and COORD keywords. This format only supports
vertical and straight pillars; any curved or listric pillars will be straightened on export,
introducing inconsistency between ECLIPSE/FrontSim and Petrel.
3. EGRID: this is a binary version of the ZCORN and COORD keywords, so it has the
same restrictions on pillar geometry. All cell property data is written as keywords. This
format is not available with FrontSim.
4. GRID: this binary format gives the x,y,z coordinates of each corner of every cell. It
can therefore represent all cell geometries and is supported by earlier versions of
ECLIPSE, but makes very large files. All cell property data is written as keywords. This
format is not available with FrontSim.
If you are using FrontSim, you can also set Pressure solver, Saturation solver and 3 phase
solver parameters. Petrel will select default entries for these, and you must make changes
only if you fully understand the consequences. If you have any doubts, please leave the
default selections.
Troubleshooting remote simulation
Remote Simulation, because it involves more than one computer system, is a complex
process and unfortunately, this complexity means there are more opportunities for things
to go wrong. This section is designed to help you solve problems if they occur.
"Command not found" or "No such file or directory" errors
If you receive variants on "command not found", follow the steps here to check which
command is missing.
Check eclrun is installed on your local PC
Open a command prompt window (click the Windows Start button), choose Programs |
Accessories | Command Prompt)
At the command prompt, type eclrun. You should see the following:
C:\>eclrun
usage:
eclrun [options] PROGRAM FILE
where PROGRAM is one of:
eclipse, e300, frontsim
or check, to check on status of previously submitted job
or cleanup, to force cleanup of remote working directory
or kill, to abort a queued or running job
FILE is the name of the data file for the simulation job
It may include leading path and trailing extension
or
eclrun [options] PROGRAM [DIRECTORY]
where PROGRAM is one of:
office, floviz, flogrid, etc.
DIRECTORY is the working directory
default=current working directory
Use eclrun --help for more information
This version of eclrun was built on 2006-04-27
eclrun: error: PROGRAM not specified
C:\>
Similarly, type plink and pscp at the command prompt. For each command, you
should receive a usage help message.
Finally, type eclrun testsys. You should receive the following response:
C:\>eclrun testsys
@eclrun@pc
@eclrun@\
If you get a "command not found" error message for any of the above commands, your
installation is incomplete. Please follow the instructions in Installing eclrun on your local
PC or the Installing Petrel support for remote simulation eclrun section.
Check eclrun is installed on your remote server
Log on to your server. (If you don't know how, see Communication or connection errors).
At the command prompt, type eclrun testsys. You should receive a response
similar to the following:
% eclrun testsys
@eclrun@linux
@eclrun@/
%
If not, eclrun is not correctly installed on your server. Please ask the system
administrator to follow the instructions under Installing eclrun on a remote UNIX or
Linux server in the Installing Petrel support for remote simulation eclrun section.
eclpython: No such file or directory
If you receive the following error on your UNIX or Linux server:
% eclrun testsys
/usr/bin/env: eclpython: No such file or directory
%
This indicates that your environment settings have not been set up to find eclpython.
You can verify this by typing:
% which eclpython
eclpython: Command not found.
%
Please follow the instructions under the heading Update the system .cshrc in the
Installing Petrel support for remote simulation eclrun section.
Communication or connection errors
If you receive error messages of the form Unable to connect to myserver, try the
following tests.
If it is the first time you tried to submit to a particular server from your PC, try again.
First-time connections have to store the remote server's "signature" in the Windows
registry, and this sometimes fails. Often, simply repeating the submission works.
Check that your PC can communicate with your server - if you are using the default
password protocol
Open a command window and type plink servername. You will be prompted for
your userid and password. If you have not connected to the server before, you may also
be asked for permission to store the server's signature in the local cache. Answer yes.
C:\>plink myserver
login as: user1
user1@mypc's password:
Last login: Tue Jan 10 12:01:42 2006 from mypc.bigoil.com
% exit
C:\>
Check that your PC can communicate with your server - if you are using the
unsecure protocol
If you have configured Petrel and eclrun to use the unsecure protocol, by adding the
option --protocol unsecure to the submit command in the global configuration
file, you should test communication as follows:
C:\>rsh myserver eclrun testsys
@eclrun@linux
@eclrun@/
Note: the Microsoft Windows version of the rsh command is very slow. You are strongly
recommended to use the secure protocol, which is both more secure and much quicker.
If you receive an error message of the form
myserver.bigoil.com: Permission denied.
rsh: can't establish connection
it means that your server is not configured to allow you to connect. There are two
possible causes for this:
Your .rhosts file on the server does not list your PC name
Your server is not configured to allow connections using this protocol.
Consult your system administrator if you need assistance resolving these problems.
You did not ask Petrel to load results after the run had finished. Eclrun only deletes
the temporary files on the server when they have all been downloaded to the local PC
after the run has finished. If you look at the results of a simulation halfway through,
decide it's wrong in some way, then go on to submit another case without ever bothering
to kill or fetch the final results of the first case, they will stay on the server. You should
always fetch results or abort simulations to ensure your server does not fill up with
"orphaned" simulations.
Petrel fails to fetch results from the server
You right click on the simulation on the Cases pane in Petrel, select Load simulation
results, and nothing happens. There are several possible causes for this:
The simulation is very large. If the simulation output files are very large, it may simply
be taking a long time to download them from the server. If on the Results tab of the
Define simulation case process, you tick the Show simulation console option you will
see the progress of the download in a Windows command prompt window.
The results have downloaded but Petrel is idle. There is a known issue in Petrel 2007.1
that if you are working in another window, Petrel goes to sleep and does not always
detect when it should start loading results. Simply move the mouse, and if it is not the
active application, click on the Petrel main window title. It should wake up and load the
results.
The eclrun state file has been deleted. The eclrun application stores information
about a simulation run in progress in a file called MYRUN.ECLRUN. This stores things
such as the name of the server, and the name of the temporary directory on the server
where the simulation is running. If this file is deleted during the run, eclrun will be
unable to download the results.
Do not delete the .eclrun file during a simulation run. If this has happened for some
reason, do the following:
1. Right-click on the simulation on the Cases pane and select Settings
2. On the info tab, note the name of the directory where the DATA file is located.
3. Use ftp or a similar file transfer tool to copy the output files from the server to this
directory on the PC. The files on the server will be found in a directory called
userid_myrun_yyyymmddhhmmss
4. Load the results into Petrel
5. Remove the files on the server.
Simulation Results
Simulation results come in four forms:
1. Summary Vectors - These are stored on the Results tab and may be displayed in the
function window or in the map window. See Plotting Simulation Results using the data
displayed on the Results tab of The Petrel Explorer for details of working with these
plots.
2. Properties These are stored in the appropriate 3D grid and displayed in much the
same way as any other grid property.
3. Streamlines These are stored on the 3D grid and displayed in a 3d window. See
Streamlines for more details
4. Simulation logs These are stored on a per-simulation basis and are accessed using
the Log folders on the Input tree. They can be displayed in 2D, 3D, well section and
intersection windows. They are sometimes referred to as Dynamic Logs.
If the simulation was run directly from Petrel then the results will be imported
automatically to the appropriate case and model respectively.
Import of Simulation Data
The first step is to import the files containing the simulation data. See How to import a
Keyword Case into Petrel. On import of simulation data, Petrel will create the following
folders:
A new case in the Cases pane, where the simulation deck keywords and include files
will be stored and managed.
A grid model in the Models pane, where the horizons, faults and properties can be
found. Additional files can be imported to the grid by right-clicking on the grid, the
Faults and the Properties folder
Summary vectors will be imported into the Results pane in a Dynamic Data folder for
display in function windows and for use with the Dynamic Data calculator.
Additional data objects can be converted into Petrel objects by selecting the Convert to
Petrel Case option from the right-click context menu from the Cases pane. See How to
(partially) convert a Keyword Case to a Petrel Case.
Summary data can also be exported in a Petrel ASCII format; see How to export
summary data.
Simulated properties
Simulated properties are imported into Petrel in much the same way as any other
properties in Petrel. The only difference between simulated properties and standard
properties is that they may also have time steps associated with them. If a property is
dropped into the time step player then it can be animated in time. Petrel will show all the
properties with the same template as the chosen property, in their date order.
Ternary plots are 3D grid properties that display the relative proportions of the fluid
saturations (oil, water, gas) in each grid cell, for each time step. The cell colour represents
the proportion of saturation in each cell.
Ternary properties are calculated automatically for 3-phase cases when loading results to
Petrel. However, if you need to calculate ternary plots for 2-phase cases, or in other
circumstances, the workflow is outlined below.
Ternary plots workflow
1. Right-click on the Properties folder for the simulation grid you wish to create a
ternary plot and select Settings from the context menu.
2. In the Settings dialog go to the Composite tab.
3. Insert a new ternary property definition by clicking on the Append item in the
table button. Enter a name and select the Type to be Ternary. Accept the default General
template.
4. Select the properties in the pull-down selectors at the bottom of the dialog. Generally
map R: (red) for gas, G: (green) for oil and B: (blue) for water. Ensure you select the
same time step for each property.
5. Toggle on Normalize to make sure that all the saturations add up to 1 (100%).
6. Generally click on the button to create plots for each time step.
7. Click on Apply to save the settings and on the Execute button to create the properties.
The properties are created in a folder beneath the simulation case with the name supplied
in step 3 above.
The ternary plots can be played using the Time Player. Note: if other windows capable
of responding to the Time Player are active, you may experience flashing or other
unexpected behavior. Go to the Windows tab and toggle off such windows.
Vector plots
Vector plots allow the creation of 3D vectors from properties, either static or recurrent
that are normally viewed as individual I,J,K components. The output is a property with a
3D arrow in each grid cell representing the vector of the combined components.
Examples of such properties are Permeability, Transmissibility (in the .INIT folder) and
the VELOCITY (fluid velocities) keyword which, in Petrel, is added as an Additional
Property in the Results tab of the Define simulation case process.
The vector property is calculated from the main Properties folder for the simulation case
3D grid or. If a single property is calculated (for a single timestep), only one property is
created. If properties are created for all timesteps in the simulation a folder is
automatically created.
3. Position intersection using icons at the bottom of the window and using hotkey (M).
8. Click to show the Contour lines and Contour solid, and set the parameters as
necessary.
9. In the Show group, select the amount of resolution and smoothness.
This workflow does not work with an I or J intersection.
Local Grid sets and the Global grid should be treated as separate items for this process
and not contoured together.
IsoSurfaces display
This process permits the user to create surfaces of a constant property value from a 3D
grid property. It is envisaged that this will be used with simulation results (SWAT, SOIL,
PRESSURE, etc.) to display fronts and how they move through a grid with time. (See
also General intersection display)
IsoSurfaces workflow
1. Display a property in the 3D viewer generally a time dependent property from a
simulation run. Select a time step which includes the value of the IsoSurface you want to
create.
2. Open the Settings menu for the time step property (Double-click on the time step or
select Settings from the right-click context menu.
3. Check the Statistics or Histogram tabs for the data range.
4. Go to the Style tab and the IsoSurfaces sub-tab.
5. Append item in the table and provide an appropriate Isovalue. Click on Apply
6. In order to view the surface you will need to modify the property display in one of
several ways: (note that if you click off the property display, the IsoSurface goes too!)
In the Style tab of the Settings for the main Properties folder you may click off Show
of Solid to leave just the cell outlines in the display.
Display the Property player select the Define simulation case process under
Simulation folder in the Processes pane. The Property player will appear on the far right
hand side of the 3D viewer. Use, and to slice the property in an appropriate location that
does not interfere with the IsoSurface.
Additional features
Use the Apply to all similar objects in the same folder button to create an IsoSurface
with the selected value in all timesteps of the property. By using the time player it is
possible to view the movement of the surface/front through time.
Use the property filter on the Filter tab in the Settings dialog for the main Properties
folder to restrict the IsoSurface display to just an area of interest.
The IsoSurface may be colored (and contoured) using another property as a template. The
simplest illustration of this is to use the DEPTH property from the Init folder (if
available). In the IsoSurfaces tab, in the Color Type drop-down, select As property, and
from the Init folder, click on the Depth property (single click on the name) then click on
the blue arrow next to As property. Click on Apply.
If the IsoSurface appears dim, you may add an additional light source. Go to the
Windows tab, right-click on the Light Sources folder and select Insert light source from
the context menu. The additional light source may be further modified by going to the
Settings for that light source.
Properties on Local Grids may be included or excluded from the IsoSurface calculation
and display by toggling them on or off in the tree.
Simulation logs
Simulation logs are generated when you select the RFT, PLT and Segment options in the
Simulation Logs section of the Results tab of the Define simulation case dialog. A
Simulation log is a time-based collection of well logs. Please refer to the reference
documentation of the simulator for details.
Simulation logs can be displayed in these windows: 2D, 3D, Well section and
Intersection.
To display a log corresponding to a given time:
Select a window for display.
Identify the well (in the Input tree) and display it.
Select the log from the Simulation logs folder under the well trace.
Choose a time from the Time Player drop-down list.
If a log exists for the selected time it will be displayed. Logs can be animated through
time using the Time Player controls. See Timestep Player.
All other aspects of dynamic log display are the same as for regular logs, including the
control of properties and display of logs for all wells. The only difference is that you have
to select a time using the Time Player. See Templates and well logs. In particular, you can
display a log at a given time for all wells by using the global log template visualization
tick-box.
Be aware that two different simulation logs may not contain data for the same time-step.