22
Streamlines Streamlines from FrontSim can be imported into Petrel as long as they are associated with a valid simulation grid. Streamline attributes can be used to color the streamlines and a number of filtering options are available. The time player can be used to animate streamlines. Storage of streamlines Streamlines will appear in Petrel on the Models pane as a sub-folder to a model 3D grid. They have five types of filter: Attributes – This filter selects which attribute to use to colour the streamlines. Startwell filter – This filters streamlines according to the well they begin from. Endwell filter – It filters streamlines according to the well they end at.

Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

StreamlinesStreamlines from FrontSim can be imported into Petrel as long as they are associated with a valid simulation grid. Streamline attributes can be used to color the streamlines and a number of filtering options are available. The time player can be used to animate streamlines.

Storage of streamlines

Streamlines will appear in Petrel on the Models pane as a sub-folder to a model 3D grid. They have five types of filter:

Attributes – This filter selects which attribute to use to colour the streamlines.

Startwell filter – This filters streamlines according to the well they begin from.

Endwell filter – It filters streamlines according to the well they end at.

Value filter – This is a user-defined filter based on the attributes the streamlines were imported with.

Time folder – A list of the time steps at which streamline data is present.

Page 2: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

These filters are independent of each other and can be used together, for example, to display producer injector pairs.

Streamline attributes

Streamlines can be colored according to any one of the imported attributes. The color table for the attribute can be edited under the attribute’s settings. Filters for a particular attribute can be created by right-clicking on the attribute and choosing Create filter from the context menu. The filter settings will be displayed and the filter will appear under Value filters.

Page 3: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Startwell and Endwell filters

Streamlines can be filtered by Startwell and Endwell filter folders. Check the wells in Startwell and Endwell filters that you want to visualize and streamlines will be filtered based on that selection. For example:

Page 4: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

All streamlines for a given injector: click to display the injector in the Startwell filter folder and everything in the Endwell filter folder.

All streamlines for a given producer: click to display the producer in the Endwell filter folder and everything in the Startwell filter folder.

Streamlines that connects a specific pair injector-producer: just check the corresponding wells.

Value filters

Value filters can be used to display a portion of the streamlines. These filters are created by right-clicking on the relevant attribute and selecting Create filter from the context menu. The filter window is as follows:

Page 5: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Min and Max: set the maximum and minimum limits interactively with the slider bar or by typing in values, only values inside the range will be displayed.

Invert filter: will only show values outside the selected range.

Line filter: selecting this option changes the filter behavior; under normal conditions any section of the streamline not passing the filter will not be displayed; however, checking this option will mean that if any section of a streamline passes the filter then the whole streamline will be displayed.

Use filter: allows the interaction of cells and streamlines; it has two options:

By selected cells: filters the streamlines, showing only those streamlines that pass through the displayed cells (and satisfy the other filtering conditions).

Display penetrated cells: filters the cells, showing only those cells that are penetrated by the streamlines (and satisfy the other property filtering criteria).

The following picture shows an example of combined filters applied to the pair C3-B8:

Page 6: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Only one filter per attribute can be created.

Attribute filters can be modified at any time.

It is possible to apply more than one attribute filter to streamlines, in which case it will work as an “AND”.

An attribute filter can be made active/inactive by checking it in Value filter folder.

They can also be combined with Startwell/Endwell filters, and the combination acts as an “AND” too.

Note: The Use filter option is an interaction between streamlines and cells. Hence, whenever it is applied in an attribute filter, it will be reflected in all other attribute filters too. The same applies to any change in it, which will be reflected in the other attribute filters.

Playing through time

If more than one timestep has been imported the streamlines can be animated through time using the timestep player. Drop the streamline object into the time player’s drop box. If other time related objects are also displayed in Petrel, they will also be animated; however, the times steps on the streamlines will be used for the animation step.

See Timestep Player for information on how to use the player.

Page 7: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Dynamic Data Calculator

This tool allows you to perform calculations between simulated and observed data vectors. In order to make it easier and clearer to you, we use the format for expressions used in most scientific books:

The first part is to write an expression that describes

into the text box. The expression is parsed to extract the variables, and then these variables are bound to the relevant vectors (equivalent to “where: Y is ..., a is ..., etc.”). The picture below shows these steps.

Page 8: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Example 1:

