User Data Definitions
User defined data (user parameters) can be utilized to sort and filter your projects for reporting, as well as for adding custom data and lookup tables for calculations in User Functions.
User data definitions
To create new user defined data parameters in an Enersight project or to view all of the user defined data parameters created already in a project, click on the “data defns” hyper link located next to the Project name:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_1.png)
This link will bring up the User Defined Data defined in the specified project:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_2_thumb_0_0.png)
Click image to expand or minimize.
In this editor a user can create new user defined data variables or view/edit existing variables:
- Enter the name of the variable
- Select the user data classification
- Select Daily/Monthly/Yearly scale if applicable to variable classification
- Adds the definition to the project
- Used to sort definitions by name (in addition sort arrows can be used to organize the list of user defined data variables
To create a user data parameter, enter the variable name, select the type and click the “Add Definition” button. The name of the user data parameter will be used when building a function – it is recommended that users keep names simple for ease of use. It is often recommended that user data parameters be one word for ease of referencing in functions, however, naming of variables is left to user discretion. (Although spaces are permitted in these names, it may be advantageous to avoid them or use underscores so that quotation marks are not required in user function syntax.)
Classifications of user data
There are seven types of user data variables that a user can define and use in functions:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_3.png)
- Boolean – True/False variables
- Date – User defined dates (see Date Format for more details)
- Double – a number including decimal places
- Integer – a whole number
- String – a text or data tag (150 character maximum length)
- Table – and array of data structured in rows and columns (often for use in look-up and index functions: see User Data - Tables for more details)
- Time Series – a one dimensional array of values corresponding to dates. (see User Data - Time Series for more details)
The first five types all fall under the general heading “Scalar” (denoting single datum entry) used above; Table and Time Series each require an array of data to fully define them and are almost invariably created to appear in User Defined Functions. Text strings are most commonly used in filters since string functions (such as concatenation in Excel) are not available in Enersight. The first four user variable types can be used either in filtering or in user defined functions.
Once a user data definition is added, a user must also select which level the variable will be defined at:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_4_thumb_0_0.png)
Click image to expand or minimize.
There are seven different levels user variables can be defined at:
- Company Level - User data defined here appears in ALL projects in your company's Enersight Database or all projects of a certain group within the company. Company Level user data can only be accessed via the Admin menu - User Defined Data (Company Level). Company Level user variables can only be created or redefined by a super user but the list of them can be viewed by any user; other users will see the screen greyed out:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_5_thumb_0_0.png)
Click image to expand or minimize.
- Project Level - The data defined here is specific to each project. The value attributed to the variable will remain consistent across all scenarios.
- Scenario Level - The data defined here is specific to each scenario. The variable will exist in every scenario but the values will need to be independently defined in each scenario
- Asset Level - The data definitions are specific to the selected Asset (Well, Facility, or Consolidation) in the hierarchy.
- Well Level – The data can be defined at the well level. The user variable will appear in the well list where a user can attribute a value for all dynamically scheduled wells. Common examples include Lateral Length, TVD, etc. as well as data tags such as Field Area, Production Zone, etc. User data defined at the well level can also be defined at any static well created in the flow network.
- Facility Level – The data can be defined at any facility.
- Consolidation – The data can be defined at a consolidation node (see Project Links)
As indicated by its appearance in the user data table, the variable type cannot be changed after a definition has been added. To change variable type, the old variable would need to be deleted and a new one with the same name added. A similar situation pertains with the definition of whether a Time Series is monthly, which is controlled by the check box to left of the “Add Definition” button, or yearly (default). Conversely, the Attribute Name can be freely edited and, when this is done, appearances of the variable in the model will automatically update to the new name. The Units column of the table is only relevant to real (Double) data and can similarly be changed without requiring redefinition of the user variable from scratch. When creating a user table or time series the user must specify the size of each.
For a user defined table, the number of columns must be defined. By default, a user table is created with two columns, a “Lookup Column” and a single “Data Column” to add additional columns, simply click the “Add new Table column” hyperlink:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_6.png)
Column names can be edited by clicking in the Column Name cell and editing the names. Units and decimals can also be predefined by the user.
For a user defined time series, the user must specify the number of days, months or years that make up the series (Recall, the user specifies the type of time series when creating the user variable):
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_7_thumb_0_0.png)
Click image to expand or minimize.
There follows a “Hidden” check box which allows you to temporarily or permanently hide the user data. This can be useful where you want a comprehensive list of user parameters and would like to hide the ones that you are not actively using.
A user also has the option to predefine values a user data field can contain using a dictionary. To do this, simply check the “Dictionary” box next to the user data variable created. The Dictionary check box is greyed out except for String variables. It provides the means to indicate that the variable must be chosen from a finite set of possible strings (analogous to a validation list in Excel).
A common Example of this is using a String data tag to attribute a Reserve Category to specific wells:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_8_thumb_0_0.png)
Click image to expand or minimize.
- Once the “Dictionary” check box is selected, click the “Edit Dictionary” hyperlink to add dictionary entries. Predefined dictionary entries limit the values that can be attributed to this specific user data field.
- Between the Dictionary and Sort columns is an un-headed column which allows Table definition (through a URL) and Time Series definition through direct entry of its length (all that is required to define its structure).
- The Sort column and column of Delete buttons are fairly self-explanatory. The former allows related user variables to be kept nearby in the list; moves can be by one or ten rows at a time.
Attributing values to user data variables
The location you attribute a value to a user data variable depends on the level the variable is defined. There are many ways to access user data variables to edit the values. One of the most convenient methods is to navigate to the Data tab to utilize the project hierarchy:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_9_thumb_0_0.png)
Click image to expand or minimize.
Select the level from the hierarchy. The user data values can be edited in one of three ways:
- Select Data and then User Defined Data:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_10_thumb_0_0.png)
Click image to expand or minimize.
- Use the default shortcut Alt-W
- Edit the data from the Data tab by selecting the blue “edit” link under the User Defined Data section:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_11_thumb_0_0.png)
Click image to expand or minimize.
The “user data” link next to the Project name is a shortcut to user data defined at the project level:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_12.png)
Some other things to note when attributing values to user data variables:
Scalar user data variables appear in the User Defined Data box while Tables and Time Series appear as tabs in the box:
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_13_thumb_0_0.png)
Click image to expand or minimize.
Also, the various levels that Scalar User Data variables are defined at (Company, Project and Asset) are colour coded in the User Defined Data editor.
Company Level User Data
In the Company Level user data definition screen (Admin menu - User defined data) there is an additional “User Group Filter” dropdown. This controls whether a user variable added here truly appears in every project within the company or only appears in the projects of a group, say a division, within the company. The User Group Filter defaults to “All Groups” for a newly created variable but the super user can select any available group from the dropdown list. To create new user data definitions at the company level, you must have administrative "Super User" access.
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_14.png)
In order for user data with a user group filter to be picked up by the intended projects, the User Group dropdown in the Project Data screen must be set to the same value as in the User Group Filter dropdown.
![](../../Resources/Images/ScreenShots/Abandonment1/User Data Definitions_15.png)
The user group terminology is appropriate to the sort of situation described above but the same functionality can be used for other purposes. For example, there may be text variables that are relevant to gas fields but not oil fields or vice versa. By creating “User Groups” called “Gas” and “Oil”, the same user could select “Gas” for a gas project and “Oil” for an oil project. Other examples might be onshore and offshore or operated and non-operated.
Although Company Level user variables can only be defined by a super user in the Admin menu - User Defined Data (Company Level), the data itself is entered /
edited within the project by all users, just like other user data. Company Level user data can be used to "filter" the project list when using linked projects (See Project Consolidation and Meta Projects).
To use user data to filter for reporting see Reporting Options.