Академический Документы
Профессиональный Документы
Культура Документы
Copyright Notice
2005 Schlumberger. All rights reserved. No part of this manual may be reproduced, stored in a retrieval system, or translated in any form or by any means, electronic or mechanical, including photocopying and recording, without the prior written permission of Schlumberger Information Solutions, 5599 San Felipe, Suite 1700, Houston, TX 77056-2722.
Disclaimer
The License Agreement governs use of this product. Schlumberger makes no warranties, express, implied, or statutory, with respect to the product described herein and disclaims without limitation any warranties of merchantability or fitness for a particular purpose. Schlumberger reserves the right to revise the information in this manual at any time without notice.
Trademark Information
GeoFrame, StratLog, WellPix, WellEdit, WellSketch, and CPS3 are trademarks of Schlumberger. Certain other products and product names are trademarks or registered trademarks of their respective companies or organizations.
Table of Contents
Preface ................................................................................................................................iv
Chapter 1
Learning Objectives ............................................................................................................ 1 What You Will Need............................................................................................................ 1 What to Expect.................................................................................................................... 1 OFM Database.................................................................................................................... 2 OFM Workspace................................................................................................................. 7
Chapter 2
Project Creation............................................................................. 11
Learning Objectives .......................................................................................................... 11 OFM Table Types ............................................................................................................. 11 OFM Project Creation ....................................................................................................... 13 OFM Loadable Text File Formats .................................................................................... 13 Static Data ................................................................................................................. 19 Monthly Data ............................................................................................................. 19 Daily Data .................................................................................................................. 20 Sporadic Data............................................................................................................ 20 From an Existing Access Database ................................................................................. 30
Chapter 3
Project Panes.................................................................................................................... 67 Learning Objectives .......................................................................................................... 67 Changing the Layout......................................................................................................... 67 Editing the Database......................................................................................................... 70 OFM Units ......................................................................................................................... 71 Multipliers .......................................................................................................................... 72 PVT Data........................................................................................................................... 73 Editing Project Structure ................................................................................................... 73 Editing Schema Table....................................................................................................... 73 Editing Categories............................................................................................................. 78
Chapter 4
Basemap Customization............................................................... 80
Prerequisites ..................................................................................................................... 80
OilField Manager 2005 Fundamentals 5/11/2005 i
Learning Objectives.......................................................................................................... 80 Map Association Data ...................................................................................................... 80 Map Display ...................................................................................................................... 83 Map Annotations............................................................................................................... 90 Displaying Deviation Information...................................................................................... 94 Irregular Zoom .................................................................................................................. 96 Create New Annotations .................................................................................................. 97 Edit Annotations................................................................................................................ 98
Chapter 5
Filtering..........................................................................................103
Learning Objectives........................................................................................................ 104 Filter by Completion........................................................................................................ 104 Filter by Table Data ........................................................................................................ 108 Filter by Category ........................................................................................................... 109 Filter by Match ................................................................................................................ 111 Filter by Query ................................................................................................................ 113 Others ............................................................................................................................. 119 Well List ................................................................................................................... 122 Scatter Set............................................................................................................... 122 Filter Archive ........................................................................................................... 122 Step................................................................................................................................. 124 Project Filter.................................................................................................................... 124
Chapter 6
Learning Objectives........................................................................................................ 131 Calculated Field .............................................................................................................. 131 Calculated Variables....................................................................................................... 135 Ratio Variable.......................................................................................................... 135
Chapter 7
Plotting ..........................................................................................155
Plotting Basics ................................................................................................................ 155 Learning Objectives........................................................................................................ 155 Creating a Graph with One Y-Axis................................................................................. 156 Creating a Graph with Two Y-Axes ............................................................................... 164 Creating a Plot with Multiple Graphs.............................................................................. 166
ii
Creating Bar Charts ........................................................................................................ 168 Saving a Plot ................................................................................................................... 171 Using Plot Lock and Graph Blow Up Options................................................................ 171 Creating Stacked Plot Entities ........................................................................................ 174 Creating Stacked Plot on Variables................................................................................ 176 Using Sum/Average/% Contribution Types ................................................................... 179 Creating Plot Overlay...................................................................................................... 184 Using Plot Annotations ................................................................................................... 186 Using Plot-Related Tools/Utilities ................................................................................... 190
Chapter 8
Reporting...................................................................................... 197
Prerequisites ................................................................................................................... 197 Learning Objectives ........................................................................................................ 197 Using OFM Report.......................................................................................................... 197 Reporting Variables ........................................................................................................ 199 Formatting a Report........................................................................................................ 205 Additional Report Tools .................................................................................................. 210
Chapter 9
Learning Objectives ........................................................................................................ 223 Exporting Database Tables ............................................................................................ 223 Exporting Variables to Table .......................................................................................... 224 Exporting Text Load Files ............................................................................................... 225
iii
Preface
OilField Manager (OFM) is a powerful surveillance software application that has been widely used by professionals in the oil industry. It provides an array of tools for managing and analyzing production data. OFM installation set includes a revised and updated (online) help file, structured by subtopic(s) and keyword(s). Users can also utilize the awardwinning support that Schlumberger Information Solutions offers to all Schlumberger Information Solutions customers. The focus will be on providing participants with as much hands-on experience as possible. To reduce the repeated usage of terminology, participants are encouraged to use the help file. This training material should give enough knowledge to perform basic functionalities that OFM supports. Note: Advanced training with OFM is addressed in other courses, which can be taken upon completion of this course. A few things regarding terminology: If not specifically stated, the word application refers to OFM. If not specifically stated, the word database refers to the OFM project; even though it is a Microsoft Access database.
iv
OFM Basics
Schlumberger
Chapter 1
OFM Basics
This section of the tutorial addresses the overall structure of the OFM database and workspace. Its sole purpose is to help you understand the basic architecture of the OFM database so that you can correctly create your OFM projects.
Learning Objectives
In this module, you will successfully learn how to perform the following procedures: Analyze OFM data tables Describe the design of the OFM tables (including keys) Explain the DOs and DONTs of specific types of OFM tables Create OFM workspace Create or attach OFM database to a workspace
What to Expect
In this training, you will encounter the following: Overview of the OFM database Prerequisites to the module (if necessary) Learning objectives Lesson(s) Summary of the module Questions about the module Scenario-based exercises Notes and best practice
Project Basics
Schlumberger
OFM Database
OFM can be viewed as having two integrated layers - database and application. Basically, the database layer handles the data part; and the application controls the user interface, as well as the processing data/information per request. OFM database is Microsoft Access-based. All data/information are stored in tables (and sometimes views). Therefore, OFM database has all the characteristics of a relational database, including constraints, keys, and indices. There are three main classes (types) of tables in an OFM database: Data Table System and Configuration Table OFM-Managed Table
Schlumberger Schlumberger
In the above example, the UNIQUEID field is a text field that is 20 characters wide. In addition, it is designated as the primary key field in this HEADERID table (indicated by the key icon in the left). Also, as it is the primary key of the table (and later you will know that it is the master key of the OFM project) it carries additional properties (seen in the lower section, General tab). Please reference Relational Database concepts for further information. There are many fields in this table that are number (numeric) fields. For example, if you select the XCOOR field from the list, you would see the following:
In the above example, the XCOOR field is a number field, with double precision and no decimal place assigned in display. Also, it is not indexed and can accept a null value. By design, OFM requires the designation of a MASTER table, which normally stores static well information such as Well Alias, Well Coordinates, etc The primary key of this master table is the main (MASTER) key of the whole OFM project. HEADERID table in the above example is a master table. Many other data tables may contain more than one keyed field. For example, a date-dependent table must have at least two keys, one is the entity key (similar to the UNIQUEID key); the other is the date key. Lets take a look at a monthly frequency table:
Project Basics
Schlumberger
As seen above, this MONTHLYPROD table has two keys. The UNIQUEID key joins this MONTHLYPROD table to the HEADERID table, in a relational manner. However, the primary entity key of one table does not have to be identical to the primary entity key (master key) of the OFM project. As long as a relationship (join) can be established between the two tables (normally via an intermediate field could be a foreign key), there is no violation in the design of the OFM database. For example, if you have a table like this:
This can be joined to the HEADERID table as long as there exists a way to relate Reservoir (in this RES_PROD table) to the UNIQUEID field in the HEADERID table. In this illustrative database, there is a table that contains such valuable information.
Schlumberger Schlumberger
Note: You do not have to physically make the joins between the tables. At
project creation time, OFM can generate all the necessary joins to ensure the data integrity. The data tables store data that have got loaded into the project. Please take a look at a few data tables to experiment.
Exercise 1
Explore the other data tables in the Demo200x.mdb, at least the DAILYPROD, the TEST, the CHOKE tables. How many keys are there in the CHOKE table? Which key is the (primary) entity key? Your instructor will explain why the CHOKE table is a special type of table in OFM. There is a special type of data table named XXX_Adjustments; these tables store pre-cum (or prior cumulative production) data for the respective datedependent tables (with the XXX name). Your instructor will explain why this special table type is needed.
Project Basics
Schlumberger _OFM_SYS_Multipliers (Users Multipliers) _OFM_SYS_Parser (Calculated Variables and User Functions) _OFM_SYS_TableInfo (Table information) _OFM_SYS_TableMap (Table Mapping/Map Association Schema) _OFM_SYS_Units (Users Units)
These tables contain critical information for OFM to function normally. Therefore, it is strongly advised that you do not tamper with these tables as any inappropriate modifications to these tables may cause OFM not to launch and run properly.
Exercise 2
In Microsoft Access, open and study the OFM system and configuration tables. DO NOT make any changes! Your instructor can explain more about the usage of these tables.
Exercise 3
Note: The Log table (i.e. OFM_DATA_LOG) stores binary data object (i.e.
BLOB). Therefore, there is absolutely no change to the data value (trace value) in this table.
Schlumberger Schlumberger
OFM Workspace
OFM project consists of two parts: the project workspace and the project database. At project creation time, both the project workspace and the project database can be created. Then data must be loaded into the project. If the project database has already existed, only the project workspace needs to be created. Then the database will be associated (attached) to it. The following exercises demonstrate the steps to create a new project workspace, associate a database to that workspace, and change the database in a workspace.
Creating Workspace
1. From the File menu select New Workspace. 2. Click the browse icon to the right of the Workspace File text box and specify a directory (folder) for the new OFM project. 3. Enter the desired name in the File Name box and click OK.
Changing Database
Project Basics
Schlumberger
3. Leave the rest unchanged and click OK. The OFM project (workspace) has been created and basemap displays.
Schlumberger Schlumberger
2. Locate the Program Directory, then go to Sample Databases>Pilot Waterflood Sample and select the Pilot Waterflood Bfield.mdb.
3. Click Open. The basemap of the Pilot Waterflood Bfield database displays.
4. Select the Plot1 node from the Analysis pane. Group the data, and the plot displays.
Project Basics
Schlumberger
Note: Notice that the basemap header, well symbols, and the plot template
are on the workspace level, independent on the database. This is the advantage of having created a workspace that pulls data from various identically designed databases.
Exercise 4
Change the database back to Demo2005.mdb. Delete the Plot1 node and resize the well symbol from 1.5 back to 1.
Note: If you choose to create a brand new database at project creation time,
you will have to populate the data in the next steps (after Step 5). OFM supports various methods of loading data to the OFM project, such as using the Data Loader or using the Linked Tables method. The next module demonstrates such functionalities.
10
Project Creation
Schlumberger
Chapter 2
Project Creation
In this module, we will cover the most common ways to create and get data into an OFM project. The structure of the project should be carefully designed before actually launching the first creation step. Before getting to the actual data populating exercises, it would be useful to understand the OFM data table types and specifications. In this module you will learn to: Analyze table types Populate project with ASCII data files (OFM formats) Populate project with ASCII data files (PI/Dwights formats) Link the project with data from external ODBC sources
Note: Specifying incorrect table types when loading and/or linking data may
result in losing or changing data.
Learning Objectives
In this module, you will successfully learn how to perform the following procedures within this workflow: Design your OFM tables Load OFM formatted data to a project Load selected PI/Dwights formatted data to a project Create OFM project from an existing Microsoft Access database Link OFM projects to external data source using the Linked Tables method
5/11/2005
11
Project Creation
Schlumberger
Comments MUST also be of STATIC type. The master (entity) key (also called completion) is preferably Text (String) The key could be either completion or foreign key At most 1 record per day per entity. At most 1 record per month per entity (day value is not considered) At most 1 record per day per entity Intra-day records per entity are allowed Entity key MUST be Wellbore. Name key is the trace name Entity key MUST be Wellbore. Name key is the marker name Entity key MUST be Wellbore. Name key is the fault name Entity key MUST be Wellbore. The entity key could be of any level
1 2 2
Entity Entity Date Entity Date Entity Prm. Key Entity Prm. Key Sec. Key Entity Name Date Entity Name Entity Name Entity Depth Entity Date PatternSet PatternName Date Entity Entity Prm. Key
Date Date
2 3
MARKER
FAULT
Text
DEVIATION
Num
NOTES PATTERN
2 4
LOOKUP
The entity key could be of any level. Fields in lookup table Num MUST all be numeric. 1 Entity The entity key could be of any level This OFM table corresponds to 4 separate tables in Access, each one has different key requirement. For more information, please reference the OFM_DATA_WBD_XXX tables in Microsoft Access
12
Project Creation
Schlumberger
In this module, you will learn the ASCII flat files, the PI/Dwights dmp2 production files, the native Access, and the Linked Tables ways of creating OFM project.
Tips:
Most of the time, each data file contains information of only one table. Multiple data files can be loaded into one table (appending). One definition file can hold information of one or more tables. Multiple files (definition and data) can be loaded to the project at the same time.
OFM automatically recognizes the table types if the text load files have some specific extensions. If the data files dont have the commonly used extensions
13
Project Creation
Schlumberger
that OFM expects, they will be treated as typical data files, and will be parsed into the specified tables. Here are some commonly used file extensions: *.def table definition file *.xy master (key) data *.srt sort category data *.dly daily frequency data *.prd monthly frequency data *.tst test (sporadic) data *.lku lookup data *.xrf cross-reference data *.par parser (i.e. calculated variable) data *.dev deviation data *.not note (i.e. plot annotation) data *.flt fault data *.log log (trace) data *.mrk marker data *.wbd wellbore diagram data *.pat pattern data *.ano map annotation data
We have constantly used the terms definition file and data file. Not all the tables in OFM require table definitions before load time. Those tables are called non-defined tables, in contrast to defined tables. They are: Deviation table Fault table Marker table Sort category (filter) table Pattern table Wellbore diagram table Parser table*
*Parser table is not a typical table in many ways, even though parser information does get stored in a table.
14
Project Creation
Schlumberger
15
Project Creation
Schlumberger
Notes:
The *Tablename keyword marks the first instance beginning of the table definition. The file format is space separated; therefore whatever text between the two spaces (consecutive spaces are treated as one) follows this keyword will be the name of the table. The next word denotes the table type. In this case, the HEADERID table is a static table. More importantly it is the master table. A project can have as many static tables as desired, but there is only one master table. The next word specifies that HEADERID is a master table. In the fields/variables section, each field is assigned a data type, text or numeric (with size). As many other PC applications, OFM has several precision specific numeric types such as INT2, FLOAT, DOUBLE, etc In the definition file, the fields attributes can be assigned, identified by the keywords such as *pn for Plot Name, *pa for Plot Attribute, *u for Unit, and *mu for Multiplier. These attribute keywords can be searched from the help file. Project Settings keywords may appear in the definition file. *DateLabel is one of them, denoting the displayed DATE name for the project. For
OilField Manager 2005 Fundamentals 5/11/05
16
Project Creation
Schlumberger example, a Spanish speaking user can select to use FECHA for date; the user has to insert *DateLabel FECHA at the top of this definition file. Another Project Settings keyword you may see quite often is *Metric, which alerts OFM to treat the project as in Metric unit system. The static master table must be the very first table defined in the primary definition file (there may be many multiple definition files). If the table name, variable name, or even the attribute contains two or more words and has space(s) between them (or non-ASCII characters), they should be enclosed in quotes (for instance, MY WELL) for OFM to treat it properly. Comment lines have to be started with either comment identifiers // or /*. These lines are just descriptive information and will be ignored by OFM at load time. All texts are case-insensitive.
Let us now take a look at the definition of the monthly production table named MONTHLYPROD. Scroll down the file and locate the line *TABLENAME MONTHLYPROD Monthly. Notice the structure of the definition file.
In this case, MONTHLYPROD is the name of a MONTHLY table, which has fields like DAYS (an int4 type), OIL (a float type), and more
17
Project Creation
Schlumberger
Continue to scroll up and down the definition file to study other tables, their fields and attributes. Notice the CHOKE and the RES_PROD tables. The CHOKE table is a DUALKEY SPORADIC table. Therefore, the *DUALKEY keyword is required after the *Tablename line. Likewise, RES_PROD is a GROUP level table. OFM needs to know at which level its data are associated to. Thus, the word GROUP is required, followed by the group name. In this case, it is RESERVOIR (a Sort Category). TIPS NUMERIC SIZE: Numeric Type Value Ranges: INT1: -128 to 127 INT2: -32,768 to 32,767 INT4: -2,147,483,648 to 2,147,483,647 UINT1: 0 to 255 (unsigned int1) UINT2: 0 to 65,535 (unsigned int2) UINT4: 0 to 4,294,967,295 (unsigned int4) FLOAT: occupies 4 bytes, 7 decimal places, and values of approximately -3.4E-38 to 3.4E38. DOUBLE: occupies 8 bytes, 19 decimal places, and values of approximately -1.7E-308 to 1.7E308. Knowing the appropriate range of your variable data and assigning the proper size to the variable may help you save memory and improve performance.
TIPS - Reserved Keywords There are reserved keywords that may be used in the text load files. They have special meanings to OFM and cannot be reused as variable names. The following table is a list of the most commonly used reserved keywords:
*DateLabel *Day *DD *DDMMYY *Define *Depth *End_Define *EOF *End_Format *Format *KeyLength *KeyLimit *KeyName *Metric *MM *MMYYDD *Month *Null *Quiet *ReadOn *ReadOff *Skip *TableName *TVD *XDelt *YDelt *Year *YYMM *YYMMDD
18
Project Creation
Schlumberger
Data Files Static Data 1. On a text editor, open the Demo Key Data.xy file (in the Text Load Files directory).
2. Study the file (please scroll to the right to see all field data). The variable identifiers exist before the data section, right below the *tablename line. OFM will parse data into the corresponding fields, based on the order they appear on that variable identifiers line. Monthly Data 1. On a text editor, open the Demo Monthly Prod Data.prd file.
2. Notice the *KeyName line. This tells OFM which entity the next data section will be loaded into (until the next instance of *KeyName). Scroll down to see the rest of the file.
19
Project Creation
Schlumberger
Daily Data Open the Demo Daily Prod.dly file and view the data.
Sporadic Data Open the Demo Sporadic Test Data.tst file and view the data.
20
Project Creation
Schlumberger
In OFM 2005 (as well as in any versions after 2002), it is not mandatory to physically have a Sort Category table in the OFM project. Any field (preferably text field) from a static table can be used as a category. Further discussion on this will be given in the Editing Sort Categories section. There are more text load files provided with the Demo project (as well as other projects in the Sample Databases directory). With the help of the instructors, class participants are encouraged to get familiarized with those files, especially the typical format of each file/table.
Exercise 5
Continue to study the other text file formats in the \\Text Load Files\ directory.
21
Project Creation
Schlumberger
4. Make sure that ASCII Flat Files is selected at the Data Source select list. 5. Select either Access 97 or Access 2000 to create your OFM Access database (if you have Access 2000 installed in your computer and you are creating an Access 97 OFM database, you will be able to open the OFM database in Access but cannot make changes to its design. On the other hand if you have Access 97 installed and are creating an Access 2000 database, you will not be able to view the database). Ignore the Prompt for Project Filter for now and leave it unchecked. 6. Click OK. 7. In the OFM Data Loader window, locate the \\\Text Load Files directory to display it in the Look in list.
22
Project Creation
Schlumberger
8. Add the following files to the Files to Load field, in this order, by either double-clicking the file, or highlight and click Add. Demo Definitions File.def Demo Key Data.xy Demo Monthly Prod Data.prd Demo Daily Prod Data.dly Demo Sporadic Test Data.tst Demo Calculated Variables Data.par Demo Deviation Data.dev Demo Basemap Anno Data.ano Demo Lease Info Data.xrf Demo Pressure Lookup Data.lku Demo DualKey Choke Data.dat Demo Monthly Loadby Reservoir Production Data.prd
23
Project Creation
Schlumberger
9. When a file is added to the Files to Load list, OFM recognizes the extension and reflects the correct types in the Data Types list. If the load files do not follow the OFM naming convention, associate the appropriate data types for the files. Otherwise, the result may be incorrect. 10. Leave all other choices unchanged, and click Load to display the Basemap.
Note: If there is error(s) encountered during the loading, OFM will display a red error icon on the status bar (i.e. bottom right corner). Click on it and the error(s) will display. You can use the right-mouse menu to select and copy the error messages to a text editor to view/save.
Exercise 6
Create the one definition file, one key data file, one monthly production file, and one daily production file for a simple four-well project. Create a new workspace and load the files to the project.
Project Creation
Schlumberger
files to create multiple projects. The former batch file should have the *.bdl (e.g. Batch Data Loading) extension, and the latter should have the *.bpf (e.g. Batch Project File). This exercise demonstrates how to use the first feature. 1. Open the *.bdl (for example, Batch Data Load File.bdl) file that you have (or your instructor provides) in a text editor (WordPad or Notepad). 2. Edit (if needed) to verify the path/directory of the text files is correct. In this case, it would be \\\\Text Load File\ and then the full file names (again, \\\ denotes the program directory). 3. Verify that the definition and key data files are the first two files in the list. 4. Repeat steps 1- 7 of the Creating Project from ASCII Text Files exercise. 5. Locate the Batch Data Load File.bdl file and click Add. OFM will read the file and deposit place the correct specified files into the Files to Load list (in the specified order). 6. Click Load to load the files as you did in the previous exercise. 7. The format of the *.bpf is very much the same as the format of the *.bdl file, except for each project, there is a line specifying the project name and directory. For example, a project named DemoData in the D:\Temp directory would be specified as: *Project D:\Temp\DemoData.mdb. The project keyword line is followed by those lines (data files) seen in a *.bdl file. A different project is identified by a new *project line, then its own data files. To execute this batch loading procedure, from the File menu (no workspace opened), select Batch Load and select desired file to load. Again, verify the path and file names are correct to guarantee correct loading of data. Do not forget to close the workspace for the next exercise!
25
Project Creation
Schlumberger
3. Click OK. Locate the \\\Sample Databases\PI Dwights Sample Files\ directory and select a file from the list of available files (i.e. wcr_dmp2.dp2). Proceed to the next step. 4. Toggle on the Prod ID (Entity ID) (40 characters) button. If you do not want to keep the temporary load files, make sure the Delete Temporary Load Files option is checked.
26
Project Creation
Schlumberger
5. Select the wells you want to load into the OFM project. You can choose to load all wells to the database.
27
Project Creation
Schlumberger
Note: If you want to create a Xref (cross-reference) table at this time, you can
do so. Click the corresponding button and specify the file name in the next dialog. 6. Click Next. It is recommended that you do not make changes (unless you know exactly the data) to guarantee the database integrity. In this step, you can specify the fields to be used as Sort Categories. Select the displayed fields to view their descriptions. Then select Next. 7. This step allows you to select which well test items to be included. Make the selection and click Next. 8. This last step gives you the option to select which monthly production data items to be included. Make the selection and click Finish.
28
Project Creation
Schlumberger
9. With proper editions, your basemap should look like the following: (do not display the well name otherwise the basemap may look crowded).
- 15 2.0 67 .5 - 14 4.0 - 1 36 .0 - 1 28 .0 - 12 0.0 O IL GA S - 1 12 .0 6 7.5
60 .0
6 0.0
52 .5
5 2.5
45 .0
4 5.0
37 .5
3 7.5
3 0.0 - 1 12 .0
29
Project Creation
Schlumberger
Exercise 7
Create a new workspace and load another PI/Dwights production dmp2 file to the database.
Exercise 8
Create a new workspace and load a PI/Dwights 298 production file to the database. Do not forget to close the workspace for the next exercise!
30
Project Creation
Schlumberger
Note: Also, make two (2) copies of this stripped-down Access database for use in the next session. 1. Start OFM. From the File menu, select New Workspace. Click on the browse button to the right of the Workspace File text box and select the directory where you want your workspace file to be located. Enter a workspace name, i.e. demo_native, and click OK.
2. Click on the browse button to the right of the Database File text box and locate the directory where your original (generic) Access database is located. Select the desired *.mdb file.
31
Project Creation
Schlumberger
3. Click OK.
32
Project Creation
Schlumberger
5. At the prompt, select Yes to confirm that you want to make this Access database an OFM project.
6. Click Yes (remember this Access database is the stripped-down version of the Demo database). The Edit Schema Tables displays.
7. Select the master (primary) key for this project in Table Key(s). In this case, it is UNIQUEID (which should have been selected for Field1). Click OK to proceed. The basemap displays.
33
Project Creation
Schlumberger
Note: If your project has composite key, you can specify the key by appropriate concatenation of the keys, with appropriate delimiter(s). Up to three keys can be combined to create the composite key field (denoted by Field1, Field2, and Field3 in the Table Key(s) group box). Also, you may have to customize a few things (i.e. map association, map properties, etc) to get the basemap displayed properly as desired. At this time, only the HeaderID table has been associated to the OFM project. The next step is to associate other Access tables to the OFM project. This is done from the Schema Tables. 8. Select Database>Schema Tables. The Edit Schema Tables displays, with all the tables available for OFM use.
34
Project Creation
Schlumberger
9. Let us first map a STATIC table to the project. Scroll down the window and select SortCategory (by checking the box in front of the table name) from the list of available tables. The dialog refreshes for you to give specifications to SortCategory table.
10. Select Static from the Table Type box. OFM will prompt you for confirming if you want to join the (SortCategory.)UniqueID field to the (HeaderID.)UniqueID field. As this is correct, click Yes. The following window displays.
35
Project Creation
Schlumberger
Note: If you want to not use any of the available fields in this table, select the Fields tab and uncheck the undesired field(s). 11. From the left pane of the Edit Schema window (so-called the OFM Representation pane), select the Demo2005_native node to get to the project level as shown below.
Note: You can view an OFM database as if it has three hierarchical levels project, table, and field levels (from highest to lowest). You should only
36
Project Creation
Schlumberger
add/remove table(s) from the project level, and add/remove field(s) from the table level. 12. Select the MONTHLYPROD from the list of Available Tables. Since this is a monthly frequency table, select Monthly from the Table Type drop down list. OFM reads the table structure and suggests the following:
13. As the suggestions are correct, click Yes (select No if any of the choices is incorrect).
14. Click on the Fields tab to view the field information. You can un-associate the field(s) from here. You can also add more field(s) to this table. 15. Click the Demo2005_native node from the left pane again. When the list of available tables displays, select DAILYPROD.
37
Project Creation
Schlumberger
16. Select Daily from the drop-down list for Table Type. As OFM suggests map (Dailyprod.)UniqueID to (HeaderID.)UniqueID and (Dailyprod).Date to Date, click Yes.
17. Select the Demo2005_native node from the left pane again. When the list of available tables displays, select TEST.
38
Project Creation
Schlumberger
18. Select Sporadic from the Table Type select list. OFM suggests the following:
39
Project Creation
Schlumberger
20. Since the entity key of the TEST table (UniqueID) matches the project master (primary) key, the Key Type should be set at Completion (please refer to Module 1 for OFM Database discussion), similar to what you have seen for Static, Monthly, and Daily tables. Make sure the secondary sporadic key in this TEST table is set at DATE. 21. Click on the Demo2005_native node again. Check CHOKE from the list of Available Tables. Since this table contains intra-day information, select Sporadic DualKey from the Table Type drop down list. Click Yes when OFM suggests the entity key association.
40
Project Creation
Schlumberger
22. Make sure the two secondary sporadic keys are DATE and INDEX (in that order). Select the Demo2005_native node again. Check the VALUE_DATA from the list.
Note: Entity is just a generic term used specifically in Lookup and Xref tables. It could represent many different things including completion, lease, reservoir, etc 24. Click Yes. Make sure the secondary lookup key is set at PRESSURE.
41
Project Creation
Schlumberger
25. Select the Demo2005_native node. From the list of available tables, select LEASE_DATA. Select Xref from the Table Type drop-down list. Make sure the Cross Reference Key is set to LEASE.
26. Click OK to save all the changes to the database. The basemap displays:
42
Project Creation
Schlumberger
1665000 394000
1668000
1671000
1674000
1677000
1680000 394000
392000
392000
390000
390000
388000
388000
386000
386000
384000 1680000
Note: If you want to display the well type legend on the basemap, you will have to go to Edit>Map>Association to specify the well type field (i.e. SortCategory.WellType) in the Well Type Table field. Now, we are going to associate a group level table to the OFM project. We had to exit the Schema Tables window so the Foreign key or Category key is registered to the project for use. In this next exercise, we are going to map in a monthly frequency table that has a RESERVOIR key. 27. From the Database menu, select Schema Tables. Select the Demo2005_native node. From the list of available tables, select RES_PROD. Select Monthly from the Table Type select list.
28. OFM cannot find the correct key in this table to match the (HeaderID.)UniqueID key, select No (even though the Date key is correctly matched). OFM will remind you to manually associate two keys for this table (from the bottom, above the OK and Cancel buttons).
29. As the key of this table is RESERVOIR (which is not a completion-type key), drop down the Key Type list and select Foreign.
43
Project Creation
Schlumberger
30. Click No. From the drop-down list of Foreign field, UNCHECK the HeaderID.Alias field. Scroll down the list and CHECK the SortCategory.RESERVOIR field. Note: You MUST uncheck the HeaderID.Alias field before checking the SortCategory.RESERVOIR field to make this work properly.
31. Now that OFM has correctly guessed the key associations, click Yes to accept the suggestions.
44
Project Creation
Schlumberger
Exercise 9
Associate the rest of the available tables to the OFM project. (Hint: FINANCIAL is a Lookup table, MONTHLYGASINJ is a Monthly table, and Sand is a Static table).
Exercise 10
(Optional) Un-associate the RES_PROD table, exit the Schema Tables window. Then go back to the Edit Schema Tables and re-associate the RES_PROD table. This time, use the CATEGORY key type instead of the FOREIGN key type. (Hint: You have to activate the RESERVOIR key before it is available as a CATEGORY-type key).
Exercise 11
Associate a Deviation table to the OFM project. Do not forget to close the workspace for the next exercise!
45
Project Creation
Schlumberger
1. Start OFM. From the File menu, select New Workspace. Click on the browse button to the right of the Workspace File text box and select the directory where you want your workspace file to be located. Enter a workspace name, i.e. demo_link_Access, and click OK. 2. Leave the Database File name unchanged. Toggle on the Design it interactively button.
46
Project Creation
Schlumberger
4. Select the HeaderID table in the OFM Representation pane. Right mouse click and select Delete from the menu options.
Note: OFM always suggests the default OFM database structure, with the Master Table being HeaderID and the Master Key being UniqueID. Generic databases normally do not follow this model. For demonstration purpose, we are going to simulate the generic case steps even though the data source already has this model. 5. Click on the Add Link Tables button.
6. Locate the directory where your Microsoft Access source database is located from the Look in select box. Select the database as shown below.
47
Project Creation
Schlumberger
7. Make sure the Files of type box shows Microsoft Access (*.mdb). Click Open.
8. The first table to link to the OFM project MUST BE the master table. In the source Access database, that table is the HEADERID. Select that table from the list and click OK.
48
Project Creation
Schlumberger
9. Select the HEADERID table (check the box). OFM recognizes this table structure and suggests the key association.
10. Since the mapping suggestion is correct, you do not have to take any action. Select the demo_link_Access node from the left pane.
49
Project Creation
Schlumberger
11. Click on Add Link Tables. Again, select the directory, the database, and make sure the Microsoft Access is selected as in steps 6 and 7. Click Open. 12. From the Select Table(s) to Link dialog, click Select All. Notice that the HEADERID table is available for linking. You do not need to link the HEADERID table again. Therefore, while holding the Control key (Ctrl), click on the HEADERID table to unselect it.
Notes: In step 7 of this exercise, you can select all tables (i.e. Select All). Then you MUST select the HEADERID table first (from the Available Tables list) to map into the project. Remember, the MASTER table MUST be mapped first. One source table can be linked as many times as you want (i.e. one source table is used to create many OFM project tables).
50
Project Creation
Schlumberger Data from different external data sources can be linked to in a single OFM project.
13. Click OK. The selected tables have been made available to the OFM project.
14. Repeat steps 8 31 in the previous exercise (Project Creation From an Existing Access Database). Do not forget to close the workspace for the next exercise!
51
Project Creation
Schlumberger No extra formats on the data columns (i.e. comments, merged cells, etc) Data in the same column must be of identical data type (i.e. number, text, date/time) and should be of the same format. No embedded graphs allowed on the linked worksheet.
In other words, KEEP IT SIMPLE! In this next exercise, you are going to create an OFM project with data from an external Excel spreadsheet. Built-in Excel linking setup procedure is used; and the data source is the stripped-down version of the Demo Access database. Please obtain the Excel file from your instructor or create one for this training exercise. The Excel spreadsheet structure looks similar to the following:
52
Project Creation
Schlumberger
(Example: Monthly table information) 1. Launch OFM. Create a new workspace. Locate the directory where you want to put the workspace file and the database file.
OilField Manager 2005 Fundamentals 5/11/2005 53
Project Creation
Schlumberger
2. Make sure Design it interactively is selected. Click OK. 3. Select the HeaderID table and delete it.
4. Click the Add Link Tables button. 5. Select the directory where the source Excel file is located. Select the desired file. From the Files of type drop-down list, select Microsoft Excel (*.xls).
54 OilField Manager 2005 Fundamentals 5/11/05
Project Creation
Schlumberger
6. Click Open.
55
Project Creation
Schlumberger
9. OFM recognizes the table structure and suggests the key association. As it is correct, do not change anything. Select the demo_link_Excel node from the OFM Representation pane.
56
Project Creation
Schlumberger
Notes: Once you are connected to the external data source, the procedure to map/associate the external tables to the OFM project is the same regardless of the data source type. You can rename a table in OFM, once the table has been mapped. Many external tables have long names, which you may consider changing. The external table names are still unaltered; only the OFM table names change. Tip: Right mouse click on the table (on the left pane) and select Rename from the menu, the program should give you access to changing table names. The master table can only be renamed when it has just been mapped to the project. After that, it cannot be changed. The other table names can be changed at any time unless the tables (and their children fields) are referenced by other tables/fields.
It has been left as an exercise to associate all other Excel tables to the project now that they have already been made available for use.
Exercise 12
Associate the other tables to the project. Please refer to the previous two sessions for procedure. (Hint: There are one static table, one monthly table, one daily table, one sporadic table, one dualkey sporadic table, and one monthly foreign key table).
57
Project Creation
Schlumberger
2. Click OK. Select the HeaderID table and delete it. Click the Add Link Tables button.
58
Project Creation
Schlumberger
3. From the Files of type drop-down list, select ODBC Database(). The Select Data Source appears.
4. (You are recommended to create a Machine Data Source DSN) Select the Machine Data Source tab, and click New. The Create New Data Source dialog displays.
59
Project Creation
Schlumberger
5. Toggle on the System Data Source and click Next. 6. Since the data source is Microsoft SQL Server, select the SQL Server from the driver list.
7. Click Finish. The Create a New Data Source to SQL Server window displays.
60 OilField Manager 2005 Fundamentals 5/11/05
Project Creation
Schlumberger
8. Specify your desired Data Source Name (Name) and give a Description (optional). The select the host Server name from the list of SQL Server you can connect to.
9. Click Next. Fill in the login appropriate information in the window below:
61
Project Creation
Schlumberger
Note: You can connect to the SQL Server database using the (Windows NT) network login ID or specifying server authentication login name and password. For more information, please consult with your instructor. 10. Click Next. Select the default database (where your source database is located) and provide other information as needed.
62
Project Creation
Schlumberger
12. Click Finish. The summary page displays. You can test the connection by clicking the Test Data Source.
63
Project Creation
Schlumberger
If the connection to the data source is good, you will get the following message:
15. Click OK. 16. Click OK to get back to the Select Data Source page.
64
Project Creation
Schlumberger
17. With the desired DSN being highlighted (as shown above), click OK to conclude the DSN setup procedure. The Tables dialog appears:
18. Considering that you are only connecting to a small set of tables, you can leave everything on this dialog at default. If you are linking to a rather large data source (i.e. Oracle database or SQL Server database), you would want to narrow down the list by specifying a filter criterion (i.e. Owner, Table only, or specific Table(s), etc) Click OK to continue. 19. The Select Source Tables dialog appears.
OilField Manager 2005 Fundamentals 5/11/2005 65
Project Creation
Schlumberger
20. Select the appropriate tables to link to the OFM project (i.e. HeaderID, Monthlyprod, etc). Once the tables are made available to OFM (in the list of Available Tables), the steps to associate those tables to the project are straightforward, as in the previous exercises.
Exercise 13
66
Project Administration
Schlumberger
Chapter 3
Project Administration
Project Panes
The most significant change to OFM 2005 is the Graphical User Interface (GUI). The GUI has been completely redesigned. These interface improvements reduce the number of menu selections and provide a more intuitive experience for the end user. This redesign of the GUI will enable users to quickly access and leverage the core functionality and features within the OFM environment. Accessibility through much of the functionality OFM provides is achieved through the use of project panes.
Learning Objectives
In this module, you will successfully learn how to perform the following procedures within this workflow: Changing the layout Working with panes Edit completions, wellbores, patterns Understanding units, multipliers, PVT data Editing table schema Editing categories
Hiding/Showing Panes
Panes that are open but not displayed in the main OFM window are displayed as a tab on an open pane. Placing the mouse over the tab shows the hidden pane. The image below shows the results when you mouse-over the tab of a hidden pane.
5/11/2005
67
Project Administration
Schlumberger
Note: The horizontal pin located in the upper-right corner of the pane indicates that the pane is not docked. Moving the mouse away from the pane, results in the pane being hidden.
Note: Clicking the pin again turns the Auto Hide feature On.
Floating/Docking Panes
Select the pane you want to move, drag it to the desired location, and release the mouse. The image below shows the results of a floating pane.
Note: To dock the pane, double-click in the header of the pane. The pane is restored to its original location.
Positioning Panes
Panes can be moved to any location within the OFM main window. To reposition a pane, select the pane and drag it to the desired location. An outline of the pane is displayed showing where the pane will be relocated. Panes can be repositioned within another pane, displayed as a tabbed page of another pane, or as a docked pane within the OFM main window.
Opening Panes
Panes can be opened from the View menu. Opened panes have a checkmark displayed to the left of them in the view menu indicating that the pane is opened.
68
Project Administration
Schlumberger
Note: The detached tab is indicated by a dashed line. 2. Release the mouse. The pane is docked in the new location.
69
Project Administration
Schlumberger
Wellbore displays the Delete/Rename dialog. This dialog enables you to delete or rename Wellbores from the database.
70
Project Administration
Schlumberger
Patterns patterns are groups of wells. The portion that each individual well contributes to the group varies with time and is calculated by applying a factor to the individual well data. Selecting the Patterns menu command displays the Edit Patterns dialog. This dialog contains a list of pattern data to select one or more patterns to display on the base map.
OFM Units
The Edit OFM Units dialog enables you to add or edit units of measurement to your project. This is useful when converting currency or when defining units required by the project not included in the OFM database. 1. Select Database>Units. The Edit OFM Units dialog displays.
Notes: The Edit OFM Unit dialog is displayed when you click the Add or Edit buttons.
71
Project Administration
Schlumberger
2. Enter a value in the Metric, English, and Conversion fields or modify the values currently displayed. 3. Click OK.
Multipliers
The Edit OFM Multipliers dialog enables you to create, edit, or delete unit multipliers for variables. The OFM multiplier functionality is useful for converting existing data, creating conversion factors, or defining multipliers that are not included in the OFM database. 1. Select Database>Multipliers. The Edit OFM Multipliers dialog displays.
Notes: The Edit OFM Multiplier dialog is displayed when you click the Add or Edit buttons.
72
Project Administration
Schlumberger
2. Enter a value in the Field, Metric, Scientific, and Conversion fields or modify the values currently displayed. 3. Click OK.
PVT Data
PVT Data is edited from the PVT Entity Name dialog. The PVT Entity Name dialog contains a Select One section, which lists entities such as wells, reservoirs, fields or surveys, for example. PVT data for the selected entity or item can be edited and stored in a database that is automatically accessed and used when calculations that require PVT data for the entity are performed. The PVT Entity Name dialog also enables you to add an entity, delete an entity or rename an entity in the Select One list. Predefined PVT table data for one entity can by copied to another (New) entity.
Project Administration
Schlumberger
1. Start OFM. 2. Open the Demo2005 project. 3. Select Database>Schema Tables. The Edit Schema Tables dialog displays.
Note: The level of the tree selected in the OFM Representation section of the dialog determines what information will be displayed on the right side of the Edit Schema Tables dialog. If the top level of the project is selected, only the Tables tabbed page is displayed. You must select a table to display the field tabbed page. 4. To remove/detach an OFM table from its source (Access) table, clear the checkbox in for of the source table. For example, clearing the checkbox MONTHLYGASINJ will detach the table from the OFM project without deleting it from the Access database. 5. To add an OFM table, click in the OFM representation area (also called the Folder pane, similar to Folder View in Windows Explorer), highlight Demo2005 (the project name), right-click and select Add.
74
Project Administration
Schlumberger
6. Replace the name New Item with NewMonthly. OFM assumes that the table is of Monthly type and creates the default fields UniqueID and Date.
8. In the Add New Field type NewOil and click Add. The new variable/field NewOil is added into the table.
OilField Manager 2005 Fundamentals 5/11/2005 75
Project Administration
Schlumberger
9. Repeat the previous step, this time adding NewGas and New Water variables. Note: The newly added fields are displayed in the Available Fields section of the dialog.
Note: Once the fields are created, clearing the checkbox in front of the field detaches the field from the project; it does not delete it from the database. 10. To assign attributes to a field, highlight the field in the OFM Representation section of the dialog. Select NewOil the properties for this field are displayed on the right side of the dialog.
11. Locate the Variable section of the Field tabbed page. Select Single from the Type list field. 12. Select the Units tab. Locate the Units section of the dialog. Select bbl m3 from the drop-down list. Leave the Display Unit System checkbox unchecked.
76
Project Administration
Schlumberger
13. Select the Math tab and accept the defaults. 14. Select the Report tab and locate the Format section. In the Width field type 10. In the Decimal field type 0. In the Justification section of the dialog select Right and accept the default Heading.
15. Select the Plot tab and enter the information listed below. Curve Name: (New) Monthly Oil Production Line Color: Green Line Width: 4 Line Type: Solid Point Type: None Point Size: (not applicable with Point Type of None) Fill Interior: None Fill Style: Horizontal
77
Project Administration
Schlumberger
Editing Categories
All text fields in all static tables can be used as categories. In the OFM Demo2005 database only some of the project categories are active. To edit (activate or de-activate) the categories follow the instructions outlined below. 1. To activate or de-activate the categories select Database>Categories. The Select Categories dialog displays.
2. Check the desired boxes in the Category Name column to activate them, or clear the checkbox to deactivate them. Note: Use the Show all Fields option with caution as it can cause round-off errors for non-text fields. 3. Select the Show All Fields (text and numeric) checkbox. A warning dialog displays.
78
Basemap Customization
Schlumberger
4. Select the desired checkboxes in the Category Name column to activate the categories. 5. Click OK.
79
Basemap Customization
Schlumberger
Chapter 4
Basemap Customization
The basemap is the first screen you see when opening a project. It is probably the last window you see before closing the project. Managing a distinguishable Basemap helps reduce confusion and mistakes.
Prerequisites
If you do not already have your OFM application open, please open it now. Then, load the Demo2005 project. We are using this project for all exercises in this chapter.
Learning Objectives
In this module, you will successfully learn how to perform the following procedures within this workflow: Map Association Map Display Map Properties Zooming/Unzooming Map Annotations and Deviations Creating/Editing Map Associations (interactively)
5/11/2005
80
Basemap Customization
Schlumberger
2. Well Type - Table is the most common association for well display, color and attributes. You can associate/map this specification to any of the text fields in any of the static tables. Select Sc.Lease from the list and click OK.
81
Basemap Customization
Schlumberger
3. Select Create from data option because symbols for the Lease fields are not predefined in the WellType.def file (in the \\...\symbols directory). 4. Click OK. 5. The remaining associations should be self-explanatory. If you know which fields in your databse correspond to the OFM map fields, associate them. In this project, it is likely tat OFM would suggest the correct fields so you do not have to make any changes. Tips Coordinates and Depths information must be located in the master table. Well Type Expression can be associated to any project variables (including input variables, calculated fields, and calculated variables which will be addressed more extensively in Reporting and Creating Calculated Variables. Well Type Expression, upon association, will lead to the window in step 2. You will need to make the correct choice as in step 3. Other map fields are likely text fields and can be mapped to any text fields in any static tables (same as Well Type Table fields). If you know that your X and Y-coordinates are in Lat-Long, click Coordinates located at the bottom left corner of the dialog. Then check the Convert my Lat-Long coordinates to UTM box, select the reference system and click OK. OFM will automatically do the job for you.
6. When all map associations are complete, click OK. The basemap displays with the color and attribute-coded wells.
82
Basemap Customization
Schlumberger
7. Select Edit> Map>Association. 8. From the Well Type Table list field select Sc.Well Type and click OK. 9. The Well Symbol File dialog displays, select Default. 10. Click OK the Well Symbol File dialog closes. 11. The basemap displays with the well type as the legend display criteria. Move the legend, if needed.
Map Display
Some of the basemap attributes are modified from the Edit>Map menu command. A submenu displays enabling you to modify the map association data, symbols, map annotations, headers, and scale of the basemap currently displayed.
Well Symbols
1. Well Symbols are referenced from the default symbol file. However, the well symbols may be customized. Select Edit>Map>Symbols. 2. In the Well Symbols dialog, specify as shown below:
83
Basemap Customization
Schlumberger
Tips To use your own (or a provided) symbol file, click Get File. Save the current symbols used to a file for future use by clicking Save File. The two checkboxes at the base of the Well Symbols dialog are used to enhance performance when dealing with a potentially large number of wells.
84
Basemap Customization
Schlumberger
4. Change the symbol size back to 1, so the wells will not be on top of each other.
Well Name
1. Locate the Well Name Properties section of the Properties pane.
2. Click in the field to the right of Well Name and select Well Name. The Well Names are displayed on the basemap.
85
Basemap Customization
Schlumberger
3. The well names are too long to be distinguished on the basemap. Return to the Properties pane and select Alias Name from the Well Name list field.
Map Limits
Map Limits are modified from the Grids and Limits section of the Properties pane.
86
Basemap Customization
Schlumberger
Tips Change all the Grid Limits and Control settings by entering the desired values in the corresponding fields. The Gridline Attributes can be changed by selecting the desired options from the Gridline Attributes section of the Properties pane. Coordinate values are displayed when the Numbers attribute is Yes. Coordinate values are displayed with the specified decimals in the Decimal Places field located in the Numbers section of the Properties pane. To modify this value, the Grid Control property must be set to Manual. Return the default OFM control values by setting the Grid Control property to Auto.
Map Headers
1. Select Edit>Map>Headers. The Edit Headers dialog displays.
87
Basemap Customization
Schlumberger
2. Select Clear to clear any headers currently in place. When asked to confirm, select Yes. On the first row type OilField Manager 2005. On the second row type Demo 2005 Project.
4. Specify the font attributes. Click OK to close the Font dialog. Click OK to close to Edit Headers dialog. 5. Position the mouse on each header to move it to the desired location on the basemap. 6. Right-click and select Done from the shortcut menu.
88
Basemap Customization
Schlumberger
Tips The legend can be moved by dragging and dropping to any location on the basemap. Multiple headers can be selected concurrently by selecting them after one another. Then they can be moved simultaneously. The headers have their own menu commands. Select the header and right-click to access this menu.
Map Scale
The Map Scale is primarily used for legend unit display (i.e. for coordinates) and controlling output, such as printing. OFM does display your basemap in the most reasonable scale it can calculate. The unit shown with the Scale specification goes with what being specified in the Edit>Map>Scale option.
89
Basemap Customization
Schlumberger
Map Annotations
The Map Annotations dialog enables you to display annotations on the basemap by loading annotation files and instruct OFM to display the selected annotations. 1. Select Edit>Map>Annotations. The Map Annotations dialog displays.
Note: If your project does not have annotations loaded, the OFM Data Loader displays. (Refer to the Data Loading section for information.)
90 OilField Manager 2005 Fundamentals 5/11/05
Basemap Customization
Schlumberger
3. Navigate to the two annotation files from the \\...\Sample Databases\Demo Database\Text Load Files directory into the project. 4. Select the files and click Add. Then click Load. The OFM Data Loader dialog closes and you are returned to the Map Annotations dialog. 5. Select each file to make it active or inactive. Active annotations are displayed if the Display active map annotations checkbox is selected. Inactive annotations are already loaded into the project but not shown on the basemap. Note: The default option is active.
91
Basemap Customization
Schlumberger
6. Check Cache annotations for performance (recommended) for each of them to compress and save all of the annotations to the OFM project. Once you select this checkbox a confirmation dialog displays.
7. Click OK and all your annotations will be saved to the current OFM project. 8. Select Edit>Map>Annotations. The Map Annotations dialog displays. Note: Click Remove if you want to unload the selected annotation file. Click Add to load more annotation files into the project. 9. Highlight the first annotation file listed in the Files section of the Map Annotations dialog. 10. Locate the Preview section and click Current. The select annotation displays in a preview window.
92
Basemap Customization
Schlumberger
10. Click All. All annotations are displayed in the preview window.
11. Click OK to close the Map Annotations dialog. The annotations are displayed on the basemap.
93
Basemap Customization
Schlumberger
94
Basemap Customization
Schlumberger
Tips The Draw Well Location options determine the location of the well symbol on the survey (deviation display). The Draw Survey options determine how the deviations are drawn.
4. (Optional) Change the specifications for deviation display and observe the changes on the basemap.
95
Basemap Customization
Schlumberger
This specific part of the basemap can be selected and viewed in detail using this window. To zoom click the + or use the slider at the base of the window.
Irregular Zoom
The Irregular Zoom option helps you to zoom in on the specific area of the basemap in irregular fashion like triangular, rectangular, as well as polygonal shapes. 1. Check View>Irregular Zoom. The cursor will show an irregular shape at its base. 2. Select the area of interest on the basemap by continuously clicking with the left mouse button. OFM will automatically join the points. 3. Once the area is complete, right-click and select Done from the shortcut menu. You are zoomed in on the selected area. 4. To zoom out click the Zoom Out button or from the View menu select View>Zoom Reset or View>Zoom Out.
Track Cursor
The position of the cursor on the basemap can be recorded by checking the Track Cursor option from the View menu. Select View>Track Cursor. This option displays the position of the cursor in the map coordinates at the bottom left part of the status window.
96
Basemap Customization
Schlumberger
Workbook Mode
The workbook mode can be chosen by selecting View>Workbook mode. This option enables you to have multiple windows open without minimizing the viewing area. Each window is displayed as a tabbed page within the OFM main window.
Each of the windows can them be accessed by clicking on the respective tab at the top of the main window.
2. Click on the desired drawing tool buttons to activate the draw mode. 3. Start drawing the annotations. 4. When done, click on the Start/Stop button (last button, with a tool tip when your cursor is there) or click the right-mouse button and select Stop. (You can edit the annotations attributes later)
OilField Manager 2005 Fundamentals 5/11/2005 97
Basemap Customization
Schlumberger
Tips New to draw new annotations Open to open saved annotations Save to save the current annotations (display)
Edit Annotations
In this next exercise, you will learn to edit your annotations. 1. From Tools>Map Annotations menu, select Open. 2. In the Open window, browse to find the Demo Basemap Anno Data.ano file (in \Sample Databases\Demo Database\Text Load Files\ directory).
98
Basemap Customization
Schlumberger
Note: As you open an annotation file, the default mode is Create, so you can
add more annotations to the current display. 4. Right-click on the Basemap. A shortcut menu displays. 5. Select Edit. The Map Annotation Editor displays.
99
Basemap Customization
Schlumberger
100
Basemap Customization
Schlumberger
8. Increase Text 2, Text 3, Text 4 sizes to 14. 9. Click OK. The Map Annotation Editor window closes and the changes are applied to the basemap.
10. Go back to Edit and change all the annotations that you want. You can even move the annotations by changing their coordination. Save the file (over-write the file name if you want). Note: All the map annotation-editing options can be accessed with the rightmouse click. However, the menus that appear depend on the hierarchical (drill-down) level you are on.
101
Basemap Customization
Schlumberger
5/11/2005
102
Filtering
Schlumberger
Chapter 5
Filtering
Filtering (formerly referred to as Sorting) is a technique used to narrow down the list of entities to a more manageable and workable selection. In reality, most users are only interested in a subset of their working projects. The concept of Filtering in OFM has proven to be very useful for all users as good filter criteria can really optimize the time to perform analysis, guarantee correct results, and maximize productivity. The OFM Filter pane is pictured below.
The toolbar at the top of the Filter pane enables you to quickly perform filtering functions. The table below provides a brief description of each of the functions.
Filter Toolbar Icon Group Clear Save To Well List Save To Archive Save To Scatter Set Invert Group Name Filter By Completion Action Description Groups all selected items. Clear any previously applied filter. Displays the Well List dialog enabling you to save selected wells to a list file. Displays the Add Filter Archive dialog enabling you to save the current filter to the filter archive. Displays the Save As Scatter Set File enabling you to save the selected wells to a scatter set. Exclude the returned filter results. Displays the Edit Group Name dialog enabling you to name groups of completions. Displays the Filter By Completion dialog enabling you to create a subset of data by selecting one or more records of the filter option. Displays the Filter Details dialog.
5/11/2005 103
Details
OilField Manager 2005 Fundamentals
Filtering
Schlumberger Note: One of the most frequently used Filter operations is Clear. To guarantee that your filter criteria is applied to the entire set of wells (entities), clear any previously applied filters (unless you want to perform nested filters).
Learning Objectives
In this module, you will successfully learn how to perform the following filtering procedure: Filter by Completion Filter by Table Data Filter by Category Filter by Match Filter by Well List Filter Using Map Area Filter by (OFM) Query Using Step Functionality Project Filtering Other Filtering Methods
Filter by Completion
The Filter by Completion option is used to create a subset of data by selecting one or more record of the filter option columns. Filter by Completions dialog box displays by default two columns in one screen, the first one is fixed and is the Completions column the second one is not fixed and user can select one of these categories Alias, Fieldname, Lease, Logdata, Reservoir, Sandname, Uniqueid, or Welltype. 1. Open the Demo2005 project. 2. From the Filter pane click , Filter By Completion. The Filter By Completion dialog displays.
104
Filtering
Schlumberger
In previous OFM releases, only the full Completion name could be displayed in the list for user defined selections. OFM 2005 by default displays both the full completion and alias name in one screen. Additionally, a user may change the view from Alias to another category for display in the second column by selection the Second Column Info drop-down list. The CTRL or Shift keys help the user to select multiple wells or entities of interest. Clicking the column headers will sort the well entities automatically. 3. While holding the CTRL key on your keyboard, use the mouse to select the following completions: Tips Clear will remove any previous selections. Select All will highlight all completions. Exclude reverses the selection and selects any completions that were not highlighted. 4. Click OK the Filter by Completions dialog closes. 5. Select Edit>Map>Annotations. The Map Annotations dialog displays. 6. Uncheck Display active map annotations and click OK. Blue_1:He_0 Blue_10:Ad_1A Blue_11:Li_1C Blue_14:Li_1C
105
Filtering
Schlumberger 7. The basemap does not adjust to display the selected wells (zoom). You can ask OFM to automatically zoom in the selected wells by selecting Tools>Settings. The Settings dialog displays.
8. Select the Maps tab. 9. Check Auto zoom map around selected wells. 10. Click OK to close the Settings dialog.
106
Filtering
Schlumberger
11. From the Filter pane click the , Group All Selected Items icon. The wells are shown in magenta indicating that they have been loaded into memory as one entity.
12. Locate the Step toolbar at the top of the OFM main window. 13. Click the drop-down arrow and select the first well, Blue_1:He_0.
The basemap now only has one well highlighted in magenta, Blue_1.
107
Filtering
Schlumberger
3. Select MONTHLYPROD table from the list of tables. The basemap returns all wells with production data. Note: The output data at the top of the filter pane. It shows that 120 wells meet the filter criteria. In other words, 120 wells have valid data in the MONTHLYPROD table.
108
Filtering
Schlumberger
4. Clear the filter. 5. Select wells that have test data select TEST table. A list of 21 wells that meet this filter criterion is returned. 6. Now filter the wells that have records in both the MONTHLYPROD and TEST tables for comparison. Select MONTHLYPROD and TEST tables from the list.
Question
What do you think the results mean? Why 20 and not 21? Can you single out the difference (well name)?
Filter by Category
The prerequisite for this operation is that the categories used have to be previously defined in the project. For example, take a look at the wells that belong to the BERRINGER lease (provided that LEASE is a category). 1. Expand the Category node and select LEASE.
109
Filtering
Schlumberger
2. Select BERRINGER. The basemap shows 94 wells that belong to the BERRINGER lease. 3. Clear the filter. 4. To select wells in either BERRINGER or TRAMMEL, select both checkboxes. The basemap shows 129 wells. Obviously, the TRAMMEL lease has 35 wells (129-94=35). 5. Clear the filter. 6. Select wells that are in BERRINGER and belong to the ADOBE reservoir. 7. Select BERRINGER from the list of available leases. 8. Expand the RESERVOIR node and select all ADOBE reservoirs.
110
Filtering
Schlumberger
Question
Select the oil wells that belong to the LITMUS reservoirs. How many wells are there?
Filter by Match
OFM also provides a Filter by Match option. This enables you to search for the list of desired wells. The match can be performed by well name or alias name. 1. From the Filter pane select Match and right-click. A shortcut menu displays.
111
Filtering
Schlumberger
3. In the Completion Key Match field type BL*. This option is not case sensitive. 4. Click OK. The Match dialog closes and you are returned to the OFM main window. 5. Check Match 1 in the Filter pane.
112
Filtering
Schlumberger Note: The map displays 40 wells that satisfy the filter criteria. 6. Select Match1 and right-click. Select Edit from the shortcut menu. The Match window displays. 7. In the Completion Key Match field type B*. 8. OFM allows you to input multiple search criteria. Select Match and rightclick. 9. Select Add from the shortcut menu. The Match dialog displays. 10. In the Completion Key Match field type R*. 11. Check Match2. The basemap returns 68 wells.
Note: If you have a list of search criteria (search characters), you may want to save that with the Save option and re-use that list with the Open option.
Filter by Query
So far, we have gone through several filter techniques that deal with entities (i.e. well name) and data at static level (i.e. sort category value). But the most important data are production data, which change over time. To filter to that dynamic level of data, use Filter by Query. For example, select the wells that have produced more than 500 bbls per month at least once in their production history. 1. From the Filter pane select OFM Query and right-click. A shortcut menu displays.
113
Filtering
Schlumberger
Note: If queries were not previously created, you have to create one by clicking Edit. 3. Click Edit. The Create Query dialog displays. Note: For those of you who are familiar with query languages such as SQL, this interface mimics the WHERE portion of your query statement (pay attention to the built-in Select UNIQUEID where at the top of the window). 4. In the text window below Select UNIQUEID Where, enter Monthlyprod.Oil>500. Tips Monthlyprod.Oil is an input variable. It can be found from the Project Variables list. Click the Project Variables button and select the Monthlyprod.Oil variable from the list. Click Add (or double-click the variable to add it to the above window). All variables in the project can be found and added this way.
OilField Manager 2005 Fundamentals 5/11/05
114
Filtering
Schlumberger They keypad can be used to add non-text characters, logical operators, and keywords used in a typical query statement (if you dont want to use the keyboard). The Delete and Clear buttons provide quick editing capability. Please keep in mind that in OFM, AND operator is represented by the & (ampersand) character, OR operator is represented by the | (vertical bar) character, and NOT operator is denoted by the ! (exclamation mark). All the text characters are not case-sensitive.
5. Click OK to return to the OFM Query window. The filter query statement appears next to the Edit button.
6. Since we want to get the wells that produced more than 500 bbl a month at least one time, enter 1 at the time(s) box. Leaving it at 0 would yield the same result, as 0 means default in OFM, and the default occurrence is 1. Click OK. 7. From the Filter pane, select the checkbox to the left of the newly created query. The Basemap appears with 99 wells.
115
Filtering
Schlumberger
Definition You can apply the query criteria to any category level, as well as the completion and alias level, using this drop-down list. If you use another entity here rather than the completion level, the filter criteria will be applied to the grouped values. You can choose & edit the expression to screen down the number of wells . This text box is where you specify how many times you want the query criteria to be applied to the data. This option works together with Is met or Is not met to specify that those occurrences have to be consecutive, not random. To save the query criteria and settings. Restores the expression criteria to its original settings.
9. In the Filter by Query window, click Edit. 10. In the OFM Query dialog, enter Monthlyprod.Oil > 500 & Date >= 19900101. 11. In the above statement, with the AND operation, the command told OFM to only apply the filter to monthly oil production records from January 1st, 1990, ignoring all records before that date. 12. Click OK, to open the OFM Query window. Enter 3 in the Occurrences box to check for at least three instances the criteria are met. Make sure the Consecutively box is not checked.
13. Click OK to run the query. 14. Select the checkbox to the left of the newly created query OFM Query 2.
116
Filtering
Schlumberger
Thirty-one wells return, meaning each of those 31 wells has produced at least 500 barrels of oil per month more than (or equal to) three times in its producing history since 1990. 15. Select OFM Query2 and right-click. 16. Select Edit. The Create Query dialog displays. 17. Nesting in another condition to check for gas production (i.e. searching for the wells that have high oil and low gas production). Append this line to the end of the previous query statement, & Monthlyprod.Gas < 500000. 18. Rerun the query, only 18 wells return. 19. Select OFM Query2 and right-click. 20. Select Edit. The Create Query dialog displays. 21. Add in the parentheses to the query statement. Enter (Monthlyprod.Oil > 500) & (Monthlyprod.Gas < 500000) & (Date > = 19900101).
22. Now rerun the query. It will return the same result. However, by adding parentheses, the query statement is more readable and manageable. The order of precedence is very important in any type of query language. Parentheses verify that the query is evaluated in the order that the user specifies and helps avoid unnecessary errors. It is recommended that you get into the habit of adding parentheses.
117
Filtering
Schlumberger 23. Use the Filter by Query to find the wells that produce at least 5000 bbl of oil or 2000000 scf of gas for at least 3 consecutive times since 1990. Your query should return 19 wells. 24. Use the Filter by Query to find the wells that produce at least 50 bbl of oil for at least 3 consecutive times since 1998. Save the query as Prod_Wells98. Your query should return 18 wells. 25. From the Filter pane, click the Save icon and select To Well List. 26. Save it to your desired directory as Prod_Wells98.txt. You may be using this list for future tasks (i.e. Forecasting). 27. Select the Filter Archive tab located at the base of the Filter pane. Select the Archive node, right-click and select Add. A new node is added. 28. Rename the node Prod_Wells98.
Note: OFM supports nested filtering (or stage filtering). That means you can apply your current filter on the previously filtered list. This operation cannot involve Clear Filter. 29. To filter the wells producing more than 2000 bbl of oil, have test information, and belong to the BERRINGER lease. Expand the Category node, then the LEASE node, and check BERRINGER. Note: You can have all the arguments in a logically combined query statement, but the statement then could be very difficult to maintain, troubleshoot, and understand (not taking into account the limitation of the query statement buffer size). 30. Expand the Table Data node and select TEST table. 31. Select OFM Query and right click. Select Add from the shortcut menu. The OFM Query window displays. 32. Click Edit. The Create Query window displays. 33. Type Monthlyprod.Oil>2000.
118
Filtering
Schlumberger
34. Click OK to run the query. The result of your nested filter is displayed. Do not clear the filter.
Others
There are many more features related to Filtering. They are listed in the table below. Icon Action Invert Filter None Filter by DCA Data Description Inverts the selection and selects the wells that do not meet the filter criteria. Applies for the wells that have forecast data. When you are plotting information for the wells and would like to save some of them into a list to come back and perform further analysis you can flag (mark) them. Then after you close the plot window, you can ask OFM to retrieve such a list of wells by using this feature. Saves filter to Well List. Saves filter to Scatter Set. Saves filter to Archive.
Flagged Items Save Well List Save Scatter Set Save Archive
Invert Filter
The Invert Filter command enables you to exclude the returned results of the filter criteria by inverting the selection and selecting the wells that do not meet the filter criteria. 1. Apply the desired filter. The filter is applied to the wells displayed on the basemap. 2. Click the Invert Filter icon. The reverse action is applied to the basemap.
119
Filtering
Schlumberger
Flagged Items
1. Use the Step Toolbar to view the well completions by clicking the First, Previous, Next, or Last icons.
3. Continue to flag any other wells of interest. 4. From the Filter pane, click Filter by Completion, . The Filter by Completion dialog displays. Notice that the Select Flag button is enabled.
120 OilField Manager 2005 Fundamentals 5/11/05
Filtering
Schlumberger
5. Click Select Flag to select the components that have been flagged.
6. Click OK. The Filter By Completion dialog closes and only the flagged completions are displayed on the basemap.
Save
The filter can be saved in three forms well list, scatter set, and archive.
121
Filtering
Schlumberger Well List Well list stores the information of all the wells that meet the filter criteria in the text file format in the form of Unique IDs. 1. From the Filter Pane, click the Save to Well List icon. The Well List dialog displays. 2. Enter the desired name in the File Name field and click Save. 3. To apply the filter from a previously created well list file, select the Well List node, right-click, and select Add.
4. Select the name of the previously saved *.txt file. Scatter Set Scatter Set contains the well Unique IDs either by category or filter name. Categories can be field name, lease, log data, reservoir, or well type. 1. From the Filter Pane, click the Save to Scatter Set icon. The Save As Scatter Set File dialog displays.
2. Enter the desired name in the Current Filter As list field. 3. Select the Category radio button and select the desired category type. 4. Click OK. Filter Archive In query, you can save the query setup and/or the query result. In other filter techniques, you can save the result, as the setup is not that important. However, if your filter procedure involves many steps (i.e. nested filter), it
122
Filtering
Schlumberger would be useful to save the procedure (steps) itself. Filter Archive helps you achieve that goal. 1. After applying the filter, click the drop-down arrow to the right of the save icon and select To Archive.
3. Enter a name in the Filter Archive Name list field and click OK. 4. Select the Archive tabbed page on the Filter pane. The archive is displayed below the Archive node.
Note: To apply the archived filter criteria, double-click on the archive or rightclick on the archive and select Load from the shortcut menu.
123
Filtering
Schlumberger
Step
Another feature that relates to filtering in OFM is Step (a global menu). You can set up OFM entity level from the Step pane. OFM will pre-process data and return information at the set Step level at retrieval time. For example, if you set Step to RESERVOIR, you are dealing with individual reservoir instead of well/completion level. From the drop-down well list, reservoir names will be displayed instead of well names. Clicking on the next or previous button will take you to the next/previous reservoir in the list.
Takes to the very first entity in the list. Takes to the previous entity in the list (at level set in Step>Category). Takes to the next entity. These two options work the same way as the above toolbar buttons. Takes to the very last entity in the list.
Project Filter
In this version of OFM, there are smart-loading algorithms to speed up project opening. The time it takes to open a project depends on how big your project is. It will take longer to open a 100,000-well project than a 100-well project. Still there are times that you would like for it to open faster. The problem may be even worse if you are working on a network project, and the network is somewhat slow. OFM provides the option of pre-filtering the wells. Applying this type of filtering (called Project Filter) to your project will cause it to read only the applicable list of wells, saving load time from reading the excluded wells. We are going to use the Demo2005 project database to demonstrate this functionality.
124
Filtering
Schlumberger
3. Select the Project Filters node and right-click. 4. Select Add from the shortcut menu. The Edit Project Filter dialog displays. 5. In the Where Clause section of the dialog, enter XCOOR>1671000 AND XCOOR < 1676000 AND YCOOR>388000 AND YCOOR < 392000.
125
Filtering
Schlumberger
6. Click OK and the basemap is redrawn. The Edit Project Filter dialog closes. 7. Select the checkbox to the left of the newly created filter Project Filters1.
126
Filtering
Schlumberger
8. Clear the checkmark to the left of the project filter. The basemap shows all 231 wells.
9. Select Project Filter1 and right-click. A shortcut menu displays. 10. Select Edit. The Edit Project Filter dialog displays. 11. Click Clear located in the Project Filter Table section of the dialog. 12. In the Table list field select HeaderID. 13. From the Fields list select CID. 14. From the Operator list select = (equal sign). 15. Click Find Field Values. 16. From the Values list field select Li.
OilField Manager 2005 Fundamentals 5/11/2005 127
Filtering
Schlumberger 17. Click Add to Where. The clause is added to the Where Clause section of the dialog.
18. Click OK. The Edit Project Filter window closes. 19. Select the checkbox to the left of the newly created project filter. The basemap displays 44 wells that belong to the Litmus reservoir.
128
Filtering
Schlumberger
129
Project Variables
Schlumberger
Chapter 6
Variables
Project Variables
There are many different ways to classify OFM variables (also called project variables), depending on how you would want to use them. Based on the table types that the variables belong to (or created from), you would have monthly, daily, sporadic variables, etc Based on data type, you would have date, numeric or alphanumeric (text) variables. However, the most recognizable classification, the OFM primary classification, is based on database (storage/processing) properties. Consequently, there are three types of variables: Input Variable Calculated Variable Calculated Field
Input Variable is the simplest form of variable. Input variables are fields that belong to physical tables with physically loaded data. In other words, if you open the table in Access or in OFM you would see editable data. Input variables do not change value, i.e. every time a request is made to an input variable (on a specific entity), you would get the same copy of the data. In its Access database (project), OFM stores both the design and the data of the input variable. Calculated Variables are derived variables or dependent variables. OFM only saves the definition of a calculated variable, not its physical data. Therefore the value of a calculated variable may change from time to time. For example, each time a retrieval request for a calculated variable is made you may get a different copy of the data. The advantage of this variable type is that you always get the most up-to-date copy of the data, and you do not have to worry about project storage capacity. Calculated Field (formerly known as Imputed Variable) is a unique variable type in OFM. There are scenarios when neither input nor calculated variable would be sufficient to address. Fortunately, with the existence of Calculated Fields, those problems are resolved; and the combination of these three types of variables has been proven to be a complete solution for any practical purpose. The first scenario involves divide by zero operation. As most of the software applications handling computing, this operation involves some sorts of unusable result. In the oil industry many variables are defined as ratios, and people are dealing with zero denominators all the time. OFM imposes the
OilField Manager 2005 Fundamentals 5/11/2005 130
Project Variables
Schlumberger
following rule on all the arithmetic operations: Any arithmetic operation with a null operand results in a null. If you choose to handle this problem from calculated variable perspective, you may get into trouble grouping (adding or averaging) or performing consequent arithmetic operations on that calculated variable. OFM offers a better way of doing it, with an intrinsic if statement to replace the unusable results by nulls. The second scenario arises with the grouping option. One perfect example to demonstrate the concept of calculated field is the Gas-Oil Ratio, defined as Gas/Oil. On an individual level (single well), it does not make any difference. Yet on grouped level, there is a big difference between ratio of the sums and sum of the ratios. As you group the wells, OFM groups (sums) Gas from the source, groups Oil from the source, and then takes the ratio. This is similar to taking the average (per well). What if you want to group individual (well) ratios? The last scenario is even more complicated. Primary OFM data frequency is monthly, and users are used to creating (average) daily rates by dividing monthly productions by the reported numbers of producing days in the month. Grouping productions and producing days at the source and then taking the ratio would yield the (per well) average daily rate. Taking the ratios and then grouping them would result in a field daily rate. Depending on what you want to do with your data, you have to choose the correct implementation of which variable type to use.
Learning Objectives
In this module we will cover how to create calculated variables and calculated fields. You will have a chance to apply them in the next section, Reporting. At the completion of this module you will be able to: Edit Calculated Variables Add Calculated Fields Create Calculated Variables
Calculated Field
1. Select Database>Schema Tables. The Edit Schema Tables dialog displays.
131
Project Variables
Schlumberger
2. Highlight the MonthlyProd table from the OFM Representation pane and right-click. A shortcut menu displays and select Add. 3. Name the new field GOR. 4. Highlight the GOR field on the left pane. Select Field tabbed page and locate the Variable section of the dialog. 5. In the Type field select Calculated (Double). The Edit Calculated Field dialog displays.
132
Project Variables
Schlumberger
Note: You can select the desired fields from Source Fields list, click Add (as many times) to add them to the Definition box, and click to add the necessary operators (from Operators group box) to complete the statement. 6. In the Definition section type, IIF( OIL <> 0, GAS/OIL, NULL ). 7. Click OK. The Edit Calculated Field dialog closes and you are returned to the Edit Schema Tables dialog. The equation is displayed in the Equation section of the dialog.
133
Project Variables
Schlumberger
Note: You can always edit the equation by clicking the Edit button and changing it from the Definition text box. 8. Select the Units tab. Select cf/bbl from the Units list. 9. Select the Math tab. Change the Input and Output Multipliers to M (since Monthlyprod.Gas is set to M). 10. Select the Report tab. Change the Format Width to 12. Accept the default Decimals. 11. (Optional) Change the heading. 12. Select the Plot tab. In the Curve Name field type (Calcd Field) Gas-Oil Ratio. 13. Assign the following attributes: Line Color Red Line Type Solid Line Width 4
14. Click OK. The Edit Schema Tables dialog closes and you are returned to the main OFM window.
Exercise 14
Add the following calculated fields to your project, from the Monthlyprod table: 1. Name: PDOIL, definition: IIF( DAYS <> 0, OIL/DAYS, NULL ). Assign the attributes. 2. Name: WCUT, definition: IIF( (WATER+OIL) <> 0, WATER/(WATER+OIL), NULL ). Assign the attributes.
134
Project Variables
Schlumberger
3. Name: ON, definition: IIF( [OIL] OR [GAS] OR [WATER], 1, 0 ). Assign the attributes. (This variable may have been included in the project).
Question
Calculated Variables
There are virtually no limitations on how many calculated variables you can have in your project. Calculated variables can be exported/imported to/from similar projects (i.e. using a template). With more than 230 system functions in OFM, calculated variable is one of the strongest functionalities that OFM users should take advantage of. In the scope of this course, we will be learning how to create a few most common used calculated variables. Note: Most of them will be verified on the Report, your next module. The Demo2005 project comes with a built-in set of typical calculated variables. In any case, you are welcome to examine their definitions, attributes and use them as a starting point. Note: The Database>Calculated Variables menu command is a global menu command that you can access from any module in the project.
Ratio Variable
1. Open the Demo2005 project. Select Database>Calculated Variables. The Edit Calculated Variables dialog displays.
135
Project Variables
Schlumberger
An individual or asset team may be familiar with a standard set of calculated variables. The User column classifies the following: Standard Company Calculated Variables Calculated Variables for a specific asset team An engineers personal set of Calculated Variables A combination of the above points
The Class column specifies the category type of calculated variables. Such classifications can be to: Class monthly calculated variables only Class daily calculated variables only Class water flood variables only
The Variables column displays the subset of calculated variables of interest in an OFM project based on the User and Class selected. The default is to display all calculated variables. 2. Click New. The Edit Calculated Variable dialog displays. In the text field at the top of the dialog type Monthlyprod.Gas/Monthlyprod.Oil. 3. Click OK. The Edit Calculated Variable dialog closes and the Edit dialog displays.
136
Project Variables
Schlumberger
4. In the Name field type CV.GOR. Leave User and Class fields unspecified. 5. Assign attributes to the calculated variable. Select the Units tab and assign M as the Output Multiplier. In the Units section select cf/bbl. Note: It is recommended to assign more attributes for this variable, i.e. Report Headers, Plot Name, etc. 6. Click OK the Edit dialog closes and you are returned to the Edit Calculated Variables dialog. 7. Click Close.
Cumulative Variable
Cumulative productions are always figures of interest. To create cumulative productions, OFM provides a system function named @CumInput(). This function calculates the running sum of the variable inside the parentheses (called argument), including prior cumulatives (precums). Please ask your instructor for the concept and usage of precums in OFM. 1. Open the Demo2005. Select Database>Calculated Variables. The Edit Calculated Variables dialog displays.
2. 3.
Select New. The Edit Calculated Variable dialog displays. In the text field at the top of the dialog type @CumInput( MonthlyProd.Oil ).
4. Click OK. The Edit dialog displays which prompts for name of the variable, units, reports, and plots attributes. 5. In the Name field type CV.CumOil . 6. Select User and Class according to the type of the variable. Leave them empty for this exercise. Do NOT click OK. (If you select a variable from the list, you can edit/delete that variable). 7. Select the Units tab. 8. Select M for Output Multiplier and select bbl (bbl = = >m3) for Units.
137
Project Variables
Schlumberger
9. Select the Report tab. In the Decimals field type 3. 10. Change the Heading to Cumulative and Oil (two different rows).
11. Select the Plot tab. In the Curve Name field type Cumulative Oil. 12. Assign the following attributes: Line Color Green Line Type Solid Line Width 4
138
Project Variables
Schlumberger
13. Click OK. The CumOil has been added to the project (can be found from the variable list). The @CumInput() function can only take input variable as argument. If your argument is not an input variable, use @Rsum() or @CRSum(). These system functions do not take previous volumes (precums) into account.
Exercise 15
1. Create similar calculated variable for Gas Cumulative and Water Cumulative. 2. Close the Edit Calculated Variables window.
Date/Event Variables
Many dates are very important to the project. Date of first production, date of last production, date of a specific event, etc., mark critical instances for analytical work. Even though dates and numbers resemble each other in many aspects, they are different in many other aspects. Therefore, dates are specially treated when it comes to their use. 1. Select Database>Calculated Variables. The Edit Calculated Variables dialog displays. 2. Click New. The Edit Calculated Variable dialog displays.
3.
In the text field at the top of the dialog type @First( Date, (Monthlyprod.Oil > 0) | (Monthlyprod.Gas > 0) | (Monthlyprod.Water > 0) ).
139
Project Variables
Schlumberger
4. Click OK. The Edit Calculated Variable dialog closes and the Edit dialog displays.
5. Select the Define tab and in the Name field type CV.FirstProdDate. 6. Select the Units tab. In the Units section, select Date. 7. Select the Report tab. In the Heading section type First, Production, and Date. Please refer to the image below.
140
Project Variables
Schlumberger
8. Do not change anything on the Plot tab. Click OK. Note: @First() and @Cfirst() functions very much do the same thing. @First() doesnt require the second argument (the condition) whereas @Cfirst() imposes the existence of the condition.
Exercise 16
Create a calculated variable for Date of Last Production using @Last() or @CLast() function. When reporting (or plotting), date variables are displayed in number-like forms, i.e., 19900101.000. Even if you choose not to display the decimals, the date displays still resemble numbers. OFM provides a function called @FmtDate() so you can format the date variables to the displayed forms that you want, i.e. 1990/01/01 or Jan-01-1990. This function is used extensively on the report and headers (since headers can only be text). The output (return) of this function is a text string. 1. Select Database>Calculated Variables. The Calculated Variables dialog displays. 2. The Edit Calculated Variable dialog displays.
141
Project Variables
Schlumberger
3. Click New. 4. In the text field at the top of the dialog type @FmtDate( CV.FirstProdDate, Mmm-dd-yyyy). 5. Click OK. The Edit dialog displays. 6. In the Name list field type CV.DateofFirstProd. 7. Click OK. The variable has been added to the project.
9. Click OK.
Exercise 17
Create a Variable
1. Create a variable that reports the date where the well achieved its peak oil production.
142 OilField Manager 2005 Fundamentals 5/11/05
Project Variables
Schlumberger
Hint: You can logically argue that date could be the first instance (date) where the wells oil production (Monthlyprod.Oil) equals to the maximum oil production (CV.MaxOil). Thus, using the @First() (or @Cfirst() function) to pick up the Date where Monthlyprod.Oil = CV.MaxOil would be a good approach. 2. Click Close to close the Calculated Variables window and return to the opened module.
Exercise 18
Plot the MonthlyProd.Oil and CV.MaxOil versus Date and traverse through the wells/entities to see how the CV.MaxOil variable works.
Question
How could we plot only one value, right where the peak oil happens?
143
Project Variables
Schlumberger
144
Project Variables
Schlumberger
4. Click the Edit button located in the Equation section of the dialog. The Edit Calculated Variable dialog opens displaying the definition of this variable.
Note: You can edit/modify this equation at this time. However, this definition is good as it is, @FmtName(Oil.Cum, @Last(Oil.Cum)). Analogous to the syntax of the @FmtDate() function in your earlier exercise, this variable will return the value of the last cumulative oil production (based on monthly records), with the plot name, and other numeric attributes assigned for its properties. 5. Click OK (or Cancel) to close the Edit Calculated Variable window. You are returned to the Edit gh.Cumoil dialog. Since this variable is used for retrieving the last value of Oil.Cum, it will use the variable attributes of Oil.Cum for display. Do not worry about assigning attributes for it (not even the field Width). 6. Click OK. The Edit gh.Cumoil dialog closes and you are returned to the Edit Calculated Variables dialog. Do not close this dialog. Notes: Notice that if you highlight a variable, its definition is displayed at the bottom of the window. If you select Edit again, you can also see its definition in the Equation box. These provide quick studying of the variables definition. However, there is a limitation of how many characters of the definition can be displayed, and it could be misleading if you do not see the complete equation and use it correspondingly. The gh.Cumgas and gh.Cumwater were similarly defined to retrieve last cumulative gas and water productions in text form.
7. From the Variables section of the dialog select gh.Lease from the list. Look at its definition at the bottom of the dialog. This variable retrieves the name of the lease the selected entity is related to. The equation is short enough to be displayed in full below, read the definition from the Edit Calculated Variable dialog. (The gh.Reservoir variable was created similarly).
145
Project Variables
Schlumberger
8. From the Edit Calculated Variables dialog, click New. The Edit Calculated Variable dialog displays. 9. In the text field at the top of the dialog type @FmtName( Ratio.GOR, @Last(Ratio.GOR) ).
10. Click OK. The Edit Calculated Variable dialog closes and the Edit dialog displays. 11. In the Name field type gh.lastGOR and leave the rest of the settings at their default value.
146
Project Variables
Schlumberger
Notes: The spaces and, sometimes, parentheses are not required. However, the use of those helps promote readability and makes it easy to maintain. OFM variables are not case-sensitive.
12. Click OK. The Edit dialog closes and you are returned to the Edit Calculated Variables dialog. Remember that this variable will only be used for displaying on the header, so it is using the attributes of the Ratio.GOR variable. It is a good time to look at what attributes were assigned to the Ratio.GOR variable. 13. Locate and select the Ratio.GOR variable from the list. You can either scroll down the list to find or start typing the word Ratio. OFM will dynamically shift the variable display list to where it starts with the matching letter(s)).
147
Project Variables
Schlumberger
14. Click Edit. The Edit dialog displays with the Define tab active. 15. Select the Units tab and look at the units specifications. It should be set to cf/bbl (though it appears as cf/bbl = => scm/m3), since this project is set to the English unit system.
Note: OFM reads the list of available units seen in Edit>Project>Units, to which you can add your own customized units. 5. Select the Report and the Plot tabs. OFM will use the Plot Name of this Ratio.GOR variable as it displays gh.LastGOR on the header.
148
Project Variables
Schlumberger
17. (Optional) Select the Units tab and verify that the Output Multiplier is set to M.
18. Click OK the Edit Ratio.GOR dialog closes and you are returned to the Edit Calculated Variables dialog. 19. Click Close. This concludes Editing Calculated Variables at this time. 20. Click the Plot icon. The Edit Plot dialog displays.
21. Click in the Variables field and select Monthlyprod.Oil. 22. Click Add Curve. Another row is inserted in the Edit Plot dialog. 23. Click in the Variables field and select Monthlyprod.Gas. When all the data is grouped and Monthlyprod.Oil, Monthlyprod.Gas are plotted vs. Date, the plot displays as pictured below (provided that the Y axis scale is Logarithmic and Legend to be displayed).
149
Project Variables
Schlumberger
24. Locate the Properties pane, expand the Headers property and click in the field to the right of Setup. A button is displayed in the Setup field.
25. Click the button displayed in the Setup field. The Headers dialog displays.
150
Project Variables
Schlumberger
26. Click Add. OFM adds the first header (row) to the Headers dialog. 27. Highlight the inserted row and click Assist. The Edit Header dialog displays.
28. Locate the List Names section of the dialog. Select gh.lastGOR from the Project Variables list and click Add. The variable is displayed in the Header section of the dialog. 29. Click OK. The Edit Header dialog closes and you are returned to the Headers dialog.
151
Project Variables
Schlumberger
30. Add two more headers, one with the gh.Reservoir, and the one with the gh.Lease variables.
31. Click OK. The Headers dialog closes and the header information is displayed on the plot 32. Click on each individual header and move them to the desired location to display and change the fonts.
Note: The lease name and reservoir name are <Ambiguous>, which is correct. All the wells are grouped, but not all of the wells belong to the same
152
Project Variables
Schlumberger
reservoir and lease. If OFM cannot display a single name, it will return <Ambiguous>. 33. Locate the Step pane and select well Blue_1:Li_1C, to see a better result.
Exercise 19
Create text display variables (used on headers) for last water cut, first monthly oil rate, and peak (maximum) monthly oil rate.
153
Plotting
Schlumberger
Chapter 7
Plotting
Plotting is one of the most commonly used modules of OilField Manager because it is easy to use, effective, and capable of doing many procedures for analysis of production data.
Plotting Basics
Rules
All project variables (again, project variables consist of input variables, calculated variables and calculated fields) may be plotted. Text variables cannot be plotted. Plot and Graph are often used interchangeably in many cases (especially when there is one graph in the window), but they may not be identical. Graph is the visual representation of the data. Plot is the housing of the graph(s). A plot (as in plot window) can contain single or multiple graphs.
Learning Objectives
OFM supports up to six graphs in one plot window. Each graph can have up to 6 vertical (Y) axes, but it can only have one horizontal (X) axis. Also, each y-axis can have multiple variables. In this module, you will successfully learn how to perform the following procedures: Create a graph with one y-axis Create a graph with two y-axes Create a plot with multiple graphs Use Plot Lock and Graph Blow Up options Create stacked graph/plot on entities Create stacked graph/plot on variables Use Sum/Average/% Contribution plot types Create plot overlay (substitutes DataSafe) Use Plot Annotations Use plot-related tools/utilities
5/11/2005
155
Plotting
Schlumberger
3. Select Load. The filter criterion is applied to the wells displayed on the basemap. 4. Select the Filter tab and click the Filter pane. , Group icon located at the top of the
6. Locate the Graph section of the dialog. Set Number of Graphs to 1 and Current Graph to Graph 1. 7. Locate the Y Axis section of the dialog. Set Number of Axes to 1 and Current Axis to Y-AXIS 1.
156
Plotting
Schlumberger 8. In the X-Axis section of the dialog, select Date from the Variable list field and 1 for the Multiplier. 9. Click in the Variables column and select Monthlyprod.Oil from the list of predefined variables.
Verify that the checkbox in front of the variable is selected. 10. Click OK. The plot is generated and displayed in the OFM plot window.
157
Plotting
Schlumberger
11. Locate the Properties pane. Click in the blank cell to the right of the Curves property and select 1: Monthlyprod.Oil:CURRENT: (18). The curve is selected and the curve properties are displayed in the Properties pane. 12. Use the vertical scrollbar to locate the Curve Attributes section of the Properties pane. Increase the Line Width to 4.
158
Plotting
Schlumberger
Note: Click on the X-Axis or Y-Axis to change the axis attributes in the Properties Pane.
13. Select the X-Axis. Use the vertical scroll bar to locate the Tics properties. Change the Line Color to Gray. The tic marks are updated to reflect the changes. 14. Locate the Font property displayed at the base of the Properties pane. Click in the property field and a browse button is enabled. Click the browse button and the Font dialog displays. 15. Change the Size to 9 and click OK. The Font dialog closes and the size of the text displayed on the X-Axis is updated.
16. Select the Y-Axis. Use the vertical scroll bar to locate the Tics properties. Change the Line Color to Gray. The tic marks are updated to reflect the changes. 17. Verify that the Y-Axis Scale Type is Logarithmic. 18. Locate the Font property displayed at the base of the Properties pane. Click in the property field and a browse button is enabled. Click the browse button and the Font dialog displays. 19. Change the Size to 9 and click OK. The Font dialog closes and the size of the text displayed on the Y-Axis is updated. 20. Select the graph to display the graph properties in the Properties pane. Locate the Graph Settings section of the Properties pane.
159
Plotting
Schlumberger 21. Click in the Setup field located in the Headers section, a browse button is enabled. 22. Click the browse button and the Headers dialog displays. 23. Click Add a blank row is inserted in the Headers dialog. 24. Click Assist. The Edit Headers dialog displays. Type @Name() in the Edit Headers dialog and click OK. The Edit Headers dialog closes and you are returned to the Headers dialog.
25. Click Font. The Font dialog displays. 26. Select the following properties: Font Arial Font Style Bold Size 12 Angle 0 Color Blue Background Transparent
28. Click OK. The Font dialog closes and you are returned to the Headers dialog.
Note: To insert an image, such as c company logo in the plot header click Add in the Headers dialog. A new row is inserted. Click Assist to display the Edit Header dialog. Type the system function @image and the full path of the image you want to insert. For example, @image(C:\Logos\Schlumberger.bmp). Click OK to close the Headers dialog. The image is displayed on the plot.
160
Plotting
Schlumberger
Note: To move the logo use the drag and drop method. The logo can also be resized by modifying the font properties.
161
Plotting
Schlumberger
30. Double-click on the plot. The Edit Plot dialog displays. 31. Click Add Curve two times. Two rows are inserted in the variables section of the dialog. 32. Select Monthlyprod.Gas and Monthlyprod.Water for the variables of the newly inserted rows. 33. Click OK. The Edit Plot dialog closes and the data is displayed on the plot.
34. Select the Monthlyprod.Gas curve on the plot. The properties are displayed in the Properties pane. 35. Assign the following attributes to the curve: Color Red Type Solid Width 3 Multiplier M
35. Select the Monthlyprod.Water curve on the plot. The properties are displayed in the Properties pane. Assign the following attributes to the curve: Color Blue Type Solid
162
Plotting
Schlumberger Width 3
Note: If you have multiple curves and want them to share some of the same properties, you can assign those properties by selecting ALL CURVES from the Properties pane. For example, if all curves share the same Type, Width, Point, and Fill properties you can select ALL CURVES and change those properties once.
36. To change the size and/or location of your plot, select the plot (not the curves) and anchor points indicate that the plot is selected.
163
Plotting
Schlumberger 37. Right-click and select Move/Resize from the shortcut menu. The mouse pointer changes to a four arrow-headed cross. 38. Select one of the anchor points and resize the plot.
39. From the well drop-down list, select a well. The plot refreshes and displays the data for the selected well. Note: Once you have selected a well from the list, you can no longer retrieve the grouped entity i.e., (18). You must reapply the filter and group the data.
Note: The first, previous, next and last buttons enable you to quickly navigate through the wells in the list.
164
Plotting
Schlumberger 3. Locate the Y-Axis section of the dialog and select 2 from the Number of Axes list field. The variables previously listed are removed. 4. Click Add Curve. There should be two blank rows displayed in the variables section of the dialog. 5. Add Oil.Cum and Gas.Cum variables.
6. Click OK. The Edit Plot dialog closes. 7. Select the Cumulative Oil Production (Oil.Cum) curve and assign the following attributes to the curve: Color Dark Green Type Dashed Width 3
8. Select the Cumulative Gas Production (Gas.Cum) curve and assign the following attributes to the curve: Color Dark Red Type Dashed Width 3 Multiplier MM
9. Select the second Y-Axis and change the tick marks to gray and the font size to 9 point. 10. Move the legend to the upper left corner of the plot window.
165
Plotting
Schlumberger
166
Plotting
Schlumberger 6. Select Oil.Cum for the X-Axis variable. For the Y-Axis variable select Water.Cut.
7. Switch the Current Graph to Graph 4. 8. Select Water.Cum for the X-Axis. Select Monthlyprod.Water for the YAxis.
167
Plotting
Schlumberger
Note: If there are less than four graphs on the plot, the default setting is Overlap. If that are more than four graphs on the plot, the No Overlap option is automatic.
3. Group the data by clicking the Group icon located at the top of the Filter pane. 4. If you do not have a Plot window open, click the Plot icon located in the OFM Analysis toolbar. The Edit Plot dialog displays.
168 OilField Manager 2005 Fundamentals 5/11/05
Plotting
Schlumberger 5. In the Graph section of the dialog, set the Number of Graphs to 1. 6. In the Y-Axis section of the dialog, set the Number of Axes to 2 and the Current Axis to Y-Axis 1. 7. In the X-Axis section of the dialog, set the X-Axis Variable to Date. 8. Click Add Curve. There should be two blank rows displayed in the Variables section of the dialog. Add the Monthlyprod.Oil and Monthlyprod.Gas variables.
169
Plotting
Schlumberger 10. Click OK. The Edit Plot dialog closes and the plot displays.
11. Select the Well Producing Oil (wells) BERRINGER curve. 12. From the Properties pane, change the following curve attributes: Line Color Dark Red Line Type Bar Line Width 1 Bar Width 1
170
Plotting
Schlumberger
In this example, oil and gas monthly productions are plotted against the left axis and the number of active (producing) wells plotted against the right axis for the Berringer lease category.
Saving a Plot
OFM enables you to save your plot settings and reuse them on a different entity after it is loaded. To prevent overwriting the template in use, select File>Save As and the file is assigned the *.grf extension. All the variable setups and attributes of the plot are saved but not the data. The plot templates are saved to the workspace in the analysis pane. The graphical representation can be saved as an image. OFM supports several image formats Windows Bitmap Format (*.bmp), JPEG Interchange Format (*.jpg), Tag Image File Format (*.tiff), and Enhanced Metafile Format (*.emf). Users can also select Edit>Copy and then Paste the clipboard contents to another application. Note: To open a saved OFM graph file, select File>Open from the plot window.
Plotting
Schlumberger 4. In the Y-Axis section of the dialog set the Current Axis to Y-Axis 2. Select Monthlyprod.Water as the Y-Axis Variable. 5. Click OK. The Edit Plot dialog closes and the plot is displayed in a new window. 6. Assign the following attributes to the Water.Cut curve: Line Color Blue Line Type Solid Line Width 3 Line Color Dark Blue Line Type Dashed Line Width 3
8. Locate the Scale section of the Properties pane. Change the Scale Type for all the axes to Linear.
9. From the Window menu command, verify that there are only three windows currently active (the basemap and two plot windows). 10. Select the basemap and minimize it. Then from the Window menu select Tile>Vertically. The two plots display as shown below.
172
Plotting
Schlumberger
11. Click the Next button located in the Step Toolbar. Notice both windows refresh displaying the information of the newly loaded entity. 12. Select Blue_5:Sc_0 from the list of wells. Select the Water Cut/Monthly Water Production vs. Oil Cum plot window, then select View>Lock.
The active plot window has the word Locked displayed in the title bar. Now traverse the wells and only one window will refresh. The lock tool can be used effectively for comparison purposes. Typically you would want to use the same plot settings to compare two or more wells. Notes: Use multiple plot windows for multi-variable, if you prefer this method over the multi-graph window analyses.
173
Plotting
Schlumberger Use multiple plot windows with the Lock option for multi-entity analyses. You can lock a many windows/entities as you want. However, it may be too hard to see on your screen.
If you have four or more graphs on the plot, they many not display information clearly. OFM provides the option to view individual graphs up-close. Select the graph you want to view, then select View>Blow Up. The selected graph displays in full scale. Select View>Blow Up again to uncheck the option, the plot returns to its original state.
Note: Hold down the CTRL key to select multiple wells. 3. Click OK. The Filter By Completion dialog closes and the three selected wells are displayed on the basemap. 4. Click the Plot icon. The Edit Plot dialog displays. 5. Select Date as the X-Axis. 6. Click Add Multiple Curves. The Add Multiple Curves dialog displays. 7. Select Monthlyprod.Oil from the Variable list field.
8. Click OK. The Add Multiple Curves dialog closes and the selected variable and associated wells are displayed in the Edit Plot dialog.
174
Plotting
Schlumberger
9. Click OK. The Edit Plot dialog closes and the data is displayed in the plot window. 10. Click the , Stacked Plot icon. 11. Modify the Line Color properties for each curve by assigning the following: BLUE_5:Sc_0 Green GREEN_4:Ad_3BU Magenta ORANGE_23:Li_1C Brown
175
Plotting
Schlumberger 12. Select the Y-Axis. Change the Scale Type property to Linear.
176
Plotting
Schlumberger
4. Close the Edit Schema Tables dialog. Select Database>Calculated Variables. The Edit Calculated Variables dialog displays. 5. Click New. The Edit Calculated Variable dialog displays.
6. Type Monthlyprod.Gas/6000. Click OK. The Edit Calculated Variable dialog closes and you are returned to the Edit dialog.
177
Plotting
Schlumberger
7. In the Name field type CV.Gas2OilEq. Leave the User and Class fields blank. 8. Select the Units tab and specify the unit of bbl ==>m3. 9. Click OK. The Edit dialog closes and you are returned to the Edit Calculated Variable dialog. 10. Click Close the Calculated Variables dialog closes. 11. Click the Plot icon at the top of the OFM main window. The Edit Plot dialog displays. 12. Click Add Curves. Two blank rows are displayed in the variables section of the dialog. 13. Enter the data below in the Edit Plot dialog: Number of Graphs 1 Number of Y-Axes 1 X-Axis Date First Curve Variable Monthlyprod.Oil Second Curve Variable CV.Gas2OilEq
14. Modify the Line Color attributes for each curve. Select the Monthlyprod.Oil curve and change the color to Green. Then select the CV.Gas2OilEq curve and change the color to Magenta. 15. Select the Y-Axis and change the Scale Type property to Linear. 16. Click the Stacked Plot icon located in the Plot toolbar. Select Orange_19:Ad_1A from the Step toolbar.
178
Plotting
Schlumberger
4. Click OK. The wells are displayed on the basemap. Select well Orange_19:Ad_1A. 5. Click the Plot icon. The Edit Plot dialog displays. 6. Click Add Multiple Curves the Add Multiple Curves dialog displays. 7. Set the Category to UNIQUEID and the Variable to Monthlyprod.oil. 8. Click OK. The curves are listed in the Edit Plot window.
OilField Manager 2005 Fundamentals 5/11/2005 179
Plotting
Schlumberger 9. Make a single-graph, single-y-axis plot. Use Date as the horizontal variable.
11. Select the curve and change the properties to reflect the following: Color Dark Green Line Type Solid Line Width 3
12. Select the Y-Axis. Change the Scale Type property to Linear.
180 OilField Manager 2005 Fundamentals 5/11/05
Plotting
Schlumberger
15. Zoom in on the plot and move the legend to another location so it does not block your view.
181
Plotting
Schlumberger
16. Locate the Curves section of the properties pane and assign the following color attributes: Curve 1 Green Curve 2 Blue Curve 3 Yellow Curve 4 Red Curve 5 Magenta Curve 6 Cyan
182
Plotting
Schlumberger
Note: If you select the X or Y axis and then right-mouse click, the different plot options are displayed.
Other options available from the plot shortcut menu are described below. Default Scale Automatic rescaling of the axes Move Move axis parallel from its original default position Shift Shifts the axis range Change Min Max Fix a minimum and maximum by scrolling with the mouse Change nr. of cycles Define the number of log cycles for the axis
183
Plotting
Schlumberger
9. Click OK. OFM adds a number of Monthlyprod.oil curves to the list based on the number of UNIQUEIDs available in the filtered well list.
184
Plotting
Schlumberger
10. Click OK. The Edit Plot dialog closes and the plot is displayed. 11. From the Properties pane locate Curves and select ALL CURVES. Set the Line Type to Solid and the Line Width to 3. Select the Y-Axis and set the Scale Type to Linear. 12. Move and resize the graph and legend.
185
Plotting
Schlumberger 13. Click the Stacked Plot icon and verify that the method is set to Interpolation.
14. (Optional) Toggle the stacking/summing methods between Interpolation and Carry Forward while switching the plot types to Sum, Average, and Percent Plot. 15. (Optional) With the help of your instructor, add more curves of different entity levels onto the plot.
186
Plotting
Schlumberger
5. Select Monthlyprod.oil from the variable list. 6. From the Properties pane, set the Line Color to Green, the Line Type to Solid, and the Line Width to 3. 7. Set the Curve Event to Notes.Notes.
187
Plotting
Schlumberger
9. Double-click on the plot. The Edit Plot dialog displays. Click Add Curve a blank row is inserted in the Edit Plot dialog. 10. Add Monthlyprod.Gas to the variable list. 11. Click OK. The curve is displayed on the plot. Select the curve and change the Line Width property to 3. 12. Set the Event property to Annotate.Note. (Optional) Change the font attributes to this annotation to make them distinguishable. Leave everything else unchanged.
188
Plotting
Schlumberger
13. Select Edit>Annotations. The annotations from the Notes table are displayed.
14. Change the notes to IP_Henna_1 completed and Gas Lift initiation respectively.
189
Plotting
Schlumberger
Note: You may have to reselect the Blue_1:He_0 from the list or close the plot window and reopen it for the changes to apply and display correctly. 15. (Optional) You can add/delete annotations on an entity. The annotation editor fully functions as a typical data editor. Add/delete annotations from the Notes table and/or the sporadic table. 16. Right-click on the graph and select Annotations. You can also choose to hide the annotations and/or change annotation font attributes.
Plotting
Schlumberger
Scroll up and down the X-Y Pair data window to view the data. Note the crosshairs that appear when a user clicks any cell in the window. Also note the minimum, maximum, and average of the selected variable is also calculated by default at the end of the column.
191
Plotting
Schlumberger
Exercise 20
Compute Line
Compute line provides a quick means to analyze information. In this next exercise you will learn to use the Compute Line features. 1. Load Prod_Wells98.txt and group the wells. 2. Select Database>Calculated Variables. The Edit Calculated Variables dialog displays. 3. Click New. Create a calculated variable AveOilPrd, defined as @AveInput (Monthlyprod.Oil).
4. Click OK. The Edit dialog displays. 5. In the Name field type AveOilPrd and click OK.
192
Plotting
Schlumberger
6. The Edit dialog closes and you are returned to the Edit Calculated Variables dialog. The new variable is listed in the Variables section of the dialog. Click Close. 7. Click the Plot icon. The Edit Plot dialog displays. 8. Set the X-Axis Variable to Date. Select the newly created variable (AveOilPrd) as the curve.
193
Plotting
Schlumberger
10. Change the curve attributes. Set the Line Color to Green, Line Type to Solid, and Line Width to 3. 11. Select Tools>Compute Line or right-click and select Compute Line. 12. Visually decide the best fit linear line for the curve and draw the line.
194
Plotting
Schlumberger 13. Select Tools>Compute Line Lock or the line will disappear upon your next action. 14. Select Tools>Trace Point and Line Attributes. The Trace Attributes dialog displays.
15. In the Line Attributes section of the dialog set the Color to Magenta and the Width to 4. 16. Click OK. The Compute Line changes color and width.
195
Plotting
Schlumberger
Note: You can use the Next and Previous navigation buttons to view the entire list of wells. However, as the producing ranges of the wells are different, the Compute Line may not be displayed correctly on the graph.
Exercise 21
Create a plot that has three graphs with the minimum requirements listed below: Graph 1 2 Y-Axes Graph2 Stacked Plot Graph 3 Plot Overlay. You can use LEASE or RESERVIOR levels to narrow down the number of entries.
196
Reporting
Schlumberger
Chapter 8
Reporting
OFM, as an analytical tool, has its own features tailored for specific needs. It has the advantage of having more than 230 system functions and an environment for writing macro-like functions. OFM report has been proven to be a powerful and effective tool for outputting information, processing/manipulating data, and testing customized variables. Unlike plotting, the fields displayed on the report do not have to be pre-constructed variables.
Prerequisites
Before going directly onto the report module, it would be useful for you to get a basic understanding of different types of OFM variables.
Learning Objectives
In this module, you will successfully learn how to perform the following procedures: Create a Monthly Report Create a Daily Report Create a Sporadic Report Formatting a Report Additional Report Tools
Reporting
Schlumberger Sporadic data, on the other hand, is different. When you try to mix sporadic data with, say, daily data, the result may look fine but all the subsequent calculations involving mixed data types will likely be incorrect. Sporadic dates are index-based. Their index sequence is not the same as the monthly or daily (which is equally spaced) index sequence. Any arithmetic calculation involving a null operand results in a null. A null data point is an empty data point. An empty cell in Excel would constitute a null. Likewise, an empty field in Access is a null. Sometimes, a null is equivalent to a zero (0). Other times, it constitutes a missing data point. In-line calculations are allowed on the report. Thus, resulting null values could easily happen. In such a situation, you may need to have some null-handling procedures before carrying out the calculations in order to not see the nulls. On the report, a numeric null is displayed as an asterisk (*).
Reporting Variables
All OFM variables can be reported. They can all be accessed from the Project Variables list on the Edit Report dialog. In this section, you will learn to create simple report to output monthly (with static), daily (with static), and sporadic data.
3. OFM keeps the last report (setup) run in this project, so you might already have an output. If so, double-click anywhere on the report or select Edit>Report Parameters (or right-mouse click anywhere on the report and select Report Parameters) to access the Edit Report dialog. 4. In the Select text box, enter @name(), date, monthlyprod.oil, monthlyprod.gas, monthlyprod.water.
5/11/2005
199
Reporting
Schlumberger Notes: @name() is a system function. You can click the System Functions button and select Name from the list. The @ sign and the parentheses are automatically added to denote this is an OFM system function. Click Add to add this function to the Select text box (You can also double-click the function itself to add). Date, monthlyprod.oil, monthlyprod.gas, and monthlyprod.water are all input variables. You can type them in (with the commas), or select the variables from the list to add in (again, double-click or highlight-and-Add). To access variables, you have to be on the Project Variables level. Since we are currently on the System Functions level (to get @name()), we need to click on the Project Variables button first. Upon adding a new variable into the Select variable list (without typing), OFM adds a comma after the last variable to separate it with the newly added variable. The Keypad contains Command/Keyword buttons, logical operators, and numeric keys. If needed d, you can add them to the Select box (without selecting the Add button). 5. Click OK.
Note: The first variable (@Name()) is (sort of) a static variable, as it is a constant with respect to time. The other variables are in monthly frequency. 6. Click Next in the Step toolbar to go through a couple of wells to see how the data get refreshed. Sometimes you will get to a well that does not have monthly data. When this occurs an empty report is displays. 7. Select Blue_1:Li_1C. Add a real static variable and a few of those calculated fields and calculated variables that were created earlier. 8. Double-click on the report and add sc.reservoir, monthlyprod.gor, and ratio.gor to the Select text field.
200
Schlumberger
9. Click OK. The requested report displays. Notice that the values of monthlyprod.gor and ratio.gor are the same (single well level). 10. Group all the wells, and then you can see that they are different.
Exercise 22
Report the CV.CumOil, CV.FirstProdDate, CV.MaxOil calculated variables and Monthlyprod.On calculated field to verify their correctness.
4. Click OK. The report may return several null values. Scroll through the report to see data.
201
Reporting
Schlumberger
Question
Why do we have a lot of nulls at the beginning of the report? It has something to do with daily precums. For detailed information about precums ask your instructor.
Exercise 23
Report sc.lease. Create a daily frequency calculated variable (i.e. CV.DLYGOR) and retrieve the result on the report.
202
Schlumberger
Since sporadic data cannot be grouped and it has to be reported at the entity level they were loaded into, we want to filter the well list to those that have sporadic data. In this project, TEST is a sporadic table. Before you begin, clear any previously applied filter. 1. From the Filter pane expand Table Data and select TEST.
2. Select well ORANGE_1:Ad_4 from the Step toolbar. The selected well is highlighted on the basemap. 3. Click the Report icon to generate a report. The Edit Report dialog displays. 4. In the Select field type @name(), date, test.oil, test.gas, test.water.
203
Reporting
Schlumberger
6. Review the report. Note that the data points are reported but with no specified dates. Double-click on the report. The Edit Report dialog displays. 7. Replace the Date variable with Test.Date and click OK.
You can see that the data is now reported correctly for this well. Static data can also be displayed with sporadic data. 8. Double-click on the report and the Edit Report dialog displays. Add sc.lease to the parameter list and click OK.
204
Schlumberger
Formatting a Report
In addition to creating a sensible report, making it readable is also important. OFM provides a reasonable set of features that enable you to narrow down the date range, apply sort criteria, display subtotals, as well as enhance the quality of the report output. 1. Clear any previously applied filter. Filter the well list to retrieve all the wells that have records in the MONTHLYPROD table by expanding Table Data and selecting MONTHLYPROD in the Filter pane. 2. Click the Report icon. The Edit Report dialog displays. 3. Type @name(), date, monthlyprod.oil, monthlyprod.gas, monthlyprod.water.
4. Click OK the report displays. 5. Select well Blue_1:Li_1C from the Step toolbar.
6. Locate the Column Attributes section of the Properties pane. Lets review the attributes listed in this section of the Properties pane. Current Column enables you to select the variable for editing. All report attributes seen are specified to the selected variable. Width width of the display field. You may see a string of asterisks (******) on the report if the width of the column is not wide enough to display the value. If a text field is not wide enough, the text is truncated. Decimals number of decimal places to be displayed when the variable returns a numeric value.
205
Reporting
Schlumberger Justification aligns text in the columns to the left, center or right. By default, a text field is left justified and a numeric field is right justified. Unit display unit in the column header. Any specification here overwrites the specification set with the variable. The values displayed are in accordance to this unit. Display unit system. This also overwrites the project system unit. Multiplier Overwrites the preset multiplier of the selected variable. The values displayed are in accordance with this multiplier specification. Hide Duplicates Hides the field value if it is identical to the previous value.
8. Type @Today(), Last+gh.cumoil, Last+gh.cumgas, Lastgh.cumwater and align all headings to the left.
Schlumberger
10. Look at the report headers. All report headers are acceptable, excluding the date format. By default, the dates are displayed as an eight-digit integer (YYYYMMDD) with 3 decimals. Use the @FmtDate() system function to format the date. 11. Select Edit>Header and Footer. The Header/Footer dialog displays. 12. Select the Header tab and highlight @today. Replace this text with @FmtDate( @today(), Mmm-dd-yyyy). 13. Click OK.
Note: You can edit, delete, or add more headers. You can also save all the headers to apply them to additional reports. The footers function in the same manner as headers. The only difference is the location of the data displayed. Footers are displayed at the base of the report, as opposed to headers, which are displayed at the top of reports. 14. Select Edit>Report Display. The Edit Report Attributes dialog displays.
207
Reporting
Schlumberger
Note: From the Set Date tab you can display records of interest based on date criteria. You can report data at a certain date, at the last date of the entity, at all available dates, or within a certain date range. 15. To find out the available date range (monthly and daily) of the project, located the Database Date Range section of the dialog and click Find Daily and Find Monthly Database Date Range. 16. Select the Range radio button in the Options section of the dialog. In the Starting text field type 19800101. 17. Click OK to display the report.
18. Select Edit>Report Display. The Edit Report Attributes dialog displays. In the Options section of the dialog select All. Then select the Sort tab. 19. From the First list field select monthlyprod.oil and check Descending. 20. From the Second list field select monthlyprod.gas and check Descending. 21. Click OK. The report displays with peak monthly oil production data displayed at the top of the report. Followed by monthly production gas data.
208
Schlumberger
22. Locate the Properties pane. Change the Subtotal property to SUM and the Break property to At End of Report.
Note: The numbers displayed at the bottom of the report constitute cumulative oil, gas, and water production of the well with precums. You can scroll up the report and compare them with the numbers on the headers. This well has precums. 23. Double-click on the report. The Edit Report dialog displays. 24. After the Date variable add @year(date). The Select text box should now contain the following:
209
Reporting
Schlumberger
25. Click OK. 26. From the Properties pane locate Break when this column changes and set the value to Yes. 27. Locate the Break property and change this value to None. 28. Select Edit>Report Display. The Edit Report Attributes dialog displays. 29. Select the Sort tab and click Clear to remove all sort criteria and click OK. The report displays and at the end of each year the sums of oil, gas, and water production are displayed. 30. You can generate a similar report without using the @year(date) variable. Double-click on the report and the Edit Report dialog displays. 31. Remove the @year(date) variable and the comma that follows. 32. From the Properties pane locate Break and set to At Condition. The Edit Condition row is inserted below the Break property 33. Click in the blank field to the right of the Edit Condition property. This action enables a browse button. Click the button. The Create Condition dialog displays. 34. In the Condition = field type @change( @year(date) ).
35. Click OK. The Create Condition dialog closes and the report is displayed.
Using Additional Formatting/Processing Features Other Reporting Tools Creating a Table From the Report
OilField Manager 2005 Fundamentals 5/11/05
Reporting
Schlumberger
4. Select Edit>Report Parameters. The Edit Report dialog displays. 5. Add monthlyprod.gas/monthlyprod.oil to the end of the statement in the Select field.
5/11/2005
211
Schlumberger
7. Scroll down the report to verify that the values of ratio.gor and monthlyprod.gas/monthlyprod.oil are the same. They could appear slightly different due to Multiplier and/or Field Width/Decimals specifications. 8. Double-click on the report. The Edit Report dialog displays. 9. After the last variable (monthlyprod.gas/monthlyprod.oil) add a space and enter CalcGOR. This name will be used as an alias for this column. 10. Click OK. The report displays with <CalcGOR> as the last header.
11. Select the <CalcGOR> column. In the Properties pane change the Units property to cf/bbl and change the Decimal Place value to 1. 12. Double-click on the report. The Edit Report dialog displays. 13. Remove all variables listed after monthlyprod.gas. Type monthlyprod.oil+monthlyprod.gas/6000 BOE.
212
Reporting
Schlumberger
13. Click OK. The report displays. 14. Select Blue_1:Li_1C and study the numbers. More complicated variables can be written directly on the report and their return values are processed and displayed. In the next exercise, you will create the peak (maximum) monthly oil production.
Exercise 24
1. Double-click on the report. The Edit Report dialog displays. 2. In the Select section of the dialog type @name(), date, monthlyprod.oil, monthlyprod.gas, @tmax(monthlyprod.oil, 1). Note: The @tmax(monthlyprod.oil, 1) variable above is identical to cv.maxoil created earlier. 3. Click OK to display the report. It will show that somewhere in the history of this well it achieved the peak production of 13802 barrels per month.
4. Double-click on the report. The Edit Report dialog displays. 5. At the end of the current text string displayed in the Select section of the dialog type @first( date, @tmax(monthlyprod.oil, 1)=monthlyprod.oil).
213
Schlumberger
6. Click OK. The Edit Report dialog closes and the report is displayed. 7. Select the last column of the report. From the Properties pane change the Decimal Places value to 0.
Note: There are many null values on the report that you may not want to see. OFM enables you to put in conditions to take care of any null results returned, as well as to do some data processing before outputting the results. 8. Double-click on the report. The Edit Report dialog displays. 9. At the end of the text string displayed in the Select section of the dialog type WHERE (monthlyprod.oil !=@null() & monthlyprod.gas !=@null() ).
10. Click OK. The Edit Report dialog closes and the report displays. Note: != is a not equal operation. The exclamation point can be generated by clicking NOT on the keypad.
214
Reporting
Schlumberger & the AND operation. It can be generated by clicking the AND button on the keypad. I is the OR operation. It can be generated by clicking the OR button on the keypad.
4. Select View>Summary>By Item. OFM puts all individual well reports together, ordered by well name. It may take a while to generate such a report, depending on how many wells there are on the list. Scroll through the report to verify the results.
215
Schlumberger
5. From the Properties pane set the Current Column to headerid.uniqueid. Set the Hide Duplicate value to Yes. Set the Break when this column changes value to Yes. The report is updated to reflect the following.
6. You can also generate a report ordered by dates. Change the Hide Duplicates value to No and the Break when this column changes value to No. 7. Select View>Summary>By Date. This type of summary report may take a while to complete, so please be patient while OFM retrieves the wells, dates, and data and sorts them by date.
Notes: You can narrow down the date range by from the Set Date tab of the Edit Attributes dialog or with a WHERE condition. This will restrict the number of records being displayed and save some processing time.
216 OilField Manager 2005 Fundamentals 5/11/05
Reporting
Schlumberger You can change the report font and/or the report header font from the Edit>Report Font or by right-clicking on the report and selecting Report Font from the shortcut menu.
217
Schlumberger
6. In the Table Name field type AdjustedMonthly. 7. Select Field1 located in the Access Fields column. Rename Field1 to UniqueID. 8. With UniqueID selected, click Key. 9. Highlight DATE and click Key. This action sets the Date as the second key of this table.
Note: If you want OFM to automatically update Access when the report changes, check Automatically update Access when the report is updated. 10. Change the other three field name if you wish. Click Close and Update. 11. A dialog displays prompting you to confirm creating the Access table.
218 OilField Manager 2005 Fundamentals 5/11/05
Reporting
Schlumberger
12. Click Yes the dialog closes and you are returned to the report. 13. Select Database>Schema Tables. The Edit Schema tables dialog displays. 14. Check the Adjusted Monthly table from the list of Available Tables. A message dialog displays prompting you to confirm your decision. 15. Select Yes. OFM successfully included the table into this project for use. You can verify all the field names from the OFM Representation section of the Edit Schema dialog. Remember the gas field in this table is in base unit (scf). You should select it and assign the correct input multiplier for it as well as specify your desired output multiplier.
219
Schlumberger
Note: In the Excel Columns section of the dialog the default header names to be exported are the OFM names. 3. Select the Automatically update Excel when the report is updated, Write column names to Excel and Write units for OFM columns to Excel. 4. Select the column names listed below Excel Columns and rename them as desired.
220
Reporting
Schlumberger 5. Click Close and Update. The data is exported and displayed in an Excel worksheet.
221
Schlumberger
4. Click Close and Update. OFM will write the current report data to a text file. This text file can also used as a load file to load data into OFM. Notes: OFM 2005 provides you with the ability to format the date column by selecting the date format in the properties pane. Use the @image( ) system function to insert a logo in the report header. Provide the full path of the image you want to insert inside the parenthesis. For example: @image(C:\Logos\Schlumberger.bmp).
222
Exporting
Schlumberger
Chapter 9
Exporting
Imagine that you are working on a shared (network) project, which has thousands of wells. You are interested in just a hundred wells that belong to a certain field and you have to go on a business trip for a while. Knowing that you will not have the network connection, you may have to do something beforehand so you can still work on your project while out of the office. OFM provides some useful options. You can either copy all the data or a subset of the data for the filtered list of wells to your local hard drive. You can export all the critical information to text files so you can rebuild your complete database if something goes wrong. For maintenance purposes, you might want to keep a copy of all the text files (definition data). All the exporting options (related to the project) can be accessed from the global Database menu.
Learning Objectives
In this module, you will successfully learn how to perform the following procedures: Exporting Database Tables Exporting Variables to Table Exporting Text Load Files
5/11/2005
223
Schlumberger
2. Select the checkbox of the table(s) you want to copy and specify the path/database name you want to copy to. For example, check the DAILYPROD table and tell OFM to write its data to a database in C:\Temp\ named export1. 3. Click OK OFM will export the data for you. 4. (Optional) If you have Microsoft Access installed on your computer, you can open the export1 database and verify the results. 5. Suppose you want to create a small project on your local hard drive that only contains your wells of interest. Select Database>Export>All OFM Database Tables. The Project dialog displays.
6. In the text box, enter the path and name of your new project. You can also click Select and browse to a desired location. 7. Click OK. If you database already exists, OFM will rewrite the database data. Otherwise, it prompts you to confirm that you want to create a new project. 8. Click Yes and OFM will export all the tables needed for a smaller project. 9. Close the current project and open the new project to verify. Note: OFM also provides the option to export the project (text) loadable files for maintenance or for recreating the project using the ASCII loader. If you export the definition file, all the (table) data files and calculated variables (parser files) and then use the ASCII Data Loader to recreate the project, you will have a similar project.
224
Exporting
Schlumberger
Table Definitions
Exporting table definitions enables you to produce a comprehensive definition file that contains definitions of all tables in the current project and save OFM Project Definition Files to a desired location. 1. Select Database>Export>Selected Text Load File(s)>Table Definition. The Save As dialog displays. 2. Type the table definitions file name in the File Name field. The default extension name is *.def. 3. Select a location to store the saved file. 4. Click Save.
Table Data
Table data causes OFM to display a list of tables that you can export. 1. Select Database>Export>Selected Text Load File(s)>Table Data. The Table to Export dialog displays.
225
Schlumberger
2. Select the tables one at a time and click OK. The Save As dialog displays. 3. Specify the name in the Save As dialog and click Save. When OFM has completed exporting the table, it returns to the list of Tables to Export. 4. When finished, click Cancel to conclude the operation.
Calculated Variables
Exporting calculated variables produces a comprehensive parser (loadable text file of calculated variables and user functions) file. From the Export Calculated Variables dialog a user can define the calculated variables that need to be exported based on the User and Class. 1. Select Database>Export>Selected Text Load File(s)>Calculated Variables. The Export Calculated Variables dialog displays.
2. Click the browse button to the right of the File field. The Parser dialog displays. 3. Type a file name in the file name field. The default file extension name is *.par.
226 OilField Manager 2005 Fundamentals 5/11/05
Exporting
Schlumberger 4. Select a location to store the saved file. 5. Click OK. The Parser dialog closes and the path displayed in the File field. 6. Click OK.
To Schedule (Eclipse)
To Schedule (Eclipse) exports the text files in the formats that Schedule (Eclipse suite) can read and thus get information to Eclipse. Associate the OFM variables/parameters with the expected Schedule (Eclipse) variables, specify the names, and directory. OFM displays the Schedule Export Option dialog for you to enter the specifications. You will have the option to export these files using the well aliases having the coordinates in Metric units.
227
Schlumberger
Notes: Cases and Phases Select a case (or all cases) and the phase(s) to be exported. Results Specify the file name and select the variable of interest to export. Forecast Specify the file name and date range to export forecast data (date frequency). Filter does not apply here. All wells with DCA data save to the database will be exported. The *.dcr file is a text file. The *.dca file can be opened and used from the Forecast window for comparison purposes.
228
Schlumberger
Chapter 10
OFM has a uniquely intuitive collection of tools (utilities) that provide users with quick access to project management, data processing/manipulation, and customization functionality. This section of the tutorial describes these tools and their use. By the end of this chapter you should be able to understand and utilize these features to customize your projects, to make them more useful, more accessible, and to extract the best values from your data.
Learning Objectives
In this module, you will successfully learn how to perform the following procedures: Project Settings Data Normalization Data Register Private Database
Project Settings
Project settings are managed from the Settings dialog. To access the dialog select Tools>Settings.
Preferences
The Preferences tabbed page enables you create user defined settings for displaying variables, warning and prompts, and registry settings.
5/11/2005
229
Schlumberger
Input Variable Lists Your database many have tables/fields that are defined but do not contain any data. OFM provides the option to display on the variables (fields) that are associated with some data to refine the long list of input variables to be displayed. This is just a display option. Your empty variables will not be deleted from the database. The default setting is to display all variable name in lists. OFM Warning and Prompts If you do not want to see the warnings/prompts you can select to suppress them by clicking Suppress All. Restore All nullifies the Suppress All request. OFM Settings Reset Restores all the OFM default settings. Clicking this button will cause OFM to reset all user-specified options in the Settings dialog.
Group
The Group tabbed page of the Settings dialog enables you to set global grouping parameters.
Sum individual well forecasts when grouping wells If you have performed forecasts on individual wells and want to retrieve the forecast for a group of wells select this option. Execute user procedure after grouping Upon grouping (selecting), OFM automatically executes the associated user function (procedure). This option is primarily used for automating tasks.
DCA
The DCA tabbed page enables you to associate parameters/qualifiers and set the default case used in forecasting.
230
Schlumberger
Units
The Units tabbed page contains everything needed to display your project in Metric units. Select Use Metric Units and OFM will do the internal conversions. OFM does not permanently apply unit conversions to the database.
Data Frequency
The Data Frequency tabbed page of the Settings dialog enables you to define how often data is accumulated. When the frequency is changed, the data frequency reports and plots must be recompiled.
231
Schlumberger
The two primary (loaded) data frequencies in OFM are monthly and daily. At retrieval time, you can ask OFM to display monthly and daily data at a specified higher level. Your data will be date-based grouped. Note: This specification is not saved in report of plot format files. It must be reset. Grouping Data by Date 1. Clear any previously applied filter. 2. Group all the wells on the basemap (231 wells). 3. Generate a report. The Edit Report dialog displays. 4. In the Select section of the dialog type the following date, monthlyprod.oil, monthlyprod.gas, monthlyprod.water.
232
Schlumberger
6. Select Tools>Settings. The Settings dialog displays. 7. Select the Data Frequency tab. In the Monthly section of the dialog select Quarterly and in the Daily section of the dialog select Semiannually. 8. Click OK. The report displays. 9. Double-click on the report. The Edit Report dialog displays. 10. In the Select section of the dialog type date, dailyprod.oil, dailyprod.gas, dailyprod.water. 11. Click OK the report displays. 12. Select Tools>Settings. The Settings dialog displays. 13. Select the Data Frequency tab. 14. In the Monthly section of the dialog select Monthly. 15. Click OK to redisplay the report.
Note: In this example, represents if you have data loaded into daily tables and want to retrieve data at monthly levels. Therefore, you do not have to preprocess your data and load duplicate information into the project at monthly level. 16. Reset your monthly and daily data frequencies to default values from the Settings dialog.
Date Display
The Date Display tabbed page enables you to display your monthly dates at the beginning, middle, or the end of the month.
233
Schlumberger
Multiply By Factor
The Multiply By Factor tabbed page of the Settings dialog enables you to modify production and injection data by either a static or dynamic (with time) factor.
Note: If Dynamic is selected, factors greater than one are assumed to be percentages.
234
Schlumberger
Only the variables that have Multiply by Factor option (in Math>Grouping Options tab) turned on are affected and so are their derived variables.
Data Normalization
Not all wells start producing at the same time, and for many well potential studies, users want the option to bring all the wells to the same starting point. OFM can perform that function to shift all the wells (entities) to the same base point (i.e. start of work-over, start of decline). The concept is called Data Normalization. Note: Do not misunderstand normalization in OFM with a conventional understanding of normalization (normalized to one). In a sense, data normalization in OFM is equivalent to shifting data.
235
Schlumberger
7. In the Category list field select UNIQUEID. In the Variable list field select Monthlyprod.oil.
8. Click OK. The Add Multiple Curves dialog closes and you are returned to the Edit Plot dialog and the multiple curves are displayed.
9. Verify that you have Date as the X-Axis variable and only one graph. 10. Click OK to display the plot. (You many want to increase the curve width and move /resize the graph and legend in order to see things clearly.)
236
Schlumberger
11. Notice that the wells started producing at different points in time. Now select Tools>Settings and click on the Normalize Tables tab. 12. Check Enable Normalize Tables. 13. Select the InitialProdMonth variable from the Starting Condition list. 14. Leave the Ending Condition unassociated (blank). 15. Select Default for the Date Option and Filtered Wells for the Well Option.
Notes: Ending Condition (optional) Sets the data point to be displayed. On the plot, all data after this point will be truncated. This feature does not change the physical data; it simply changes the display (data retrieval time). Date Option Default All data is shifted to the earliest available date in the database, regardless of the variable associated in Starting Condition. Date Option Earliest The earliest date associated with the variable in the Starting Condition. Date Option Latest The latest date associated with the variable in the Starting Condition. Well Option All Wells Runs normalization on all the wells. Well Option Filtered Wells Runs normalization only on the filtered wells. To return to normal mode (de-normalize) just clear the Enable Normalize Tables checkbox.
16. Click Normalize to execute the normalization operation now, without closing the Settings dialog. 17. Click OK to close the Settings dialog and view the plot.
OilField Manager 2005 Fundamentals 5/11/2005 237
Schlumberger
Note: If you do not click Normalize, OFM will initiate the normalization operation when you click OK.
Data Register
A data register is used to store cumulative values for a field or region to normalize data and calculate cross-table values by interpolating between tables or lookup data between tables. Data Registers are useful to compare two or more wells in a report and interpolate data between two known points. Created data registers can also be displayed on plots. The Data Registers dialog provides access to data from wells or filters not in memory. For example, the production data from one well can be compared to another using a data register. A data register contains two columns of X- and Y-axis data. OFM provides a maximum of 40 data registers per database whose primary use is to store XY pairs that are time dependent. In order to carry out calculations regarding different entities at the same time, we will have to find another way of getting data from the database or from a memory location. To get data directly from the database, OFM supplies the @GroupData() function. (Consult with your instructor for more information). To get data from the memory location, OFM provides a concept name Data Registers to register data and recall the registered data for subsequent calculations. To create a variable representing the average monthly oil production for an entity, OFM provides a function call @AveInput(). Please refer to the on-line synopsis for syntax. 1. Select Database>Calculated Variables. The Edit Calculated Variables dialog displays. 2. Click New. The Edit Calculated Variable dialog displays. Type @Aveinput( monthlyprod.oil).
238
Schlumberger
3. Click OK. The Edit Calculated Variable dialog closes and the Edit dialog displays. 4. Type CV.AveOil in the Name field.
5. Click OK. The Edit dialog closes and you are returned to the Edit Calculated Variables dialog. The new variable is listed in the Variables section of the dialog. 6. Click Close. 7. Click the Report icon. The Edit Report dialog displays. 8. In the Select section of the dialog type Date, Monthlyprod.oil, CV.AveOil and click OK. The Edit Report dialog closes and the report displays. 9. Select Blue_1:Li_1C.
239
Schlumberger
On an individual well level, the monthly oil production and the average oil production are the same. On a group level, we expect them to be different. Thus, the ratio of individual oil production (the well) to the average production of an entity (a reservoir which the well belongs to) would determine the performance of that well compared to the average; a ratio greater than unit (1) is considered above average and vice versa. 10. Clear the filter. 11. Select Category, then Reservoir, and Litmus_1. 12. Group the data. If you still have the last report open this is what you will see:
Note: Notice the first several records, you should have about ten wells producing at the beginning (you can check that by the @CountInput() function). If you select an individual well now, the two numbers will be the same. Thus, you would want to register one for the grouped entity and then recall the data for later calculations. 13. Select Tools>Data Registers. The Data Registers dialog displays.
240
Schlumberger
14. In the Comment field type Registering Monthly Average Oil per Well for Litmus Reservoir. 15. From the X list field select Date. 16. From the Y list field select CV.AveOil. 17. Select the Lock checkbox, the (top) register location # refreshes and registers the first memory location for Litmus_1.
18. Click OK. The Data Registers dialog closes and you are returned to the report. 19. Double-click on the report. The Edit Report dialog displays. 20. Add @reg( 1, Date, "date"). 21. Click OK. The Edit Report dialog closes and the report is updated.
Note: Notice the values of the last two variables. They should be the same. You may want to change the decimal specification to read the exact values.
241
Schlumberger
22. Click the Next button in the Step pane to advance to Blue_1:Li_1C. Notice that now the values in the last two columns are different starting from June 1967, since CV.AveOil is dynamic while the values retrieved from the data register are fixed.
23. Double-click on the report. The Edit Report dialog displays. 24. Edit the report parameters and add monthlyprod.oil/@reg( 1, Date, date) to the parameter list. Click OK. 25. Increase the number of decimals in the last column. The report refreshes. Navigate through all the wells to verify the results.
Note: Unlocked registers refresh when the entity changes. The second argument of the @reg() function (i.e. Date) is an output frequency (control) variable. If the variable there is not the same as the X variable being registered, in that register location (first argument of the function), OFM will perform linear interpolation of the Y variable. There is no extrapolation scheme in the @reg() function. 26. Unlock the register and observe the difference. 27. Close the report but do not clear the filter at this time.
242
Schlumberger
Private Database
Frequently there are many people working on a networked project. Some advantages of this practice are that they can share work, save storage space, and reduce the time required to update/maintain the database. However, the possibility of users using the same names, encountering locked-up situations (problems with privileges), making conflicting (program/project level) modifications is quite high. In an attempt to solve the dilemma, OFM provides the Private Database utility. By specifying a private database, you can store your work while still taking advantage of the shared elements of the project. The private database is truly private since you are the only one who has access to it. Each user can have a private database to store their work. All the users have the same data, and it can be manipulated differently without changing anyone elses work.
2. Click the Browse button to the right of the Database name field. The New Private Database dialog displays.
243
Schlumberger
3. Select a database and click OK. The New Private Database dialog closes and you are returned to the Private Database dialog. The path of the database is displayed and the Save in private database section of the dialog is enabled.
4. Select checkboxes according to the type of data you want to save. 5. Click OK.
244