We have Oil and Water production rates for the field and we want to calculate Liquid production rate.

The expression can be:  Liq = oil + water

The bounded variables will look like:

Overview

As with the other calculators available, the Dynamic Data Calculator is used to edit and manipulate existing data objects, in this case, vector data on the Results pane. New data is always stored in a new or existing case and is viewed using the Results pane.  See Displaying Simulation Results to find out how to view existing results data.  In particular, notice how the Results display can be filtered by selection of cases in the Cases pane.  It can be useful to filter the data displayed in the Results pane on a case-by-case basis to help you see what data is present.

Page 9: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Expressions

To create new data, the Dynamic Data Calculator needs some input data and the relationship between this data. This is broken down into two parts. First, a text expression describes the formula to be used to relate a number of variables and is entered into the expression text box.

This expression is parsed to extract the variables and then these variable names are bound to particular items of data. Unlike the other calculators the name of the variables is not important as they do not relate directly to the data, but have to be bound to data in a separate step.

For example, a simple expression would be “LHS = a+b” where the output will be stored in the variable “LHS” and will equal the sum of the data in the input “a” and “b”. Once the text of the expression has been entered, hit return to parse the text or click the Parse Expression button.

It is possible for the calculator to return a single number, for instance finding the maximum value in a vector, in which case there is no “=” character in the expression text. More commonly a vector is being created in which case the variable to the left of the “=” is considered to be the output variable. This has slightly different rules when binding this variable, see Binding Expression Variables.

Save and load expressions

It is possible to save the expression text to file for use in another project using the button. Any file extension may be used, but we recommend using the default .MAC extension to avoid confusion. Any saved expression text can be loaded using the button. Note that the bindings to variables are NOT saved and will have to be re-entered, so we strongly recommend using a coherent naming system for the variables.

Parsing the expression text

Like the other calculators, the expression may use a wide range of functions and operations, see Calculator functions and syntax. Parsing the expression ignores the functions or operations text and searches for valid variables to be bound. A variable is valid if it is not a pre-defined word for a function or operation (for instance “Sin” would be rejected as there is a function with that name). There are some more specific restrictions, namely:

A variable can only start with a letter (a-z) or the character “_”

A variable can not contain any spaces

Page 10: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

A variable can not contain any of the following characters / * + - ( ) =<>

Once parsed, each variable will appear in a separate row in the table below so that each variable can be bound to a particular data set. For example parsing the expression “LHS = a + b” would result in the binding table:

Note that the LHS variable has all of the columns enabled since this has been recognized as the output variable and has different rules about binding. 

When parsing, the expression variables are extracted but the expression is not validated for syntax errors, for example “LHS = a b” will result in the three variables “LHS”, “a” and “b” being bound, but when executing the expression, a syntax error will be reported as there is no operator between the two variables.

Binding expression variables

While the expression text describes the relation between variables, this is not sufficient to perform the calculation; each variable must be bound to some data for the calculator to operate on.

Each variable must have three items specified before it is fully bound; Source, Vector and Identifier. Once all the variables in the expression are bound correctly, the execute button will be enabled and you can then perform the calculation if you wish.

The three columns in the binding table will be described in turn below, for right hand side variables. There are some special items available for the output (or LHS) variable described in the section Output variable and also some special items relating to all the rows to be described in All in Folder option for source and identifier.

All of the selections in the binding table are accomplished by a hierarchical drop down menu system. Clicking on any item which ends with will result in another layer of options being exposed. If an item is selected, then the menu will collapse and the selected item will be shown in the drop down menu, for example. This allows the vast array of possibilities to be selected efficiently.

Once a variable has all three items (Source, Vector and Identifier) selected, it is considered bound, and when all the variables in the table are bound, then the Execute button will be enabled and you can process the calculation if they wish.

Page 11: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Source

The first item to be specified for a variable should be the Source. Data can be taken from existing Simulations, Observed data or data from Development strategies. The menu offered includes all the Simulations (organized as shown in the Cases pane), the Development strategies, and the Observed data; for example:

Selection of the Source is important, as this will effect how the items in the Vector and Identifier are filtered (seeFiltering columns) and for this reason, the Vector and Identifier columns are disabled until a Source has been selected (with the exception of the output variable, see Output variable).

Vector

The Vector option determines the type of data to be taken from the Source defined in the previous column, for example Oil production rate. The Vector options to be chosen are taken from the Results pane and are arranged as they are in the Results pane. This allows you to either have all the options at the top level, or for the items to be categorized. In the latter case the top level menu will be, for example:

Only items in the Results pane will appear in the Vector drop down list, as these are the only possible options that have data to select, and will include any user created data (see Output variable for more details).

Identifier

The Identifier option determines the object that we will be using the data for, for example a particular Well or Group. The options are taken from the Identifier folder in the Results pane and are structured identically, for example:

Page 12: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Cascading selections

To make the selection of items more efficient, a simple cascading rule has been implemented. When an item is selected in the row, if there are any items in that column which are unselected, they inherit this selection on the assumption that this is a valid selection for that row. It is also required that to inherit a selection the cell must be active. For this reason, it is suggested that users select all of the sources initially to ensure that all the Vector and Identifier cells are active.

Note that the Source for the output variable has different options to the other rows in the Source column, and so this selection with often not be cascaded, but the selection in subsequent rows will be cascaded.

Output variable

The output variable is defined to be the variable to the left of the “=” character. This is distinct to the right hand side variables which define the data to be used in the calculation, and the output variable determines where the resultant data will be stored for future retrieval. The output will always be stored in a folder associated with a case in the case tree and will be created at the same level as any simulations which exist and will be called Calculations, for example:

 You can choose an existing case in the drop down menu for the Source, note that this differs to the right hand side variables where it is the individual Simulation that is selected. Alternatively, you can select to create a new Case to store the results by selecting the option from the top level of drop down items. This allows you to select a new case name and a reference case via the dialog:

Page 13: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

The time at which the output variable is calculated is based on the destination case, and if you are creating a new case, this can be specified explicitly by setting a reference case. If this is not selected, then the time vector will be taken from the first variable on the right hand side. If the case name already exists, when the calculation is executed, you will be informed but the calculation will continue and the results placed in a default case to ensure that previous results are not over-written.

In a similar way to creating a new case in the Source column, you may also create a new Vector by selecting the option in the Vector column. You must specify both a name and template via the dialog:

All new vectors created will be placed in the General folder on the Results pane (if it is categorized).

Create new data or replace existing?

It is possible to over-write previously generated Summary data if the Output variable is bound to exactly the same Case, Vector and Identifier.

If no summary data exists for the specified output variable then it will be created.

Note that care should be taken when using the calculator in the workflow to not repeatedly over-write the same data by using workflow variables in the output variable; see Using the Dynamic Data Calculator in the Process Manager.

Once created, the summary data can be plotted in a function window in the same fashion as other simulation results SeeDisplaying Simulation Results.

Filtering columns

For right hand side variables the Vector and Identifier columns are linked to ensure that the once a variable is bound, it is assured that there is valid data present for this selection, this filtering is automatic. Alternatively, you can filter any column based on entered filter text.

Page 14: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Automatic vector and identifier filtering

For right hand side variables, only there is an automatic filtering of drop down menu items. Initially both the Vector and Identifier are disabled until a Source has been chosen after which they are both enabled. Initially neither column is filtered, but selecting either the Vector or the Identifier causes the drop down menu items of the other column to be filtered so that only options for which data exists are displayed.

The last column to be selected will then always be filtered based on which ever of the Vector or Identifier was selected first. This filtering may be removed by selecting the item in the top level menu which will be present when an item has been selected.

This filtering ensures that once a variable has been bound, data will exist when it is executed. This filtering only applies to right hand side variables, as the output variable is creating new data and does not have to be restricted to cases where data already exists. This means that poor selection in the first column can mean that no items are available in the other menu.

Manual filtering

Each of the columns can be manually filtered by selecting the filter check box above the column:

This is a text filter which acts on the name of each selectable item, so for instance “Well_10” will only leave the items named “Well_10”. There are two wildcard options:

Use “*” to represent any number of characters

Use “?” to represent a single character

For example, use “Well*” to filter out all but those items which start with the text “Well”, and use “Well_?” to filter out all but those items which start with “Well_” and have only a single trailing character. These wildcards can be used together. All filtering is case sensitive.

The filter will act on the selectable items and NOT the folders that they are contained in, so for example filtering on “*8” might result in:

where we note that the folder “Well” has not been filtered out, but those folders which are now empty due to the filter are not displayed. Also note that the special items which select all the items in a folder are not subject to this filtering, see All in Folder option for source and identifier variable.

Page 15: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Using the Dynamic Data Calculator in the Process Manager

The Dynamic Data Calculator can be used in a workflow in the Process Manager and can be found in the Operations menu

To use it in the workflow, however, a simulation case must have been run in the project so that the Results pane is populated, otherwise the Vector and Identifier menu options will be empty.

To use the Dynamic Data Calculator in a workflow, add it as with any of the items. This creates a row for the Dynamic Data Calculator and double clicking the calculator icon opens the Dynamic Data Calculator. Expressions are entered and the variables must be bound as before. When clicking the execute button the expression is saved with the bound variables and the text displayed in the workflow. Running the workflow will execute the expression saved.

Workflow variables

The ability to use the Dynamic Data Calculator in the workflow is greatly enhanced by the ability to select workflow variables in the Source and Identifier columns of the variables to bind. These are added to the menu item at the top level. This allows you to iterate over numerous Sources and/or numerous Identifiers to create batches of summary vectors.

If there has been an error, and a variable that the calculator is using has not been defined by the workflow, then this will create an error which is handled the same way as all errors in the workflow.

Note that Development strategies can not be selected as a variable for use in the Dynamic Data Calculator.

Returning numeric expression

The Dynamic Data Calculator in the workflow can be used to populate a numeric expression. Simply set the output variable to start with the character $ and ensure that the

Page 16: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

result of the right hand side is a single number (for instance using the .max .min functions). This will overwrite the given numeric expression or create it if it hasn’t already been defined in the workflow.

As an example, a valid calculator expression would be $output = a.max. This will then set the numeric expression “$output” to be used elsewhere in the workflow.

 

‘All in Folder’ options for source and identifier variables

The workflow allows you to iterate over numerous Sources and Identifiers, but we anticipate that it will be commonly required to iterate over all the items in a single folder, like the “Well” folder for instance. To accommodate this, there are some ‘All in Folder’ menu items available, for instance.

Each folder in the Source and Identifier columns for the output variable contain an All in … menu item. Only if this has been selected for the output variable will this item be available for the right hand side variables.

If there are some All in … options chosen for the identifiers, then the calculator will repeat the calculation with each of the identifiers in that folder in turn. Thus to create a summary vector for each of the wells in turn you can define the expression and bind the variables, using the All in Well menu item for the identifiers.

Similarly if the All in... menu item has been used in the Source column then the calculation is repeated for each of the selected simulation in the folder.

Note that if a case has multiple simulations then this can mean that the data in the Calculations folder will be over-written.

If the All in … functionality is used in both the Source and Identifier columns, then all combinations are calculated.

If there are any errors during the processing of such an expression, for instance there may be data missing for some combinations, then these will not be reported individually, rather the process will continue and create those summary vectors that are possible and report only one global error when the processing has finished.

Executing the expression

Once the expression has been defined, and all the variables are bound, then the execute button will become enabled. Clicking this will process the calculation and create the data requested and reset the Dynamic Data Calculator. Previously executed commands can be re-instated from the history list, see Display panel.

If there are any errors during the calculation, most commonly syntax errors, then these are reported when the expression is executed.

Page 17: Upscaling - kaukau.edu.sa/Files/0002053/Subjects/Chapter 09_StreamLines.doc  · Web viewIf more than one timestep has been imported the streamlines can be animated through time using

Display panel

The display panel in the Dynamic Data Calculator works in a similar fashion to the other calculators, see Display panel. However, as well as the expression text the bindings to variables are also stored. This is distinct to the Save and Load expression buttons described in the Save and load expressions page. A single click on an expression stored in the display panel will restore both the expression text and the previous bindings.

The expressions are looking up in the display panel on the expression text, and so if a second expression with identical text but different bindings is executed, then this will over-write the original expression in the history.

We strongly recommend using a consistent syntax for your variables in the expression text so that it is possible to recognize what the bindings are likely to be from the expression text.

PSum and diff

In addition to the normal functions available in all the calculators (see Calculator functions and syntax for more details), there are two more functions available to the Dynamic Data Calculator.

First, there is the PSum function, which calculates each member of the vector by summing all the previous members, or more precisely is defined as: