UserGuides Tutorials Examples OFM 2014
Comments
Description
User Guides, Tutorials, and ExamplesUser Guides, Tutorials, and Examples Copyright © 1998-2014 Schlumberger. All rights reserved. This work contains the confidential and proprietary trade secrets of Schlumberger and may not be copied or stored in an information retrieval system, transferred, used, distributed, translated or retransmitted in any form or by any means, electronic or mechanical, in whole or in part, without the express written permission of the copyright owner. Trademarks & Service Marks Schlumberger, the Schlumberger logotype, and other words or symbols used to identify the products and services described herein are either trademarks, trade names or service marks of Schlumberger and its licensors, or are the property of their respective owners. These marks may not be copied, imitated or used, in whole or in part, without the express prior written permission of Schlumberger. In addition, covers, page headers, custom graphics, icons, and other design elements may be service marks, trademarks, and/or trade dress of Schlumberger, and may not be copied, imitated, or used, in whole or in part, without the express prior written permission of Schlumberger. Other company, product, and service names are the properties of their respective owners. An asterisk (*) is used throughout this document to designate a mark of Schlumberger. Product Information Country of Origin: USA Release Date: August 2014 1 of 262 User Guides, Tutorials, and Examples User Guides For your convenience, the topics in this help system are available as .pdf files. Right-click any of the following links to save the a print-ready file to your computer: l User Guides, Tutorials, Examples, Videos, and Samples l Getting Started and Creating Projects l Importing, Exporting, and Linking to Data l Data Tables and Fields l Variable Editor l Solutions Catalog, Variables, and the Data Dictionary l Entering and Changing Table Data l My and Shared Workspaces l OFM Settings l Workspace Managers l Categories l PVT l Entity Managers and Advanced Setup Features l Filtering l Base Map l GIS Map l Maps l Analytical Maps l Bubble Maps l Grid, Contour, and Surface Maps l Scatter Plots l Map XY Plots l Plots l Forecasts l Reports l Log Reports, Well Log Displays, and Cross Sections 2 of 262 User Guides, Tutorials, and Examples l Wellbore Diagrams l Creating Calculations l System Functions l References 3 of 262 User Guides, Tutorials, and Examples User Guides For your convenience, the topics in this help system are available as .pdf files. Right-click any of the following links to save the a print-ready file to your computer: l User Guides, Tutorials, Examples, Videos, and Samples l Getting Started and Creating Projects l Importing, Exporting, and Linking to Data l Data Tables and Fields l Variable Editor l Solutions Catalog, Variables, and the Data Dictionary l Entering and Changing Table Data l My and Shared Workspaces l OFM Settings l Workspace Managers l Categories l PVT l Entity Managers and Advanced Setup Features l Filtering l Base Map l GIS Map l Maps l Analytical Maps l Bubble Maps l Grid, Contour, and Surface Maps l Scatter Plots l Map XY Plots l Plots l Forecasts l Reports l Log Reports, Well Log Displays, and Cross Sections 4 of 262 Tutorials. and Examples l Wellbore Diagrams l Creating Calculations l System Functions l References 5 of 262 .User Guides. report the monthly oil rate. Tutorials. find the change in water rate. we create a scatter plot that uses well test production data from two dates. Creating an After-Before-Compare Plot In this video. and compares performance between those dates. We will: Find the maximum. and make the new associations. find the monthly oil rate from three-months previous. and display the information in a report. find the change in oil rate. we create a series of calculated variables to create a report showing the best three months of production. n Watch in English n Watch in Russian n Watch in Spanish Finding the Best Three Months of Production In this video. second-best. n Watch in English n Watch in Russian n Watch in Spanish Creating Customized Well Symbols In this video.User Guides. and third-best monthly oil production. n Watch in English n Watch in Russian n Watch in Spanish 6 of 262 . We will review how well symbols work. and then create a scatter plot and interpret it. we create two new well symbols and use them in a project. the video should play in a new browser window. We will: Review existing calculated variables. create new well symbols. find the corresponding dates. and Examples Videos Note: When you click any of the links below. Tutorials. and Examples OFM Quick Start Tutorials This online help has a suite of tutorials. but they do not cover all features in OFM. The tutorials have step-by-step instructions for performing common tasks.User Guides. The tutorials cover these topics: n Patterns n Plots: n n n Creating and Editing Plots n Audit Plot Tutorial Reports: n Date-Based Report n Summary Report Display Logs: n Single-Well Log Display n Multi-Well Log Display n Log Cross-Section n PVT n Forecasts: n n Single Phase Analysis n Ratio Analysis n Pressure/Z-Factor (P/Z) Analysis n Flow After Flow Test n Well Deliverability Analysis (WDA) Maps: n Bubble Maps n Grid Maps n Contour Maps n Scatter Plots n Surface Maps n Map XY Plots 7 of 262 . you use patterns and see the effect of the pattern allocation factors that you supplied. n View pattern results one at a time: In this section. you will: n Open the waterflood sample project n Create patterns interactively: Each pattern has several completions. or any other non-volume variable should not be affected. You can use patterns by filtering or by stepping though (on the Navigation pane). surveillance. When you do this. Typical pattern configurations look like these: You must use your judgment and knowledge of the reservoir to assign a realistic fraction of each completion's production or injection to the block of reservoir beneath the pattern. You can change one pattern at a time. considering both injection and production. You can see the results most easily in plots or reports. n Edit patterns: After you create patterns. depths. choke sizes. and the optimization of operations at the pattern level. porosities.User Guides. you choose which variables are affected by pattern allocation factors. or you can change the pattern data with all sets and all patterns visible. You will create a report that shows the results of pattern allocation factors. In this tutorial. and Examples Tutorial: Patterns You can configure waterflood patterns by assigning completions to a pattern and allocating production and injection volumes from those completions. you create a report to confirm this. There are two ways to change the pattern data. In this section. you can compare performance. and which are not. In this section. The factors should only affect volumes. you edit the patterns that you created. 8 of 262 . you select the completions for each pattern individually. n Choose variables affected by pattern allocation factors: In this section. n Confirm the pattern allocation factors: No single well should have allocation factors summing to more than one. Tutorials. hours on production. In this section. Pressures. you can change the pattern allocation factors or dates. . Regular layout: Inverted layout: 3. On the base map. Creating Patterns Interactively Each pattern has several completions. and Examples n Compare multiple patterns on a plot: In this section.User Guides. change the Well Name to Alias Name. press Ctrl and click wells 491. you add patterns to the project by loading a formatted data file. you can reformat the data and load it into OFM. under Well Name Properties. You can remove wells from a pattern as new patterns are created. the allocation factors may change over time as injectors are created and terminated. 1. n Create patterns from an ASCII file: If you have determined the allocation factors already and it is available in a document or spreadsheet. 498. 5. you select the completions for each pattern individually. Opening the Waterflood Sample Project Open the Bfield sample workspace. 492. The pattern data can be static or dynamic. 4. This helps organize your work when you configure the patterns interactively in OFM. you may want to print a large map of your area and manually draw the pattern outlines on that map. in the Zoom group. In this section. click Zoom Area. Tutorials. With this waterflood. On the Property pane. applying pattern allocation factors. On the Format tab. 495. They will be the same patterns that you created interactively. you could create patterns with a regular layout or in an inverted layout. It is in the OFM installation folder. at .ofm.Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField. The Edit Patterns window opens. You will set up regular patterns. and 502. On the base map. 2. you create a plot that compares multiple patterns. drag a frame around the pattern waterflood area in the north (marked with blue symbols). Release the Ctrl key. Note: Before you start. For dynamic patterns. 9 of 262 .. In this section. 8. 5. b. The Edit Patterns window opens. On the base map. you can change the pattern allocation factors or dates. Change the PatternNames. Select the Pattern table and then click OK. The Edit Patterns window opens. The wells you selected are listed on the right pane. Click OK to close the Edit Patterns window. Editing Patterns After you create patterns. 7. or you can change the pattern data with all sets and all patterns visible. click Patterns. you edit the patterns that you created. Ensure the entire rows are highlighted. You will change the pattern in the next section of the tutorial. On the Setup tab. in the Tables group. 9. First. n The Current Pattern Set field at the bottom of the window displays the current pattern (inverted_five_spot). The Select OFM Table to Edit window opens. Only the P-0 and P-1 patterns remain. Click OK to close the Edit Patterns window. view how you can change the pattern data. 1. and Examples n The left pane lists patterns. 6. A common naming convention is to name the pattern after the center 10 of 262 . Tutorials. In this section. Scroll to the bottom of the table and find the records for the patterns you created. OFM lists the pattern you created with a default name (P-0). The date (1900-01-01) is the default starting date for the pattern. click Data Grid. Press Delete. 7. You can change one pattern at a time. the pattern you created is in the current pattern. The contents of the Pattern table display. Release the Ctrl key. Click OK to close the Edit Patterns window. 4.User Guides. 3. 6. On the Setup tab. Notice that you can navigate to the pattern you want to edit. Because two pattern sets have already been configured for this project. in the Workspace Managers group. Highlight all records that are not the patterns you created. They are part of the inverted_five_spot pattern set. and the pattern name is P-0 and P-1. 2. Now you will change the pattern data with all sets and all patterns visible. showing all patterns configured in both pattern sets. There are two ways to change the pattern data. Change the PatternSet names from inverted_five_spot to Tutorial. n The right pane lists the five wells you selected. press Ctrl and select another five wells to create another pattern. by expanding the pattern folder in the left pane. OFM lists the pattern you created with a default name (P-1) and the default starting date for the pattern. one pattern at a time: a. User Guides. change the Factor value for each to 0. 4. well.5. you create a report to confirm this. Since no single well should be allocated more than 100%. 1. On the Property pane. @PatLoss( ) 3.5 implies that 50% of its injection is supporting a different pattern. Confirming the Pattern Allocation Factors No single well should have allocation factors summing to more than one. The effective factor is the Factor value minus the Loss value. On the report. click Report. n If the well appears three times. a simple way to set geometric allocation factors is to sort the table by well. This does not have to be the first date of production or injection. do the following: n If the well only appears one time. Note the other table columns: n Date: This is the effective start date of the pattern allocation factors. @PatName( ). The default date (January 1900) means the allocation factors are in effect from the beginning of the waterflood. click in the @PatWell() column. For example. pattern name. @PatWell( ). In the Select box. a loss of 0. change the Factor value for each to 0. For each well. On the report. 11. For example. change the Break when this column changes field to Yes. enter the following: @PatCurSet( ). Click OK. So. The Edit Report window opens. and loss. When you finish. click in the @PatFact() column. to save the change. 6. On the Home tab. you can choose to set a lower Factor. in the Launch analysis group. Name the first pattern you created (with the default name P-0) P-495. @PatFact( ). n Factor: This is the allocation factor the specific well's rates and volumes to the specific pattern. leave the Factor value as 1. under Columns. @PatDate( ). Double-click the Well column heading to sort the table. Tutorials. an allocation factor of 0. A report opens. factor. 9.33 Make sure to click on a different record after making a change. n Loss: This is the injectant loss factor. It lists the pattern set name. n If the well appears two times. In this section. and usually can be left unchanged. 8. instead of setting a Loss.2 implies that 20% of water injected is being lost to non-pay zones or outside the pattern area. 5. 11 of 262 . and Examples well. date. 2. close the Pattern table. 10. expand the WIN table and make sure that the variables that store volumes are set to Multiply by Factor. c. On the report. e. On the PRD table. make sure the Multiply by Factor check box is clear. porosities. make sure Multiply by Factor is selected. e. choke sizes. On the Property pane. On the left pane. and which are not. Choosing Variables Affected by Pattern Allocation Factors In this section. 5. f. view the Math tab. On the Math tab. Make sure the OIL. make sure the Multiply by Factor check box is clear. On the Math tab. select the DAYS variable. Make sure the ACTIVE. In the Grouping Options section. On the left pane. Make sure that all numeric variables in the MASTER. under Columns.00. Click OK to save your changes and close the Edit Schema Tables window. in the Tables group. On the Setup tab. a.User Guides. and RESPROP tables are not set to Multiply by Factor. in the Grouping Options section. On the left pane. select the GAS variable. check the sum values to make sure that none of them are larger than 1. make sure the check box is clear. f. The factors should only affect volumes. On the Math tab. click Schema. 6. hours on production. make sure Multiply by Factor is selected. 12 of 262 . b. click the ACTIVE variable. PVT. On the PRD table. c. 1. and PRESS variables in the PRD table are not set for Multiply by Factor: a. On the PRD table. On the Math tab. d. make sure Multiply by Factor is selected. or any other non-volume variable should not be affected. 4. and WATER variables in the PRD table are set for Multiply by Factor because these store volumes. On the Math tab. 8. Make sure that all other variables are not set to Multiply by Factor. b. Tutorials. DAYS. select the PRESS variable. In this project. g. only the PRD and WIN tables store volumes. and Examples 7. 2. in the PRD table. On the right. d. depths. you choose which variables are affected by pattern allocation factors. change the Subtotal field to SUM. The Edit Schema Tables window opens. On the PRD table. select the WATER variable. Pressures. 3. GAS. expand the PRD table and then click the OIL variable. 13 of 262 . You can use patterns by filtering or by stepping though (on the Navigation pane). c. in the Edit group. in the Launch analysis group. Tutorials. 5. b. On the Navigation pane. so it is a larger value than before. then Patterns. View the base map. You can see the results most easily in plots or reports. click Clear Filter ( ). Step by patterns: a. click Clear Filter ( ). c.Winj 3. The Edit Report Attributes window opens. with allocation factors applied. on the field at the top. d. On the Home tab. and Examples Viewing Pattern Results One at a Time In this section. On the Format tab. in the Zoom group. View the report. Use patterns for filtering: a. An empty report opens with columns for the date and water injection. Win. 6. Click OK. In the Select box. 1. click Date & Sort. c. Compare the difference with and without pattern use: a. Under Tutorial. click Clear Filter ( ). On the Format tab. click Report. The water injection value represents the unallocated total of all five wells. Select At Last Date and then click OK. 4. select the check box to the left of the first pattern (this was the P-0 pattern. which you may have renamed P-495). 8. 2. change the step to PATTERN: Tutorial. The report populates with one row. then Tutorial. expand Category. click Zoom Area and then drag across the map around the pattern waterflood area in the north. On the Filter pane. select the first pattern listed. e. On the Filter pane. On the Filter pane. The report populates with one row. On the Filter pane. The Edit Report window opens. enter the following: Date. b. This automatically groups the values for the first pattern. On the Navigation pane. Click Group ( ) to view the total pattern results. 7. d. You will create a report that shows the results of pattern allocation factors. A report opens. b.User Guides. click Group ( ). you use patterns and see the effect of the pattern allocation factors that you supplied. On the Filter pane. 500000 0. On the Home tab. On the Edit Plot window. and Examples Comparing Multiple Patterns on a Plot In this section. The Edit Plot window opens. enter the following: *Label Pattern *WELL *Factor *Loss *Set Tutorial *Pattern *Date "P-0" 19000101 "491WI:B" 1. Creating Patterns from an ASCII File If you have determined the allocation factors already and it is in a document or spreadsheet. In a new text file.000000 "492WI:B" 0. you add patterns to the project by loading a formatted data file. the allocation factors may change over time as injectors are created and terminated.Winj. 2. Tutorials.000000 0.500000 0.000000 "502WI:B" 0. select Win.500000 0. Below the main area of the window. Open Notepad or a similar text editor. They will be the same patterns that you created interactively. applying pattern allocation factors. 6. 1. You can remove wells from a pattern as new patterns are created. click the Add Multiple Curves button.000000 "495:B" 1.000000 0. 4.User Guides. 3. On the Category field. you can reformat the data and load it into OFM. For dynamic patterns. click Plot. 2. On the Variable field.000000 14 of 262 .000000 *Pattern *Date "P-1" 19000101 "492WI:B" 0.000000 "493WI:B" 0. 1. 5. click OK to create the plot. The Add Multiple Curves window opens. in the Launch analysis group.000000 "498WI:B" 1.500000 0. The pattern data can be static or dynamic. you create a plot that compares multiple patterns. Click OK to close Add Multiple Curves window. In this section. select Tutorial.000000 0. OFM lists them with the other patterns. on the Setup tab. click OK. click Import > Data Loader. change either the pattern allocation factor to zero.500000 0. Save the file with a . The new patterns are loaded into your project.000000 0. 7.) 15 of 262 . n The fifth line (*Date 19000101) is the effective date.000000 0. The OFM Data Loader opens. On the Navigation pane.000000) is the wellname. Click Load. click Patterns. In the upper section.500000 0. on the Setup tab. 6.000000 3. and Examples "496:B" 1. To remove a well from a pattern at a specific date.0.000000 "497:B" 1.000000 "502WI:B" 0. n The sixth line ("491WI:B" 1.000000 0.000000 "507WI:B" 1. in the Import/Export group. and loss. A warning message confirms your choice. in the Workspace Managers group. or set the loss factor to 1. Notice the following lines: n The fourth line (*Pattern "P-0") is the pattern name. factor. On the warning message. (To see this window. 8.500000 0.000000 *Pattern *Date "P-2" 19000101 "493WI:B" 0. The Files to Load section lists the file. double-click the pattern (.pat file extension and then close the text editor. 4. 5. Tutorials. OFM also lists them on the Edit Patterns window. In OFM.000000 0.000000 "503WI:B" 0. n The third line (*Set Tutorial) is the Pattern Set name.500000 0.000000 "494WI:B" 1.000000 "503WI:B" 0.pat) file you created.User Guides.000000 0. 4. named Region_A and Region_B. 3. 5. On the Setup tab. named Default. Open the Demo workspace. which 16 of 262 . click PVT. It is OK to call these functions directly in your eventual calculation. oil and gas gravity. and which completion produces from Region_B. Fluid properties change as reservoir conditions (especially pressure) change. On the PVT Data tab. This is generally timeindependent information. named Region_A and 1. You can create two PVT entities. 4. In this tutorial. at .ofm. and temperature. Creating a PVT Entity for Each Fluid In this tutorial. Tutorials. You cannot rename or delete this entity. You will use the master table to create a column in which this information will reside. you configure your project to produce from two separate fluid compartments. The PVT module has many industry-accepted correlations that you can use to calculate an estimated value for a fluid property (such as viscosity). 2. Use PVT system functions: To use the fluid correlation calculations in your work. With those values. you mark which completion produces from Region_A. the reservoir engineer monitors the performance of the reservoir relative to the overall depletion strategy. Bo correlation. Calculate reservoir oil volume: In this section of the tutorial. On the Oil Correlations tab. you will: 1. The reservoir pressure value is used to determine the solution gas oil ratio. select Standing. but to make the feature more visible you can create a calculated variable specifically to return the Formation Volume Factor. The Add New PVT Table Entity window opens. you must define the fluid for each of these compartments. 6. So. Enter Region_A as the name you want to assign the new entity and then click OK. In this case. 3. Click Add. 2. you make the final calculation. you can use of a group of system functions in that relate directly to the PVT functionality. The Edit PVT Information window opens for Region_A.. Any static table in the project is OK. Map completions to their PVT entity: In this section of the tutorial.Sample Workspaces\Demo Workspace\demo. confirm that the remaining data required for the correlation are available. It is in the OFM installation folder. in the Workspace Managers group.User Guides. One entity is listed.. note that there are already entries for the reservoir initial pressure. for the Formation Volume Factor. and Examples Tutorial: PVT For reservoir engineering. you must convert surface oil and gas production volumes to downhole or reservoir volumes. Create a PVT entity for each fluid: In this tutorial. and so it can be included in a static table. you configure your project to produce from two separate fluid compartments. The PVT Entity Name window opens. create a second fluid compartment: Click Add. 9. 7. for this tutorial. you mark which completion produces from Region_A. 8. Click OK. Click OK. 11. This is generally time-independent information. 9. Now you can enter the data. 13.User Guides. and so it can be included in a static table. click Data Grid. You will use the master table to create a column in which this information will reside. 13. Click Close. enter the following information: 17 of 262 . in the Tables group. On the Setup tab. In the Add New Field section. in the Tables group. 10. Select Edit All Records. 6. On the PVT Entity Name window. The Select OFM Table to Edit window opens. On the Oil Correlations tab. Click Add. 2. 5. Click OK. click Save to save your work. 8. and which completion produces from Region_B. In the PVT_Region column (on the far right). 10. select Vasquez and Beggs. Enter Region_B as the name and then click OK. On the Workspace tab. click Schema. you need do nothing on this tab. Select Text from the drop-down list. select the Fields tab. 7. On the right side of the window. for the Formation Volume Factor. Click OK. and Examples is controlled by a separate correlation choice on the Oil Correlations tab. The Edit Schema Tables window opens. Bo correlation. 1. Tutorials. On the Setup tab. Mapping Completions to their PVT Entity In this section of the tutorial. select the HEADERID table. 12. Therefore. 3. 11. enter PVT_Region. 4. Select HEADERID. Any static table in the project is OK. The new field name appears in the list of Available Fields. 12. click Clear Filter to remove any previously applied filters. On the left side of the window. On the Filter pane. By default. In this example. In practice. select HEADERID. 17. Close the HEADERID:All Records tab to save your changes. click Association. The Edit Calculated Variable window opens. you provided the simplest form of input data. 4. It is OK to call these functions directly in your eventual calculation. 2. 14. Click Add Calculated Variable. On the Setup tab. 6. Click OK. Click OK. In the Report Width Decimals column. a single number (3000 psi). The Calculated Variables window opens. In the Name column.PVT_Region. Now you must signal that the new field in the HEADERID table dictates which set of PVT correlation data to use. click Calculated Variable Editor. Using PVT System Functions To use the fluid correlation calculations in your work. n On the row for BLUE_1:Li_1C. select 3. and Examples n On the row for BLUE_1:Ge_6. click Save to save your work. such as @PvtBo (Monthlyprod. a more useful form of the expression would call a dynamic variable for pressure. 15. 1. 8. The new calculated variable displays as the last item on the list. 16. 3. Click OK. 18. The Associations window opens. On the Setup tab. n On the row for BLUE_1:He_0. In the PVT field. click Report. Tutorials. 18 of 262 . You have fully mapped the two PVT regions to the project. enter Region_B. you can use of a group of system functions in that relate directly to the PVT functionality. delete the name NewItem and rename the variable FVF. click Save to save your work. On the Workspace tab. You can view the full list by clicking on the system functions button and scrolling to the section beginning Pvt. 5. Most of the @Pvt system functions require pressure data. At the top of the Variable Editor window. Enter the following expression in the text field: @PvtBo(3000) Note: @PvtBo is one of many PVT system functions. OFM adds the report columns in the window. OFM names it NewItem. enter Region_A. for the FVF row.User Guides. This will result in a continuous estimate of Formation Volume Factor. enter Region_A. in the Tables group. 9. in the Variable Managers group. On the Workspace tab. but to make the feature more visible you can create a calculated variable specifically to return the Formation Volume Factor. 7.pressure). FVF. See how the FVF value changes when selecting completions from the two different PVT regions. you make the final calculation.User Guides. By default. On the Setup tab. Tutorials. 6. Click OK. click Save to save your work. On the Workspace tab. reservoir_Oil_Vol. 1. 5. Note: To test the new calculated variable. click Calculated Variable Editor. OFM names it NewItem. and Examples Calculating Reservoir Oil Volume In this section of the tutorial.Oil. 7. 2. 3. Monthlyprod.oil * FVF 4. Click Add Calculated Variable. Note the new functionality for the first three completions in the project. In the Name column. in the Variable Managers group. delete the name NewItem and rename the variable Reservoir_Oil_Vol. you can create a report with the following definition: Date. Enter the following expression in the text field: Monthlyprod. The new calculated variable displays as the last item on the list. 19 of 262 . Assign suitable attributes (such as units). you will: 1. OFM produces plots from stored data or from calculated results in the project. you create one. In this section of the tutorial. select the Blue_1:He_0 completion. Below the text title. All the graphs do not have to use the same X-axis variable. Edit plot headers: Headers are titles or labels that display on the plot. 4.grf file) into their project. In this section. 5. Headers display information about the entity you select. and their plot will have the same structure as the original..Sample Workspaces\Demo Workspace\demo. 7. It is in the OFM installation folder. and Examples Tutorial: Creating and Editing Plots You can create plots to display information graphically. Open the Demo workspace. Export a plot template: After you have prepared a plot. 3. On the Navigation pane. you can share the features with a colleague while keeping the data confidential. Extend a plot to multiple Y-axes: You can extend the visualization capabilities of the plot. 2.ofm. You will prepare the following graphs: Oil versus Time. Create a plot that displays data for a single completion: The simplest form of a line plot is a timedependent display of monthly oil and gas production for a selected completion. In this section. you place a title that displays the name of the completion. you can save the features of the plot (but not the data) to an external file as a template. 8. you place a simple text title at the top of the plot. With the template. In this section. 2. Oil versus Cum Oil. and Water Cut versus Cum Water. Import a plot template Creating a Plot that Displays Data for a Single Completion The simplest form of a line plot is a time-dependent display of monthly oil and gas production for a selected completion. Tutorials. at . In this section of the tutorial. Water Cut versus Time. plotting the same variable names but applied to the set of wells in their project. 20 of 262 .User Guides. you use categories in the plots to compare the performance of an individual completion with the performance of the reservoir from which it produces. the selected completion) changes.. you add graphs to a plot. Use categories to display different levels of information: You can configure plots to display data at more than one level. you display data for a single variable for multiple completions. Create a plot displaying data for a single variable for multiple completions: One way to compare the performance of several entities is to display their data on the same plot. In this tutorial. 1. The title changes as the selected entity (in this case. Extend a plot to multiple graphs: You can create up to six graphs in any single OFM plot. 6. In this section of the tutorial. you create one. Your colleague can import the template (a . Water Cut versus Time. and Water Cut versus Cum Water. Oil versus Cum Oil. Click the new cell in the Variables column and then select Monthlyprod. in the Launch analysis group. On the right. 6. You can adjust the attributes of this axis (for example. Create a new plot: On the Home tab. the second Y-axis is on the right side of the graph. By default. On the right. The Edit Plot window opens. click Plot. 1. under Axis. click the cell in the Variables column and then select Water. 1. OFM places the even-numbered Y-axes on the right side of the graph.User Guides. In the first row. The Edit Plot window opens. 5. in the Graph group. Note: You can create up to six Y-axes for each graph (and up to six graphs) in a single OFM plot. in the Y Axis group. set the Number of Axes to 2. All the graphs do not have to use the same X-axis variable. The plot (with default features) opens.Oil. maximum and minimum values. The Edit Plot window opens. in the Launch analysis group. To add another Yaxis. in the Edit group. because it is for Y-axis 2. set the Number of Graphs to 4. Click OK. Extending a Plot to Multiple Y-Axes You can extend the visualization capabilities of the plot. You will prepare the following graphs: Oil versus Time. Note the Variables list area is empty. and Examples 3. On the Home tab. and the odd-numbered Y-axes on the left side.on the Format tab. 9. In the table. 7. Extending a Plot to Multiple Graphs You can create up to six graphs in any single OFM plot. Set the Current Axes to Y-AXIS 2. you add graphs to a plot. On the Workspace tab. 4. click Plot. In this section of the tutorial. click the first cell in the Variables column and then select Monthlyprod. 3. click Save to save your work. On the Workspace tab. Tutorials. Click OK. Click Add Curve. click Variables. The curves that display on the primary vertical axis (Y-Axis 1) have been defined. click Save to save your work. 2. 8. linear scale. 6. 21 of 262 . OFM adds a new row. 5. Notice the X-Axis Variable is set to Date by default. 2. 4.Cut. and so on) by selecting the axis and then making changes on the Property pane.Gas. By default. In the Graph group (on the right) set the Current Graph to GRAPH 1. In the Graph group. change the Current Graph to GRAPH 3. Depending on your choice. change the Current Graph to GRAPH 2. change the Current Graph to GRAPH 4. 6. 7.Cum. In the X-Axis group. and then select Monthlyprod. in the Variables column. and Examples 3. work with Graph 4: a. In the Graph group. b. work with Graph 3: a. b. Select Yes or No. in the Variables column. In the Graph group. set the X-axis variable to Date. In the X-Axis group (at the top). Next.Cut as the Yaxis variable.Cum. Because you selected a number greater than or equal to 4. set the X-axis variable to Oil. work with Graph 1: a. the four graphs display as shown below: 4. Click the cell on the first row. c. 5. b. c. leave Date as the X-axis variable. In the X-Axis group. Click the cell on the first row.Oil as the Y-axis variable.User Guides. b.Oil as the Y-axis variable. in the Variables column. 22 of 262 . and then select Monthlyprod. In the X-Axis group. And last. First. work with Graph 2: a. Tutorials. c. and then select Water. set the X-axis variable to Water. a message asks if you want to overlap the graphs. Then. Click the cell on the first row. expand Scale. Notice the layout of the plot. Set Scale Type to Linear. click Save to save your work. click Save to save your work. 4. you place a title that displays the name of the completion. Headers display information about the entity you select. 9. On the Edit Plot window.Cut as the Yaxis variable. The Edit Plot window opens.User Guides. Click Add Multiple Curves. On the plot. you select the single variable whose data you want to display for all completions. 23 of 262 . Create a new plot: On the Home tab. 6. select Date. you place a simple text title at the top of the plot. On the Category field. The title changes as the selected entity (in this case. On the X-Axis Variable field. Below the text title. The plot displays monthly oil production for the entities. Click the cell on the first row. 1. Click Yes. the selected completion) changes. 7. On the Workspace tab. under Axis. Creating a Plot Displaying Data for a Single Variable for Multiple Completions One way to compare the performance of several entities is to display their data on the same plot. 3. On the Variable field. Handle marks display at both ends and in the middle. Usually. you select the level in the project at which you want to display the data. you will want to set the X-axis variables on the second and fourth plots to linear. Select Completion. 11. and then select Water. 5. confirming that this is the object you want to adjust. you will receive a message asking if you want to add the curves to your plot. click OK to display the plot. in the Launch analysis group. Tutorials. 12. click Plot. and Examples c. Editing Plot Headers Headers are titles or labels that display on the plot. click directly on the X-axis scale (the horizontal line). 8.Oil. 2. Select Monthlyprod. The Add Multiple Curves window opens. Click OK. you display data for a single variable for multiple completions. On the Property pane. 10. In this section. On the Workspace tab. in the Variables column. Note: If your current filter contains more than 50 entities. In this section. you must use quotation marks around the text. and then select Monthlyprod. select other completions to see how the dynamic portion of the header changes. select Date. 2. When entering a text string. Observe the entries in the next two columns: Category is set to Current. select other completions in your project to see how the plot changes: 24 of 262 .Oil again. the entry in the Name column is CURRENT. change the category to Reservoir. Click the cell on the new row. (Optional) Drag the header to a new location on the plot. Tutorials. 8. Click OK. You must include the space immediately after the word completion for proper spacing. OFM adds a new row. On the Workspace tab. 6. 5. 8. on the Format tab. 4. By default. 9. but it is possible to use this column to specify that this curve will be for one particular reservoir. 1. On the Navigation pane. In the Category column for the second row. 5. Click Add. you use categories in the plots to compare the performance of an individual completion with the performance of the reservoir from which it produces. click Header. in the Variables column. 4. and Name is set to correspond to the entity (in other words. In this section. in the Variables column. and Examples 1. 7. click Save to save your work. Click the cell on the first row. On the Navigation pane. On the blank row. Click Add. 3. OFM inserts another blank row. in the Launch analysis group. completion) you currently have selected on the Navigation pane. The Edit Plot window opens. Click OK. click Plot. in the Edit group. The headers display on the plot. OFM inserts a blank row. Using Categories to Display Different Levels of Information You can configure plots to display data at more than one level. On the new blank row.Oil. Click Add Curve. and then select Monthlyprod. this is the name you will want. On the X-Axis Variable field. The Headers window opens. type "Completion" + @Loadname () and then press Enter. 2. With your plot open. Create a new plot: On the Home tab. Usually. 6. 7. type "MY COMPANY"and then press Enter. 3.User Guides. You now can send the file to your colleague. select . Note: The template will only be applicable to an OFM project which uses the same variable names as the original project from which it was created. On the Workspace tab. in the Launch analysis group. select Save Analysis > Save As. Your colleague can import the template (a . in the Utilities group. With the template. and their plot will have the same structure as the original. 2. click Open Analysis. 9. Exporting a Plot Template After you have prepared a plot. and Examples n Curve 1 displays the monthly oil production for the selected completion. 3. n Curve 2 displays the monthly oil production for the reservoir to which the selected completion belongs.grf file) into their project.grf extension. In the OFM application directory. click Save to save your work. 4..grf.. The Edit Plot window opens.\Sample Workspaces\Demo Database\Format Files\prod1. in the Utilities group. The plot format will look similar to the following: 25 of 262 . On the Format tab. Select a location and name for the file. An empty plot opens. 5. and then click Open. Tutorials. including the .User Guides. Click OK. 1. On the Navigation pane. plotting the same variable names but applied to the set of wells in their project. Do not make any changes. you can share the features with a colleague while keeping the data confidential. 2. Importing a Plot Template 1. select a new completion. click Plot. 3. you can save the features of the plot (but not the data) to an external file as a template. On the Format tab. Create a new plot: On the Home tab. Click Save. 26 of 262 . and Examples 6. On the Workspace tab. click Save to save your work. Tutorials.User Guides. You can mark (or. In this way. you can print or save as graphic files in a batch process the plots for all completions in the current filter. C.User Guides. click Save Workspace to save your work. click Plot. and so on). in the Launch analysis group. If you have already created plots while doing the "Creating and Editing Plots" tutorial.. The plot opens. Like the trace point feature. you will: 1. 7. Use the Trace Plot utility: Use this utility to mark or digitize a point anywhere on the plot. you need a plot. 8. If you have not completed that tutorial. The Edit Plot window opens. 27 of 262 . 4. 4. B. and autoprint features. OFM prints the plot for the currently-selected entity. Print (Auto Print) the plot: There are two ways to print. 3. On the Workspace tab. If you use the normal printing method. Click Add Curve. 2. the peak production for completion A) while viewing the same plot for other completions (for example.Sample Workspaces\Demo Workspace\demo. you can find the equation of a straight line fit through a region you define on your plot. On the Home tab. It is in the OFM installation folder. In this tutorial. If you use Auto Print.Gas. at . 6. 5. flag) completions and later you can return to the flagged completions as a separate collection. Flag a completion: While viewing plots for each completion in your project. 2. 3. Open the Demo workspace. Click the new cell in the Variables column and then select Monthlyprod. OFM adds a new row. you may want to study further one or more completions. compute line. Use the Compute a Line utility: With OFM. click the first cell in the Variables column and then select Monthlyprod. you can lock this line to compare the curve it represents with other entities. flag. follow these steps to create a quick plot: 1. you can see the location of a particular data point (for example. Click OK. In the table. you can use one of those.ofm.Oil. Tutorials. 5. Send a plot to a tabular report: You can transform the display of data from a graphical format (a plot) to a tabular format (a report). tabular report. Getting Started For this tutorial. and Examples Tutorial: Auditing Plots You can further increase your analysis of plots with the trace. Notice that OFM sets the X-Axis Variable to Date by default.. The marked point remains visible while you scroll through other entities in the project. With the plot open. in the Utilities group. and Examples Using the Trace a Plot Utility Use this utility to mark or digitize a point anywhere on the plot. the peak production for completion A) while viewing the same plot for other completions (for example. Tutorials. Note: To change the color. 1. 2. you can see the location of a particular data point (for example. on the Navigation pane select the Blue_1:Li_1C completion. in the Display group. Blue_5:Li_1C is a good choice). 6. C. and so on). clear the Lock Trace check box. click Save to save your work. Select another completion with a production history coincident with the previous completion (for example.User Guides. B. click Lock Trace. in the Display group. You should now see a small mark at the selected point. On the Format tab. 28 of 262 . You want to watch this event while viewing other completions in the project. 5. click Trace Plot. on the Format tab. 4. The marked point remains visible while you scroll through other entities in the project. On the Format tab. To remove the mark and disable the utility. There is a spike in oil production in 1980 (circled in the following graphic). On the Workspace tab. 3. shape. Note how the location of the spike in production for completion Blue_1:Li_1C is marked on the plot for Blue_5:Li_1C. click Trace/line Attributes. in the Utilities group. In this way. Click one time at the point where there is a spike in production. and size of the mark symbol. Like the trace point feature. (See marked region in graphic). Handle marks display at both ends and in the middle. 1. select the Blue_5:Li_1C completion. 2. On the plot. b. 29 of 262 . you can lock this line to compare the curve it represents with other entities. you can find the equation of a straight line fit through a region you define on your plot. On the Navigation pane. confirming that this is the object you want to adjust. There is a strong decline period in oil production from 1973 to 1978. c. and Examples Using the Compute Line Utility With OFM. Set the Y-axis to logarithmic: a. On the Property pane. Set Scale Type to Logarithmic. You want to watch this decline while viewing other completions in the project.User Guides. under Axis. click the Y-axis scale. Tutorials. expand Scale. click Save to save your work. 6. If the plot is a semi log. To remove the mark and disable the utility. Printing (Auto Print) Plot Views There are two ways to print. 2. in the Utilities group. Tutorials. 7. and . click Trace/line Attributes. 3. On the Workspace tab. select Printer and then click Print. To print the plot for each of the completions in the current filter. on the Home tab. shape.jpg. 1. On the Format tab. in the Utilities group. click Compute Line. OFM highlights the locked line (which represents the declining oil production for completion Blue_ 5:Li_1C) on the plot for Blue_1:Li_1C. 2. drag a representative straight line through the decline period.bmp. On the plot. . To save each of the plots as an image file (such as .User Guides. Note: To change the color. OFM freezes the line. On the Workspace tab. 1. on the Filter pane. select Print to multiple files. select another completion with a production history coincident with the previous completion (for example. OFM prints the plot for the currentlyselected entity. and Examples 3. The Filter by Completion window opens.tiff). 4. 30 of 262 . When you finish reviewing the plots and you want to study the flagged completions. and then click Print. Blue_1:Li_1C is a good choice). the relevant equation of the line will be similar to the following: 5. When you see a plot that requires further investigation. flag) completions and later you can return to the flagged completions as a separate collection. If you use Auto Print. you can print or save as graphic files in a batch process the plots for all completions in the current filter. select Flag well. On the Navigation pane. and size of the line. If you use the normal printing method. Click Select Flagged. Note the information at the bottom of the OFM window. On the Format tab. click Filter by Completion ( ). You can mark (or. in the Utilities group. Flagging a Completion While viewing plots for each completion in your project. select a naming scheme for the output files. 4. click Lock Line. 3. click Auto Print. Click OK. you may want to study further one or more completions. clear the Lock Line check box. on the Format tab. 31 of 262 . On the Workspace tab. click Save to save your work. You can edit the attributes of the report on the Property pane. click Send to Report. in the Utilities group. 1. Tutorials.User Guides. On the Format tab. displaying the data that displayed on Graph 1 of the plot. 5. and Examples The Filter pane now shows that your Current Filter contains only the flagged completions. 2. 3. Sending a Plot to a Tabular Report You can transform the display of data from a graphical format (a plot) to a tabular format (a report). click Save to save your work. The report opens. On the Workspace tab. When you are mapping data already in the database. This is most applicable if you are mapping from a . the number of colors displayed. The bubble map displays data for the completions in the current filter. Create a bubble map snapshot: You can create a table in the OFM project database of the data represented in your bubble map.csv file. 10.Cum). On the Home tab. you change the color scale properties. Tutorials.. Change the bubble color and shape: You can set the shape and color of the bubbles. Gas. and the size of the color scale legend on the display area. 6. . 2. Click Next. and analytical maps.User Guides. You can create headers for the base map. 3. Create a bubble map 2. at . 4. You can customize the display format of each line. 32 of 262 . you edit the headers. Use the animation tool 8. Save the bubble map file Creating a Bubble Map 1. you will: 1. In this section of the tutorial. Change color scale properties: You can set the color spectrum..Csv File" and "Creating a Map Snapshot" for more information. In this tutorial. Select the project variable you want to map (for example.Sample Workspaces\Demo Workspace\demo. In this section of the tutorial. It is in the OFM installation folder.ofm. you change the shape and default color of the bubble. and you can reuse it for different sets of completions within the OFM project. there is no need to store it back into the database via a map snapshot. Add a header to the bubble map: In this section of the tutorial. The Create Bubble Map window opens. in the Launch analysis group. Move the bubbles from default positions: You can move the bubbles from their default locations. reports. and then click 4. Open the Demo workspace. See "Saving and Loading Map Results as a . click Bubble. and Examples Tutorial: Bubble Map You can create bubble maps to visualize one or more variables in a map view. Move the map legend 5. Change the grid and frame properties 7. 9. 3. This is a good idea if they are laying on top of one another. User Guides. 4. On the Workspace tab. click Save to save your work. Select the method you want to use to sample data in the Data Sampling Frequency field. OFM uses the data frequency (that is. view the Attributes section. The bubble map opens. Changing the Bubble Color and Shape You can set the shape and color of the bubbles. 6. 5. In this example. If left as the default. You will work with the Color Scale property in the next section. On the bubble map. 9. expand Color Scale. You set the color and shape on the Property pane. Click Next. 1. 3. under Properties. use the default selection (Completion). Color Scale dictates the color of the bubbles rather than this color setting. If left at as the default. click Save to save your work. Tutorials. 8. If you map more than one variable. OFM reduces the color scale to six colors. Set Style to Vertical. Select the start and end data for which you want to track results. 4. On the Workspace tab. and daily data will produce a bubble map every day). 33 of 262 . 3. and the size of the color scale legend on the display area. 5. Under Data. Expand Plot Attributes and then expand Method and Shape. 7. you must use the Horizontal Style. OFM creates the bubble map from the first to the last date in the project database. Set Color to 6. Leave Display set to the default of Circle. you change the color scale properties. In this section of the tutorial. click Save to save your work. Select the category by which you want to group data. Set Color to DarkGreen. you change the shape and default color of the bubble. 2. On the Property pane. 10. (Optional) Enter a Where clause to filter the data. the number of colors displayed. Changing Color Scale Properties You can set the color spectrum. and Examples 5. the legend changes appearance. Click Finish. 11. 2. In this section of the tutorial. 1. On the Workspace tab. If you set the Vary Color field to Yes (the default). monthly data will produce a bubble map every month. Set Spectrum to Rainbow. On the Workspace tab. Changing the Grid and Frame Properties 1. On the Format tab. The bubble map displays without grid lines or numbers. 2. under Grids and Limits. On the Workspace tab. and click OK again to close the Headers window. you edit the headers. Tutorials. 34 of 262 . click Save to save your work. When entering a text string. Adding a Header to the Bubble Map In this section of the tutorial. On the Property pane. in the Edit group. Click Assist. and Examples Moving the Map Legend On the bubble map. type "Cumulative Gas" and then press Enter. and analytical maps. 11. For this bubble map. A calculated variable that applies to the project as a whole would be suitable. such as one displaying the most recent date in the database or the project file path. reports. 7. 12. double-click Category. Note: Most calculated variables are for calculations of one entity at a time. click Header. Click OK to close the Edit Header window. 3. On the list of project variables. 2. Click Font. On the blank row. You can customize the display format of each line. 5. You can create headers for the base map.User Guides. 1. select Bold and then click OK to return to the Headers window. 6.Fieldname to move it into the Header text box. click Save to save your work. 8. The Edit Header window opens. Click Add. You can use input or calculated variables in your headers. you must use quotation marks around the text. Set Numbers to No. The Font window opens. drag the legend to the upper-left corner of the map. set Grid Type to Frame. OFM inserts a blank row. The Headers window opens. 3. For Font Style. Click Add again to insert another new row. The bubble map displays the new header. there aren’t any calculated variables in the project that are suitable as a header. 4. there is no need to store it back into the database via a map snapshot. 5. 35 of 262 . 5. 2. This is most applicable if you are mapping from a . 2. and Examples Using the Animation Tool 1. (Optional) Select Save Animation to an .AVI file if you want to save a copy of the animation as a video. To pause or restart the animation. select a location. The Create Map Snapshot window opens. On the Step field. When you are mapping data already in the database. drag a bubble to a new location. On the Format tab. click the control buttons on the Format tab. select Save Analysis > Save Shapes Positions. in the Utilities group. On the Format tab. click Default Position. If you save the animation file. 3. The animation starts. Enter a name for the file. Click OK. On the bubble map. 4. in the Utilities group. Select Forward. in the Utilities group.User Guides. The codecs available vary from person to person. 1. Moving the Bubbles from Default Positions You can move the bubbles from their default locations. in the Display group. The Animate Settings window opens. click Animate Settings. If you want to share the . select Enable Shape Moves.csv file. select Save Analysis > Create Map Snapshot. On the Format tab. and depend on the software installed on your computer. select a codec that person has installed (to avoid compatibility issues). See "Saving and Loading Map Results as a . The next time you open the bubble map. and then click Save. in the Animation Utilities group. Before the animation starts. The Save Object Locations File window opens. on the Format tab. Creating a Bubble Map Snapshot You can create a table in the OFM project database of the data represented in your bubble map.Csv File" and "Creating a Map Snapshot" for more information. On the Format tab. select 12. 1. To move the bubbles back to their default positions. 3. Tutorials.avi file with another person. you must select a name and file location for the video. in the Animation Utilities group. 6. in the Edit group. This is a good idea if they are laying on top of one another. you can restore the saved bubble positions: On the Format tab. select Open Analysis > Shape Positions File. you select a video compressor format. 4. 2. Saving the Bubble Map File 1. Tutorials.User Guides. 3.bub) file. Click OK. 36 of 262 . The Save Bubble Map File window opens. 4. Enter BubbleMap in the File Name field. Click Save. On the Format tab. and Examples 2. 3. in the Utilities group. select Save Analysis > Save As. Navigate to the location in which you want to store the file. The bubble map is saved as a bubble map (. The data is written to the table in the OFM project database. Type Snapshot as the title of the table in which you want to store the snapshot results. 3. reports. . for a net pay grid map. In this tutorial.User Guides. 5. The Create Grid Map window opens. Select the project variables you want to map (for example. and you can reuse it for different sets of completions within the OFM project. Add a header to the grid map: In this section of the tutorial. and then click 4. Create a grid area 7.csv file. The grid map displays data for the completions in the current filter. For example. Create a grid map 2. In this section of the tutorial. at . Use the animation tool 8. Create a grid map snapshot: You can create a table in the OFM project database of the data represented in your bubble map. click Grid Map. Add control points: Depending on the variable you are gridding. you change the color scale properties.Sample Workspaces\Demo Workspace\demo. 2.. Gas. and analytical maps. or perhaps that there is a fault through the reservoir. See "Saving and Loading Map Results as a . you edit the headers. Change color scale properties: You can set the color spectrum. Open the Demo workspace. Change the grid properties 6. Click Next. you may know from the reservoir geology that the net pay is zero around the edges. you will: 1. 9.Cum). It is in the OFM installation folder. there is no need to store it back into the database via a map snapshot. This is most applicable if you are mapping from a . you can set arbitrary values anywhere on the map (not confined to the location of specific completions).. On the Home tab. Creating a Grid Map 1. the number of colors displayed.Csv File" and "Creating a Map Snapshot" for more information. 37 of 262 . in the Launch analysis group. When you are mapping data already in the database. and Examples Tutorial: Grid Map You can create grid maps to visualize one data variable in a map view.ofm. and the size of the color scale legend on the display area. With control points. Move the legend 4. there may be areas of the map with known values that do not match to a well location. 3. You can create headers for the base map. Tutorials. Select the method you want to use to group data. and Examples 5. 11. If left at as the default. 3. 10. OFM produces the grid map from the first to the last date in the project database. click Save to save your work. in the Edit group. (Optional) Enter a Where clause to filter the data. The Headers window opens. 2. The color scale limited to 10 colors. Click Add. 4. 7. Adding a Header to the Grid Map In this section of the tutorial. under Properties. The grid map opens. monthly data will produce a map every month and daily data will produce a map every day). If left as the default. 5. and analytical maps. use the default selection (Completion). 2. 8.User Guides. OFM uses the frequency of the data (that is. On the Property pane. Set Style to Value Range. Click Finish. reports. and the size of the color scale legend on the display area. 6. 9. 1. drag the legend to the upper-left corner of the map. In this example. 38 of 262 . click Save to save your work. the number of colors displayed. Set Colors to 10. OFM inserts a blank row. click Header. Moving the Legend On the grid map. Set Spectrum to Red. Select the method you want to use to sample data in the Data Sampling Frequency field. expand Color Scale. In this section of the tutorial. On the Format tab. 1. On the Workspace tab. On the grid map. Changing Color Scale Properties You can set the color spectrum. You can create headers for the base map. On the Workspace tab. Tutorials. you change the color scale properties. Select the start and end data for which you want to track results. you edit the headers. the legend changes appearance and shows the value range for each shade of red. Click Next. It is the boundary beyond which gridding will not be extended. For Font Style. The Font window opens. On the blank row. On the Format tab. On the Property pane. under Grids and Limits. 9.User Guides. 4. and Examples 3. For this grid map. click Save to save your work. When entering a text string. 6. Under Variable Properties. Select Assist. 2. Select points on the grid map to create a polygon shape around a group of wells (as shown below). The Edit Header window opens. click Add again. in the Limit Values section. such as one displaying the most recent date in the database or the project file path. Click Add again to insert another new row. double-click Category. 3. set Grid Type to Frame. On the list of project variables.Fieldname to move it into the Header text box. 11. You can use input or calculated variables in your headers. Set Numbers to No. 39 of 262 . The color distribution on the map changes because any area greater than 1500 is now assigned the same color as 1500. You can also add input variables or calculated variables as headers. This redefines the grid limit area. 2. Therefore. in the Grid Area Utilities group. On the Workspace tab. The grid map displays the new header. 8. Changing the Grid Properties 1. Note: Most calculated variables are for calculations of one entity at a time. Click Font. The grid map displays without grid lines or numbers. Tutorials. there aren’t any calculated variables in the project that are suitable as a header. and click OK again to close the Headers window. 5. 7. type "Cumulative Gas" and then press Enter. A calculated variable that applies to the project as a whole would be suitable. 12. click Add. you must use quotation marks around the text. set Maximum to 1500.OFM automatically connects the last selected point of the polygon to the first point. Creating a Grid Area 1. Click OK to close the Edit Header window. select Bold and then click OK to return to the Headers window. and Examples 3. If you want to share the . select a codec that person has installed (to avoid compatibility issues). The codecs available vary from person to person. If you save the animation file. Tutorials. you will be asked to select a video compressor format. OFM defines the new grid area from the group of wells selected in the polygon. On the Step field. click Save to save your work.AVI file if you want to save a copy of the animation as a video. On the Format tab. Click OK. and depend on the software installed on your computer. select 12. click Animate Settings. 40 of 262 . When you finish. On the Workspace tab. The animation starts. 4. right-click and then select Done. 3.User Guides.avi file with another person. (Optional) Select Save Animation to an . Using the Animation Tool 1. you must select a name and file location for the video. 4. in the Animation Utilities group. 2. The Animate Settings window opens. Before the animation starts. 2. you can set arbitrary values anywhere on the map (not confined to the location of specific completions). To pause or restart the animation.User Guides. This is most applicable if you are mapping from a . In the Value field.Csv File" and "Creating a Map Snapshot" for more information.csv file. For example. Creating a Grid Map Snapshot You can create a table in the OFM project database of the data represented in your bubble map. The data is written to the table in the OFM project database. 41 of 262 . select or clear Use. enter 5 and then click OK. The Control Point Value window opens. With control points. in the Control Point Utilities group. for a net pay grid map. On the Format tab. right-click and then select Done. and Examples 5. The Create Map Snapshot window opens. Adding Control Points Depending on the variable you are gridding. click Add. there may be areas of the map with known values that do not match to a well location. The color distribution changes as that area was previously showing with darker red color (indicating higher values). Enter a table name and then click OK. on the Format tab. 1. To use or disable the control points. select Save Analysis > Create Map Snapshot. See "Saving and Loading Map Results as a . click the control buttons on the Format tab. there is no need to store it back into the database via a map snapshot. When you are mapping data already in the database. Inside the grid area of your map. 5. When you finish. click three points. or perhaps that there is a fault through the reservoir. On the Format tab. 4. you may know from the reservoir geology that the net pay is zero around the edges. Tutorials. 2. 1. 3. south of wells O-33 and G-15. in the Animation Utilities group. in the Utilities group. in the Control Point Utilities group. for a net pay contour map. In this example. (Optional) Enter a Where clause to filter the data.CumCut).ofm. You can create headers for the base map. 3. data ranges. 7. In this section of the tutorial. Animate the map: With animation. and you can reuse it for different sets of completions within the OFM project. Open the Demo workspace. Change the color scale properties: You can set the color spectrum. Creating a Contour Map 1. Move the legend 4. you can set the grid size. 5. Tutorials. Click Next. 2. Add a header to the contour map: In this section of the tutorial. and then click 4. 6. 6. you change the color scale properties. On the Home tab. you may know from the reservoir geology that the net pay is zero around the edges.Sample Workspaces\Demo Workspace\demo. and Examples Tutorial: Contour Map You can create contour maps to visualize one data variable in a map view. Select the method you want to use to group data. or perhaps that there is a fault through the reservoir.. 42 of 262 . 3. you can quickly progress through the life of a field. you will: 1. Click Next. use the default method (Completion). 9. Create a contour map 2. The Create Contour Map window opens. In this tutorial. Add control points to the contour map: Depending on which variable you are contouring. Create a grid area: You can create a boundary around a group of wells to redefine the grid limit area. you edit the headers. click Contour Map. in the Launch analysis group. at . and analytical maps. Use control points to set arbitrary values anywhere on the map (not confined to the location of specific completions). . For example. and scale types for the variables. and the size of the color scale legend on the display area. 8. Select the project variables you want to map (for example. reports. Water. The contour map displays data for the completions in the current filter.User Guides. there may be areas of the map with known values that do not match with a well location. It is in the OFM installation folder. the number of colors displayed.. Advance the contour map through time 7. Edit map parameters: With the map properties. 5. expand the Color Scale section. under Properties. The contour map opens. and Examples 8. If left as default. Select Finish. Set Distance Between Labels to 4. 2. 5. On the Property pane. Select the start and end data for the contour map. and are further apart. drag the legend to the upper-left corner of the map. expand the GRID section. grid cells. Tutorials. If left at the default. In this section of the tutorial. 6. Select how often you want OFM to sample data from the Data Sampling Frequency. Set the Maximum Grid Size to 250. Expand the 2D section. Creating a Grid Area You can create a boundary around a group of wells to redefine the grid limit area. data ranges. you can set the grid size. monthly data produces a contour map every month and daily data produces a contour map every day). On the Workspace tab. click Save to save your work. Set Decimal Places to 0.User Guides. Editing Map Parameters With the map properties. 2. 1. On the Workspace tab. OFM uses the data frequency (that is. click Save to save your work. 43 of 262 . On the Property pane. OFM will produce the map from the first to the last date in the project database. 4. and smaller. On the Workspace tab. 3. Set Colors to 24. 3. and the size of the color scale legend on the display area. under Properties. 1. click Save to save your work. This smooths the contour lines because the map is divided into more. 7. Moving the Color Scale Legend On the contour map. 9. 10. 11. Set Show to Yes. Changing the Color Scale Properties You can set the color spectrum. you change the color scale properties. and scale types for the variables. the number of colors displayed. The numeric values of the contour lines display. The contour line's numeric labels display with no decimal places. click Previous Date to go back by one unit (month. 4. in the Animation Utilities group. and Examples 1. Click Backward to reverse the contour map through time. This redefines the grid limit area. right-click and then select Done. Click Stop to stop. 44 of 262 .User Guides. In this case. in the Grid Area Utilities group. you can quickly progress through the life of a field. click Save to save your work. OFM defines the new grid area from the group of wells selected in the polygon. 2. date. When you finish. 3. 2. 3. Select points on the map to create a polygon shape around a group of wells (as shown below). the data is monthly. On the Workspace tab. Tutorials. On the Format tab. Advancing the Contour Map Through Time 1. Click Next Date to advance the contour map by one unit. On the Format pane. click Add. OFM automatically connects the last selected point of the polygon to the first point. or year). 4. Animating the Map With animation. 5. The Control Point Value window opens. 4. On the Step field. and Examples 1. there may be areas of the map with known values that do not match with a well location. The contouring changes. you edit the headers. select 12.User Guides. To pause or restart the animation. Use control points to set arbitrary values anywhere on the map (not confined to the location of specific completions). On the Format tab. Tutorials. in the Animation Utilities group. reports. in the Edit group. Before the animation starts. you will be asked to select a video compressor format. 1. The Headers window opens. On the Format tab. you may know from the reservoir geology that the net pay is zero around the edges. The codecs available vary from person to person. (Optional) Select Save Animation to an . In the northeast corner of the map. select a codec that person has installed (to avoid compatibility issues). If you save the animation file. 2. Adding Control Points Depending on which variable you are contouring. Click Add. 6. within the grid area. The Animate Settings window opens. 3. for a net pay contour map. 2. The animation starts. click the control buttons on the Format tab. 2. For example. 5. You can create headers for the base map. click Header. click Save to save your work. When you finish. 3. In the Value field. in the Control Point Utilities group. 45 of 262 . On the Workspace tab. in the Animation Utilities group. 4. If you want to share the . The area previously showed darker red colors (indicating higher values). Click OK.avi file with another person. you must select a name and file location for the video.AVI file if you want to save a copy of the animation as a video. enter 100 and then click OK. and depend on the software installed on your computer. Select Forward. 1. right-click and then select Done. or perhaps that there is a fault through the reservoir. click a point. click Add. On the Format tab. Adding a Header to the Contour Map In this section of the tutorial. click Animate Settings. and analytical maps. OFM inserts t blank row. 5.User Guides. For Font Style. 6. select Bold and then click OK to return to the Headers window. type "Cum Water Cut" and then press Enter. click Save to save your work. Tutorials. When entering a text string. Click OK to close the Headers window. The contour map displays the new header. 7. 46 of 262 . 4. On the blank row. On the Workspace tab. Click Font. and Examples 3. The Font window opens. you must use quotation marks around the text. Create a scatter plot set 4. Click Next. Leave the Data Sampling Frequency as All Rows.Cum and Water. Create a scatter plot 2.User Guides. 2. Select completions in the scatter set by value range 5.Cum and then click . In this tutorial. Add a header to the scatter plot 8. Select the variables Oil. Click Next. If left as default. The scatter plot displays data for the completions in the current filter. On the Home tab.. The scatter plot will display. Select Finish. Pick by bounding polygon 7. 7.. in the Launch analysis group. On the Workspace tab. at . OFM will produce the map from the first to the last date in the project database. 5. monthly data produces a scatter plot every month and daily data produces a scatter plot every day). Open the Demo workspace. It is in the OFM installation folder. The Create Scatter Plot window opens.Sample Workspaces\Demo Workspace\demo. Tutorials. and Examples Tutorial: Scatter Plot You can create scatter plots to see relationships and correlations between data variables. 6. Save and edit the scatter plot set 6. 10. click Scatter. 8. 9. 47 of 262 . you will: 1.ofm. OFM uses the frequency of the data (that is. 4. 3. and you can reuse it for different sets of completions within the OFM project. Set up the scatter plot graphs 3. Select Completion as the method you want to use to group data. Animate the map Creating a Scatter Plot 1. If left at default. click Save to save your work. Leave the start and end dates at Default for the scatter plot. 48 of 262 . On the Format tab. click Save to save your work. Selecting Completions in the Scatter Set by Value Range 1. in the Utilities group.Cum. Select And. select >= and enter the value 800. Set the Y-Variable to Water. 2. The Set By Value window opens. The plot on the left shows what the values of cumulative water and cumulative oil of each completion were at the date indicated. 3. 3. 8. 3. in the Edit group. set the Number of Graphs to 2. The plot on the right represents a map of the field. In the Current Graph Properties section. Set the Type to Filled Circle.and Y-coordinates when creating the scatter plot. under Scatter Plot Properties. 9. Because you are identifying high oil points. Each data point on the scatter plot represents a completion. click Pick By Value. For the Name. and Examples Setting Up the Scatter Plot Graphs 1. enter High Oil. Creating a Scatter Plot Set 1. The Edit Scatter Plot Set window opens. Click OK. Two scatter plots display. On the Format tab. 5. 5. Even though you did not choose the X.User Guides. 4. 4. set the X-Variable to Oil. In the Current Graph Properties section. On the Property pane. 6. Change the Y-Variable to Y-Coordinate. 2. 6. Change the Current Graph to 2. Click on the first graph (the one on the left) to make it the Current Graph.Cum. in the Cumulative Oil Production section (which is your X-coordinate). 7. 2. 8. Click Add. click Scatter Sets. change the X-Variable to X-Coordinate. On the Workspace tab. Tutorials. click Save to save your work. 7. On the Workspace tab. Set the Color to Green. OFM provides them automatically. Select Trackable. 4. Set the Current Graph to 1. Set the Size to 7. On the Format tab. The scatter plot displays. 4. Select Post Name. 5. 6. enter High Fluid. Both graphs have the same completions indicated by the set. 6. click Save to save your work. 9. Since this is the high fluid set. On the Workspace tab. The data points representing the completions with high values of both cumulative oil and 49 of 262 .User Guides. Click Save. On the Format tab. select <= and enter the value 4000. 10. 6. 2.set) file Liquids and then click Save. Click OK. 7. 5. Name the scatter set (. For the Name. Set the Type to Filled Square. 4. click Scatter Sets. In the Cumulative Water Production section (which is your Y-coordinate). Set the Color to Magenta. 11. Saving and Editing the Scatter Plot Set 1. The Edit Scatter Plot Set window opens. 8. click Pick by Polygon. in the Edit group. Tutorials. click on the map to create a polygon around the data points closest to the top right of Graph 1. 3. Set the Color to Dark Green. The green lines on Graph 1 show the path by which each completion’s data traveled through time. The Edit Scatter Plot Set window opens. Set the Type to Filled Up Triangle. 7. Set the Size to 10. 2. Click Add. This shows you where the high oil completions are located on the map. and Examples 5. in the Edit group. Click OK. The scatter plot displays with the relevant data points overlaid with green circles. in the Utilities group. 7. Picking by Bounding Polygon 1. Set the Size to 8. 3. Right-click and select Done. On the Format tab. click Scatter Sets. Click OK. you select a video compressor format. or some other performance or completion factor. 4. click Save to save your work. You can customize the display format of each line. 13. 2. Tutorials. select Bold and then click OK. On the Font Style list. reports. OFM labels these points with the completion names. On the Format tab. you edit the headers. On the Format tab.AVI file if you want to save a copy of the animation as a video. 1. Before the animation starts. Click OK. click Header. The Headers window opens. 3. select a codec that person has installed (to avoid compatibility issues). and Examples cumulative water are overlaid with magenta squares.User Guides. On the Workspace tab. 7.avi file with another person. The plot displays with the new header. On the Format tab. If you save the animation file. and analytical maps. The codecs available vary from person to person. type "Cumulative Liquids" as title for the scatter plot. The Animate Settings window opens. click Animate Settings. Only the group of points inside the polygon belonging to the two scatter sets display. 3. and depend on the software installed on your computer. Click Add. use quotation marks around the text. 6. You may see a correlation between their locations and your knowledge of the area. On the Workspace tab. (Optional) Select Save Animation to an . Adding a Header to the Scatter Plot In this section of the tutorial. Click OK. 5. 50 of 262 . In the blank line. In the Step field. you must select a name and file location for the video. When entering a text string. in the Display group. 2. 4. You can create headers for the base map. You now have an idea of how much the cumulative values vary by completion. If you want to share the . in the Edit group. 12. Animating the Map Use animation to progress quickly through the life of a field. Click Font to change the header font properties. select 12. click Save to save your work. 1. select Plot Only Sets. and where the high oil and high fluid completions are located. in the Animation Utilities group. The animation starts. User Guides, Tutorials, and Examples 5. To pause or restart the animation, click the control buttons on the Format tab, in the Animation Utilities group. 51 of 262 User Guides, Tutorials, and Examples Tutorial: Surface Map You can create surface maps to see one data variable in a three-dimensional map display. The surface map displays data for the completions in the current filter, and you can reuse it for different sets of completions within the OFM project. Because of its three-dimensional nature, the most logical types of variables to show with a surface map are related to depth or elevation. In this tutorial, you will: 1. Create a surface map: You will create a surface map based on the depth of the upper perforations. 2. Change the color scale properties: You can set the size of the color scale legend on the display area, and you can customize it to your preferences. In this section of the tutorial, you change the color scale properties. 3. Move the color scale legend 4. Add headers to the surface map: In this section of the tutorial, you edit the headers. You can create headers for the base map, reports, and analytical maps. You can customize the display format for each line, to have up to ten lines of information with a maximum of 79 characters on each line. 5. Change the surface map Creating a Surface Map 1. Open the Demo workspace. It is in the OFM installation folder, at ...Sample Workspaces\Demo Workspace\demo.ofm. You will create a surface map based on the depth of the upper perforations. For deviated wells, a calculated variable is required to convert measured depth to true vertical depth, so for this example you will exclude the deviated wells. 2. On the Filter pane, expand Table Data and select Dev. OFM filters the wells. Only wells with deviation survey data display. 3. At the top of the Filter pane, click Invert Filter to filter to the wells that do not have deviation survey data (and so, are vertical wells). 4. On the Home tab, in the Launch analysis group, click Surface Map. The Create Surface Map window opens. 5. On the list of project variables, select Headerid.Upperperf and then click . 6. Click Finish. The surface map opens. This map is plotting depths, and would be more representative if it was plotting elevations instead, so the deepest perfs extend downward rather than upward. 7. On the Workspace tab, click Save to save your work. 52 of 262 User Guides, Tutorials, and Examples Changing the Color Scale Properties You can set the size of the color scale legend on the display area, and you can customize it to your preferences. In this section of the tutorial, you change the color scale properties. 1. On the Property pane, under Properties, expand Color Scale. 2. Set Style to Value Range. 3. Set Spectrum to Default. 4. Set Colors to 10. 5. On the Workspace tab, click Save to save your work. Moving the Color Scale Legend On the surface map, drag the legend to the upper-left corner of the map. Adding Headers to the Surface Map In this section of the tutorial, you edit the headers. You can create headers for the base map, reports, and analytical maps. You can customize the display format for each line, to have up to ten lines of information with a maximum of 79 characters on each line. 1. On the Format tab, in the Edit group, click Header. The Headers window opens. 2. Click Add. OFM inserts a blank row. 3. On the blank row, type "Depth of Upper Perforations" and then press Enter. When entering a text string, you must use quotation marks around the text. 4. Click Font. The Font window opens. 5. For Font Style, select Bold and then click OK to return to the Headers window. 6. On the Headers window, click OK. The surface map displays the new header. 7. On the Workspace tab, click Save to save your work. Changing the Surface Map 1. On the Property pane, under Variable Properties, expand Limit Values. 2. Set Minimum to 3000. 3. Set Maximum to 12000. The value ranges on the legend changes. 53 of 262 User Guides, Tutorials, and Examples 4. Under Properties, expand 3D. 5. Set Azimuth to -90. The azimuth setting rotates the map. A value of -90 puts north at the top. 6. Set Elevation to 60. The elevation setting tilts the map towards or away from you. A value of 0 has no tilt, so you are looking at a side view. A value of 90 provides a plane view from directly overhead. 7. On the Workspace tab, click Save to save your work. 54 of 262 User Guides, Tutorials, and Examples Tutorial: Map XY Plot You can create map XY plots to create a montage that combines the base map and plots of time-dependent data. OFM creates one plot for each completion and is positions them above the completion. In this tutorial, you will: 1. Create a map XY plot 2. Change the scale properties 3. Change the curve properties 4. Add headers to the map XY plot: In this section of the tutorial, you edit the headers. You can create headers for the base map, reports, and analytical maps. You can customize the display format for each line, to have up to ten lines of information with a maximum of 79 characters per line. 5. Move the plots from default positions: You can move the plots from their default locations. This is a good idea if they are laying on top of one another. Creating a Map XY Plot 1. Open the Demo workspace. It is in the OFM installation folder, at ...Sample Workspaces\Demo Workspace\demo.ofm. 2. On the Home tab, in the Launch analysis group, click Map XY Plot. The Create Map XY Plot window opens. 3. On the list of project variables, select Oil.CalDay and Water.CalDay, and then click 4. Click Finish. The Plot Setup window opens. 5. Select Date for your X-axis, and Oil.CalDay and Water.CalDay for the Y-axis. 6. Click OK. The map XY plot displays. 7. On the Workspace tab, click Save to save your work. Changing the Scale Properties 1. On the Property pane, under Data, expand Plot Setup. 2. For the X-Axis, set Scale Type to Logarithmic. 3. For the X-Axis, set the Minimum to 19900101. 4. On the Format tab, in the Display group, select Blow Up Plot. The Blow Up Plot window opens. 5. Resize the plot window to be larger. 55 of 262 . select a plot and drag it to a new position. you edit the headers. Set Plot Curve Attribute to Oil. 5. On the Property pane. select Bold and then click OK to return to the Headers window.CalDay. Click Add. 2.CalDay. 6. 3. 7. When entering a text string. click Save to save your work. click Save to save your work. 1. 2. click Save to save your work. and Examples 6. Oil and Water" and then press Enter. On the Workspace tab. This is a good idea if they are laying on top of one another. Set Line Color to Blue. 5. On the Headers window. Adding Headers to the Map XY Plot In this section of the tutorial. click Header. in the Edit group. 4. 2. Click Font. On the map XY plot.User Guides. click the well symbols to see individual completion's plots in the Blow Up Plot window. to have up to ten lines of information with a maximum of 79 characters per line. in the Display group. and analytical maps. On the Workspace tab. On the Format tab. On the blank row. Set Line Color to Green. reports. The Font window opens. The map XY plot displays the new header. Tutorials. 7. Set Plot Curve Attribute to Water. Changing the Curve Properties 1. expand Plot Setup and then expand Plot Curve Attribute. click OK. On the Format tab. You can customize the display format for each line. under Data. you must use quotation marks around the text. For Font Style. 3. 1. 4. select Enable Shape Moves. The Headers window opens. 56 of 262 . On the Workspace tab. You can create headers for the base map. OFM inserts a blank row. type "Calendar Day Rate. On the map XY plot. 6. Moving the Plots from Default Positions You can move the plots from their default locations. in the Utilities group.User Guides. on the Format tab. in the Utilities group. 4. Enter a name for the file. selecting Open > Shape Positions File. 57 of 262 . Tutorials. click Default Position. in the Edit group. you can retrieve the saved plot positions: On the Format tab. On the Format tab. 5. The Save Object Locations File window opens. select Save > Save Shapes Positions. To move the plots back to their default positions. and then click Save. The next time you open the map XY plot. select a location. and Examples 3. Import a report template 7. For most of your reports. whether you reporting on a single completion. the changes you make will not affect the default definition of the variable in that column. Adjust column headers 5. Add the current date to the Report Header 4. Microsoft Excel.Cut. in the Launch analysis group. 58 of 262 . or a single object created by grouping multiple completions. On the Home tab. In this tutorial.Oil. Tutorials. Export a report template: Saving the workspace automatically saves the report for you to use again in the future. This section of the tutorial describes the Microsoft Access writeback choice. Save the report content: You can save the contents of the report as comma separated values (. 3.. enter the following: Date. Monthlyprod. Creating a Simple Date-based Report You can create a report that displays the project variable MonthlyProd. The Edit Report window opens. The other two work similarly. you can create reports to display the different types of variable dependencies.Sample Workspaces\Demo Workspace\demo. at . You can send the results of your report to Microsoft Access.Cut. If there is a relationship between the variables. Many attributes (such as column width and number of decimal places) are set by the definition of the variable displayed. reports display variables for only one entity. or a text file.Oil with the calculated variable Water. or as a text (.User Guides. Create a simple date-based report: You can create a report that displays the project variable MonthlyProd. 3. 1. and Examples Tutorial: Date-Based Report You can create reports that display a spreadsheet-style tabular listings of project variables (either table variables or calculated variables). you may want to display the variables against time (date). In the Select text box. 2. By default. It is in the OFM installation folder. but you can use other variables. Write results of report back to the project as a new Access data table: OFM offers more choices for capturing the results of a report.ofm.. You may want to save an external version of the report format to share with a colleague. Edit report features: In this section of the tutorial. Open the Demo workspace. 6. you improve the appearance of the report. While you can customize the appearance of the report by changing the attributes of a column.csv). 2.Oil with the calculated variable Water. a single reservoir or other category. click Report. 8. you will: 1. 59 of 262 . Set the Justification to Center. Expand Column Attributes. the Current Column shows that you selected Monthlyprod. YYYY-MM-DD). 6. Click OK. 9. The report displays only the data from 1997 and 1998. click Date & Sort. 1. The Edit Report Attributes window opens. The report breaks at the end of every calendar year. under Columns. select the Blue_1:He_0 completion. select Range to restrict the range. in the Edit group. Set the Decimal Places to 1. On the Workspace tab. Editing the Report Features In this section of the tutorial. On the Property pane. Set the Display to English. 5. under Columns. set the Report Date to an alternative format from the list (for example. 10. Set the Starting date to January 1. and Examples 4. The total monthly oil volume displays at the end of each calendar year. 5. set Break to Annually. Many attributes (such as column width and number of decimal places) are set by the definition of the variable displayed. On the Navigation pane.User Guides. even if you set the project to display metric units. On the Set Date tab. under Report. 2. On the Format tab. 6. This forces the column to display in barrels. 1997 and the Ending date to January 12. Set Multiplier to M. 13. On the Property pane. click Save Workspace to save your work. Tutorials. On the Property pane. Click any cell in the Monthly Oil column of the report to access the Current Column properties for selected column.Oil.On the report. you improve the appearance of the report. 14. Set the column Width to 15. 11. 8. OFM displays a grid-style tabular listing of the variables. Click OK. 7. 12. Set the Subtotal to Sum. Expand Variable. 15. The report opens. the changes you make will not affect the default definition of the variable in that column. 3. 1998. 4. the date displays in the new format. While you can customize the appearance of the report by changing the attributes of a column. Adjusting the Column Headers 1. You may want to save an external version of the report format to share with a colleague. click Save to save your work. 19. On the Property pane. 6. The average water cut displays at the end of each calendar year. click Save to save your work. 1. click Save Analysis. On the Workspace tab. Set the Heading Third Row to Oil Volume. click Header. The Header/Footer window opens. Click any cell in the Water Cut column of the report to access the Current Column properties for selected column."Mmm dd." 3. in the Utilities group. 4. Click the cell immediately below. 17. The report header has a new line with today’s date. Click OK. Click on any cell in the Monthly Oil column of the report to access the Current Column properties for the selected column. On the Format tab. in the Right Aligned column. 2. Enter the following text in this cell: @FmtDate(@today(). Click the cell in the first row. Tutorials. Note the change in the way the data in the column title is displayed. On the Workspace tab. Exporting a Report Template Saving the workspace automatically saves the report for you to use again in the future. 5.User Guides. 2. which is helpful if you want to copy the report content to a spreadsheet application. 60 of 262 . under Columns. Set Subtotal to Average. expand Column Attributes. 4. Navigate to the folder where you want to save the template file. expand Current Column and then expand Column Attributes. click Save to save your work. 2. Adding the Current Date to the Report Header 1. in the Edit group. The average displays on a different line than the sum. The Save Report Format window opens. and Examples 16. On the Property pane. 18. under Columns. 3. and type ". On the Format tab. On the Workspace tab. Click OK. and do not work on calculated variables (such as the @CumInput system function). 2. Enter the location to which you want to save the report content file.User Guides. You may also want to send the results back to the project as new data. 2. you may want to do this if the results have corrections to the original raw data. On the Workspace tab. Or. click Save to save your work. Microsoft Excel. click Save Analysis. first create a blank report. in the Utilities group. 1. MonthlyProd. Enter the name you want to assign to the attribute file. enter the following: @Name(). Select the saved . On the Home tab. The other two work similarly. in the Launch analysis group. MonthlyProd.rpt file and then click Open.rpt file. 2. 4.csv). This section of the tutorial describes the Microsoft Access writeback choice. You can send the results of your report to Microsoft Access. With the report open. Note: You can copy the report contents and paste them into a spreadsheet. The Edit Report window opens. Writing Results of Report Back to the Project as a New Access Data Table OFM offers more choices for capturing the results of a report. click Open Analysis. on the Format tab. and you want to have the corrected and uncorrected data in your project. Note that the report now displays the imported attributes.Oil*0. Importing a Report Template 1. 1. 61 of 262 . 3. 4. For example. Click Save to save a copy of the report attributes (not the report content) as an . Tutorials. or a text file. in the Utilities group. Click Save. you may want to do this if you want to use system functions that only work on data. on the Format tab. With the report is open. and Examples 3.txt) file. Date. 3. 4. click Report.rpt file. Saving the Report Content You can save the contents of the report as comma separated values (.Gas*0. In this example. To import report attributes from an .7 3. you are correcting the monthly oil and gas volumes by a constant factor for each.9. Enter the name you want to assign the report content file. In the Select text box. or as a text (. Click Key. 14. click MonthlyprodOil*09. Select Yes to the question asking to continue. 6. OFM will now ask you to confirm the primary parameters which define the table. 18. If you clear this choice. enter Corrected_MonthlyProd. click Field1 (on the same row as @Name() in the OFM Columns column). On the Format tab. For this case: a. In the Access Fields column. 16.User Guides. click Date. The Edit Schema Tables window opens. c. 21. If selected. click Access. Select Yes to create it. (Optional) Select Automatically update Access when the report is updated to create updates automatically. 8. In the Table Name field. In the Auto-associate Fields window. and Examples 4. Since you ensured that the key column names were OFM-compatible. These are the entries you used to create the report. 7. In the Access Fields column. Click Key. If you send this data back to your project. On the Setup tab. 5. find the new Corrected_MonthlyProd table. OFM advises you that the table does not exist. click Schema. 13. 62 of 262 . in the Tables group. Tutorials. you must manually refresh the table. 19. 17. Set Table Type to Monthly. You cannot change the OFM columns in the Fields section. Click Close and Update. b. 12. Click MonthlyprodGas*07. 9. in the Edit group. the data must conform to OFM nomenclature. Type OIL and then press Enter. 20. 22. In the Access Fields column. Type Uniqueid and then press Enter. Select the empty check box next to the new table name to enable the table. On the Tables tab. 10. On the Navigation pane. The Access window opens. OFM has identified them correctly. The report displays results. select the Blue_1:He_0 completion. 11. OFM updates the table every time you open or refresh the report. 15. Type GAS and then press Enter. select Yes to accept OFM’s guess. User Guides. taken from the report. click Save to save your work. Note: The table will be populated only for the completions that you have displayed on the report. To display the report for all completions and thus populate the table for all completions." 63 of 262 . Your project now contains a data table (Corrected_MonthlyProd) with adjusted oil and gas volume data columns. Tutorials. 23. Click OK to accept the new changes and close the window. and Examples d. see "To Generate a Summary Report .Full Detail. On the Workspace tab. click Sum By Item. Open the Demo workspace. with the report ranked according to cumulative oil. This will vary for 64 of 262 . On the Navigation pane. This way you get a concise summary showing the best producers. Create a Summary Report . and so on. the current performance). The Edit Report Attributes window opens. Tutorials. Oil. click Date & Sort. you may want to view a single line for each completion (for example. 2. This way you get a concise summary showing the best producers.Sample Workspaces\Demo Workspace\demo. and Examples Tutorial: Summary Report You can create summary reports to view data for all completions.ofm. On the Home tab. This will display the last date for which each individual completion has data. the current performance). 3.User Guides. 1. 5. in the Edit group. click Report. A tabular listing of the variables populates the report. It is in the OFM installation folder. enter this: @Name(). The Edit Report window opens. in the Display group. 7. Creating a Summary Report . at . in the Launch analysis group.Full Detail 1. Date. you will: 1. 6. You can customize the summary report to display one line for each completion.One Line for Each Completion: Rather than view the full history for all completions in the summary report. Create a Summary Report .. individually..Cum. click Save to save your work. 2.Full Detail 2. On the Set Date tab. The report opens. A summary report displays data for every entity in your current filter.Cum 4. Creating a Summary Report – One Line for Each Completion Rather than view the full history for all completions in the summary report. In this tutorial. Gas. Click OK. In the Select text box. you may want to view a single line for each completion (for example. On the Format tab. all reservoirs. On the Format tab. select the Blue_1:He_0 completion. On the Workspace tab. with the report ranked according to cumulative oil. You can customize the summary report to display one line per completion. select At Last Date. The report shows the history of all the completions in the current filter. use the At Date choice instead.User Guides. 4. recent date. OFM sorted the completions alpha-numerically. Tutorials. set the First sorting to Oil. 6. Click OK.cum. select Sum By Item. On the Sort tab. Now OFM sorts the report by cumulative oil value in descending order. On the Workspace tab. on the Format tab. Select Descending. 5. and Examples different completions. Before. click Save to save your work. depending on their status. 65 of 262 . If you do not see all completions in the current filter. in the Display group. To display only a specific. 3. ofm. Edit the depth shift 7. On the Trace Attributes tab.. It is in the OFM installation folder. at . Edit the log track 4. In the Top field. click Single Well Log. On the Navigation pane. Edit the lithology interval 8. enter 1500. Create a log track 5. The Log Trace Attributes window opens. Tutorials. 2. make the following selections: 66 of 262 . 2. 3. On the Home tab. 6. 4.User Guides. You will: 1. Create a single-well log display 2. In the Bottom field. Rename the log file Creating a Single-Well Log Display 1. Assign traces to a track and edit trace attributes 3. On the Workspace tab. Open the Demo workspace. enter 6750. click Save to save your work. select Wellbores. in the Launch analysis group. 7. The Set Depth Range window opens.Sample Workspaces\Demo Workspace\demo. In this tutorial. showing placeholders for two traces on each of two tracks. Assigning Traces to a Track and Editing Trace Attributes 1. Add comments 9. The single-well log display template opens. and Examples Tutorial: Single Well Log Display You can create a single-well log display to visualize the digital well log data and create custom templates to perform different analyses. 5. Select the BLUE_14 well. double-click the first Trace Name. Click OK. At the top of Track 1. Add a cutoff 6. 8. you will create a log display for a single well using trace data.. Editing the Log Track 1. enter -5. 5. double-click the first Trace Name. 3. For Set Scale to. enter 0. and Examples n For Log. Creating a Log Track 1. Tutorials. double-click the second Trace Name. select Blue. Reading. Click OK. enter 7. On the Format tab. On the Format tab. On the Workspace tab. click Save to save your work. 8. Click OK. click Variables. n For Min. enter -151. On the Trace Attributes tab. At the top of Track 1. select Logarithmic. 4. in the Edit group. 6. The track displays with a logarithmic scale. select Green. At the top of Track 2. make the following selections: n For Log. Reading. 4. n For Color. The Edit Log Track window opens.26. 7. n For Max. 6. Reading. The log displays.User Guides. Click OK. select IDPH. On the Workspace tab. click Save to save your work.448. click Add Track. On the Trace Attributes tab. Reading. n For Min. The log displays. 5. select ILD. select SP. 7. n For Color. 2.18.399. On the Navigation pane. n For Max. in the Edit group. 3. make the following selections: n For Log. The Add Log Track window opens. The log displays. Click OK. select the ORANGE_34 wellbore. 67 of 262 . The Depth Shift window opens. double-click the first trace name (now named SP). Editing the Depth Shift 1. Click OK. select HENNA_1. 3. click Save to save your work. 3. The Edit Interval window opens. The log display shows the new track. click Litho Interval. Editing the Lithology Interval 1. 4. 5. Select Up. 2. Note the effect of the cutoff. 4. select the BLUE_1 wellbore. enter 20 feet. enter -50. On the Navigation pane. At the top of Track 1. click Depth Shift. 3. make the following selections: n For Show Cutoff ?. On the Workspace tab. For the Name. in the Edit group. On the Workspace tab. select Sandstone. Enter 3 in the Add the new one as Track No field. 4. Tutorials. On the Cutoff tab. Click OK. In the Shifting field. 3. For Lithology. Click OK. 4. click Save to save your work. The log display shows the upward shift of 20 feet. 2. select HENNA_2. click Save to save your work. For the Bottom Marker. enter Henna. For the Top Marker.User Guides. select Left. 68 of 262 . Adding a Cutoff 1. and Examples 2. 2. On the Format tab. 5. On the Format tab. n For Cutoff value. Select Linear as the scale. 5. 5. select Yes. in the Edit group. n For Fill To. On the Workspace tab. and then press Enter. The text displays in the Comment track. in the Utilities group. 3. on the Format tab. At a depth of 5000 feet. Tutorials. click Save Analysis. and Examples 6. enter Hole Washout and then click Save. 4. set Show Depth Shift to No. 4.User Guides. In the Comment field. Adding Comments 1. On the Workspace tab. Enter Standard Single Well Analysis. Enter a name in the File Name list field and then click Save. 7. set Show Litho Intervals to Yes. click Save to save your work. click Comments. double-click the comment track. 2. OFM named the log you created Single Well Log1. 2. Click Save and then Close. Renaming the Log File 1. On the Property pane. The Edit Comment window opens. To save the layout as a template file. in the Display group. The Henna sandstone section displays. 3. 5. 8. On the Workspace tab. Right-click the log and then select Rename. On the Format tab. 69 of 262 . OFM adds a comment track to the log display. On the Property pane. On the Analysis pane. click Save to save your work. The Edit Multi-Well Log window opens. Expand Category. select the BLUE_1 wellbore. select a date. and then expand Logdata. you will create a multi-well log display. in the Launch analysis group. just below the Well Name. 4. Only wells with log data display on the base map. Apply the log data filter 2. At the top. The log opens.. in the Edit group. Click the first track. click Multiple Well Log. a red X displays. 3. Select LOGD. Rename the log display Applying the Log Data Filter 1. at . This means the selected well is active. On the Workspace tab. 2. On the Well #1 tab. Tutorials. On the Filter pane. select SP. 5. Edit the depth shift 7. click Variables. Add a new trace 4. 3. It is in the OFM installation folder. Creating a Multi-Well Log 1. click Clear Filter to remove any previously-applied filters.Sample Workspaces\Demo Workspace\demo. n For Log Trace #1.User Guides. 4.ofm. 2. On the Home tab. In this tutorial. Edit the display 5. make the following selections: n For Wellbore Name. click Save to save your work. and Examples Tutorial: Multi-Well Log Display You can create a multi-well log display to view log data (up to four logs) at the same time. You will: 1. n For the Date Logged. On the Format tab. Open the Demo workspace.. 70 of 262 . Edit the depth range 6. Create a multi-well log 3. Click OK. 7. 9. n For Log Trace #1.User Guides. select Blue and then click OK. make the following selections: n For Wellbore Name. 16. select Blue. n For Log Trace #1. Tutorials. click Save to save your work. click Add New Trace. 8. The Log Trace Attributes window opens. select BLUE_2. 71 of 262 . On the Workspace tab. 12. On the Format tab. At the top of Track 1. select BLUE_14. select RLD and then select a Date Logged. 15. select SP and then select a Date Logged. n For Log Trace #1. n For Log Trace #2. At the top of tracks 2. Select the first log track to activate it. On the Format tab. 14. On the Well #2 tab. in the Color field. and 4. On the Trace Attributes tab. 6. select a date. n For Log Trace #2. Adding a New Trace 1. 3. double-click the SP curve. 11. select SP and then select a Date Logged. select RLD and then select a Date Logged. Click OK. in the Edit group. 5. Click OK. On the Well #3 tab. make the following selections: n For Wellbore Name. double-click the SP curve. 2. select SP and then select a Date Logged. The Log Trace Attributes window opens. select BLUE_17. in the Edit group. On the Well #4 tab. In the Color field. click Variables. The Edit Log Track window opens. and Examples n For Log Trace #2. n For the Date Logged. make the following selections: n For Wellbore Name. select RLD. select RLD and then select a Date Logged. n For Log Trace #2. The well data displays. 10. 13. set Show Markers to Yes. click Save to save your work. Editing the Depth Range 1. On the Property pane. On the Workspace tab. On the Format tab. Editing the Display 1. On the Workspace tab. Select Up. in the Edit group. The Depth Shift window opens. in the Edit group. Select the BLUE_5 wellbore. 5. Select Default. and Examples 3. Editing the Depth Shift 1. A new trace displays at the top of the track. Click Add a New Trace and then click OK. click Depth Shifts. On the Workspace tab. Click OK. 3. On the Trace Attributes tab. 72 of 262 . 5. Click OK. 6. Enter the number of feet to shift the depth in the Shifting field. 2. 4. At the top of the first track. click Save to save your work. Select MD. 6. 6. 2. On the Property pane.User Guides. The lithology track displays the intervals. 7. Select Green in the Color field. 8. 4. The Edit (single) Multi-Well Log window opens. The multi-well log displays. 2. set Show Litho Intervals to Yes. Double-click the new trace. select ILD in the Log field. 4. On the Format tab. 3. click Depth Range. double-click the well name (BLUE_1). The Log Trace Attributes window opens. 5. Click OK. Select Show TVD Sub-Sea Depth. 3. click Save to save your work. Tutorials. The Depth Column Configuration window opens. 4. Enter a name in the File Name list field and then click Save. 2. Tutorials. Click OK. On the Analysis pane. On the Workspace tab. To save the layout as a template file. in the Utilities group. 5. and then press Enter. Right-click the log and then select Rename.User Guides. click Save Analysis. 73 of 262 . and Examples 4. on the Format tab. click Save to save your work. 3. Enter Standard Multi Well Analysis. OFM named the log you created Multiple Well Log1. Renaming the Log Display 1. 3. Create a cross-section 2. and Examples Tutorial: Log Cross-Section You can create cross-sections to display log traces. 2. in the Display group. under Well Name Properties. make sure Size To Fit is selected. 9. and B-17. It is in the OFM installation folder..Sample Workspaces\Demo Workspace\demo. click Clear Filter to remove any previously-applied filters. B-2. on the Property pane.User Guides. click Cross Section. 4. Click OK The cross-section opens. Open the Demo workspace. 74 of 262 . Edit the cross-section display 5. and lithologies. OFM draws a line connecting the wells you selected. On the Filter pane. O-26. press Ctrl and then select the following wells to include them in the cross section: G-1. and Show Logs to Yes. set Well Name to Alias Name. Change the cross-section display 3. Tutorials. The Log Trace Setup window opens. On the Property pane. you will: 1. at . Right-click on the base map and then select Done. In this tutorial. 7. set Show Wells. 6. With the base map open. 8. The Cross-Section Legend window opens. Changing the Cross-Section Display 1. 5. On the base map. 2. Select LOGD. On the Workspace tab. click Save Workspace to save your work. 10.ofm. Edit cross-section markers 4. On the Home tab. Edit the cross-section depth range Creating a Cross-Section 1. Expand Category. Click Setup. in the Launch analysis group. On the Format tab. Show Depth Scale. 3. Only wells with log data display on the base map. and then expand Logdata. wellbore diagrams.. 4. select Screed_1. For the Maximum Depth. On the Workspace tab. Editing the Cross-Section Display On the Property pane. On the Workspace tab. enter 5000.User Guides. set the Log Trace to RLD. enter Layer 1. In the Edit group. 2. On the Format tab. select Left Marker. Click Save and then click Close. Editing the Cross-Section Depth Range 1. Tutorials. enter 6000. click Save to save your work. 5. The Edit Interval window opens. For the Minimum Depth. 5. On the Left Trace tab. 75 of 262 . Select RLD in the Log Trace field. On the Workspace tab. 7. in the Display group. 2. select Shale. Editing the Cross-Section Markers 1. n For the Base Marker. Make the following selections: n For the Name. The log display displays data within the given range. 3. On the Right Trace tab. set the Log Trace to SP. On the Format tab. in the Edit group. click Save to save your work. click Save to save your work. click Interval. 6. 4. click Depth Range. n For Lithology. The Depth Column Configuration window opens. 3. 5. set Show Litho Intervals to Yes. n For the Top Marker. select Winter. and Examples 4. Click OK. Select a variable: For this method. or not trustworthy. noisy. you are ready to perform history matching. 3. 9. 2. click Forecast. Tutorials. This part describes the set up. water): The demo project is already configured for single phase analysis. The forecast graph for the Blue_1:He_0 completion displays. Set up a forecast for single phase analysis (oil. On the Format tab. Set the limit as a range: Assuming you have followed the lower-limits steps. Set lower and upper limits 3. and Examples Tutorial: Single Phase Analysis In this tutorial. Open the Demo workspace. fit) to occur only through selected data points. The following workflow describes the set up: 1. in the Launch analysis group. 4. Toggle between working points: You can remove points that may be skewing the forecast results because they fall outside the norm. 76 of 262 . 5. in the Edit group. Set up the forecast: There are many parameters that you can set. it is important to get a representative fit through historical data. select the Blue_1:He_0 completion. Water) The demo project is configured for single phase analysis. to control the forecast for a single phase analysis. On the Navigation pane. The Current Scenario window opens. click Scenario.User Guides. 8. There are several ways to do that. This shows you one possible workflow.. Forecasts assume that whatever governed a completion's performance in the past will continue to govern it in the future. This usually is a calculated variable. Digitize points: This choice may be valuable if the real data is sparse. you must select a project variable that returns True (1) or False (0). gas. On the Home tab. After setting up a forecast. Save the forecast Setting Up a Forecast for Single Phase Analysis (Oil. 6. 2. It is in the OFM installation folder. Control fit parameters: You also can control how OFM performs the fit process.. 4. you now can define a more detailed acceptable range of data points. at .Sample Workspaces\Demo Workspace\demo. you will: 1. OFM will use the variable either to keep a data point for the fit analysis (result of variable = True) or to remove it from the analysis (result = False). Gas. and you can use the different ways in any combination.ofm. you must constrain the match (or. 7. To build a meaningful forecast. To do that. in the Edit group. 6. on the Format tab. On the Flow Model tab. in the Variable Association section. OFM seeks data for three plotting variables: n Time (Date) n Cumulative Oil: This is a calculated variable in this project. OFM applies the default settings.CalDay is a calendar day average rate. Use the graphic below as a guide. To set a lower limit. not by the number of days in the month). 77 of 262 .) 8. click Save to save your work. you must define your line to pass below the points you want to exclude. click Scenario Manager. make sure the Solution is Empirical.CalDay for your analysis because days on line data is not widely available in the demo project. from monthly production data. select Oil. An alternative might be the producing day average rate (the monthly volume divided by the number of days this completion was on line. Click OK.User Guides. click a series of points to define a line below which you will not accept any data points in the analysis. To do this. the default Phase/Analysis is Oil. and above the points you want to keep. you might choose Oil. OFM will only use the points directly above this lower-limit line. select Limit > Lower. For an upper limit. For this tutorial. You can change the default settings on the Scenario Manager. (To open the Scenario Manager. n Oil Rate: This is a calculated variable in this project. and Examples 5. on the Format tab. If you select another completion. 7. To set an upper limit. 2. On the Workspace tab. in the Edit group. In the Model Description section. select Limit > Upper.ProDay for the calculated variable. Tutorials. Oil. Setting Lower and Upper Limits 1. For a lower limit. OFM applies the changes you made to the completion you selected (Blue_1:He_0). enter 19970901.User Guides. Tutorials. you now can define a more detailed acceptable range of data points. and Examples 3. In the X Maximum field. you must select a project variable that returns True (1) or False (0). On the Format tab. 5. On the Setup tab. OFM fits the line through only the data points in the date range. 4. select Limit > Range. Setting the Limit as a Range Assuming you have followed the lower-limits steps. 4. enter 19990601. On the Workspace tab. in the Variable Managers group. The Variable Editor opens. 6. In the X Minimum field. OFM will use the variable either to keep a data point for the fit analysis (result of variable = True) or to remove it from the analysis (result = False). 1. Click OK. in the Edit group. 2. click Save to save your work. This usually is a calculated variable. 3. click Save to save your work. 1. click Calculated Variable Editor. Select Set X axis. 78 of 262 . When you finish. The Data Range window opens. OFM recalculates the best least-squares regression fit through the acceptable data points. right-click and select Done. Selecting a Variable For this method. On the Workspace tab. click Digitize Points. in the Edit group. noisy. select Limit > Reset. Select Use Variable and then select WC_Cutoff from the list. and Examples 2. OFM also removes the data point for May 1998 (when the water cut was temporarily less than 98%). Enter the following definition: @if(water. 3. 1. 6. On the Workspace tab. 2. 1. When you finish. In this completion. The Edit Calculated Variable window opens.User Guides. OFM removes data points before February 1998. Click OK. OFM displays the cursor as a small eraser. 2.98. click Save to save your work. Assuming you are following each of the procedures in this tutorial in sequence. in the Display group. Click in the cell for NewItem and rename the variable WC_Cutoff. 3. 8. select Toggle Working Points. 9. 7. the variable represents the time before the water cut reached 98%. Tutorials. To see the effect of the next option. 11. or not trustworthy. right-click the forecast graph and then select Done. OFM lists the new calculated variable on the Variable Editor as NewItem.cut>0. The Data Selection Variable window opens. Click Add Calculated Variable. 5. On the Format tab. Press Ctrl and click to add your own data points on the graph. Click OK. The data points display as magenta triangles. 10. you must reset the data to explore the next option.0) 4. 4. 79 of 262 . press the left mouse button and use the mouse to erase data points. in the Edit group. select Limit > Variable. select Limit > Reset. On the Format tab. 3. click Save to save your work. Digitizing Points This choice may be valuable if the real data is sparse. Toggling Between Working Points You can remove points that may be skewing the forecast results because they fall outside the norm. On the Format tab. On the Format tab. On the Workspace tab. OFM will discard all the historical data points and fit a line through the data points you added.1. in the Edit group. On the Format tab. Click OK. you must recover all the data points for analysis. On the graph. in the Edit group. Switch to a Rate v. drag the fit (dark green) line upwards. set the Fit Type to Exponential. change the Method to Auto. remove data points before 1997. When you finish erasing data points. The Results legend values change. First. 2. Cum view: On the Property pane. suggesting that the (default) best fit is close to a harmonic fit. Tutorials. The default fit to this data set returns a value in the Results legend for the Arps exponent (b). set Analysis to Rate – Cum. 6. In the User field. Because the Method is Manual.User Guides. change the Fit Type to Hyperbolic. clear the Toggle Working Points check box. 5. under History Match. On the Workspace tab. and Examples 4. under OFM Forecast. To override the calculation. the Method changed to Manual. set Analysis to Rate – Time. 80 of 262 . 7. OFM adjusts the fit to reflect the change. on a semi-log plot. click Save to save your work. the resultant b value is now zero. Controlling Fit Parameters You also can control how OFM performs the fit process. to control the forecast for a single phase analysis. You can override the least squares regression calculation by placing the fit line where you believe it portrays a better representation (that is. click Save to save your work. OFM may no longer reflect changes (like removing more data points) until you change this setting to Auto: On the Property pane. On the Workspace tab. 1. under History Match. Force a specific value: On the Property pane. under History Match. Set the lower limits option to do this. On the Property pane. On the Property pane. On the Results legend. 3. 9. select on the Format tab. This shows you one possible workflow. 5. by using your engineering judgment instead of statistics). Time view: On the Property pane. 4. OFM tries to fit the line to the data using a variable b value. enter 0. change the b Value Method to User. in the Display group. On the Property pane. The fit changes to the reduced data set. The fit.6. The graph now shows the best fit to the data subject to this new constraint. in the History Match section. Drag the blue point on either end of the fit line to a new location. Setting Up the Forecast There are many parameters that you can set. close to 1. 8. is a straight line. under History Match. Return to the Rate v. on the Format tab. 4. n The Forecast pane should now show a saved Oil forecast. 7. Make a note of the value (in Mbbl) for Reserves. the Forecast Ended By explains which of your limits (Rate or Time) is stopping the forecast.User Guides. about group forecasts. Tutorials. n The working forecast on the graph (dark red dots) will be superimposed by a coincident series of light blue symbols representing the saved values. Click OK. n In the Scheduled Limits section. On the Forecast tab. The Current Scenario window opens. On the Workspace tab. in the Utilities group. the Forecast Ended By now explains that your reserves limit is stopping the forecast. click Scenario. in the Edit group. 2. click Save to save your work. Reserves field. On the Forecast tab. On the Results legend. 6. Click OK. in the Edit group. It is not an error. because we will use this value next. 120 Months and an End Rate of 2 bbl/d. for completion Blue_ 1:He_0. 8. Saving the Forecast To commit the results of the working forecast to the database. 81 of 262 . On the Results legend. so click OK. enter a number that is smaller than the Reserves value that displayed on the Results legend. in the Sch. 5. 9. select an End Time of Months from Start. under Case1. click Save Analysis. click Scenario. and Examples 1. On the Format tab. A warning message may appear. On the Format tab. Leave all other choices at the default settings. select the following: n In the Oil: Schedule #1 section. select a Start Time of Last Historical Date and a Start Rate of From Fit. 10. fit) to occur only through selected data points. On the Navigation pane. Open the Demo workspace. To do that.Sample Workspaces\Demo Workspace\demo. 1. 4. Toggle between working points 7. you are ready to perform history matching. Set up the forecast: All forecast settings for Ratio forecasts are done on the Property pane. in the Edit group. WOR.ofm. There are several ways to do that. 2. Save the forecast Setting Up a Forecast for Ratio Analysis (GOR. you will: 1.User Guides. select the Blue_1:He_0 completion. The forecast graph for the Blue_1:He_0 completion displays. click Scenario. you now can define a more detailed acceptable range of data points. Tutorials. On the Format tab.. The four ratios are configured the same way. It is in the OFM installation folder. After setting up a forecast. and Examples Tutorial: Ratio Analysis In this tutorial. at . 4. or not trustworthy. it is important to get a representative fit through historical data. Set lower and upper limits 3. 9. in the Launch analysis group. 5. WOR. The Current Scenario window opens. click Forecast. and you can use the different ways in any combination. water cut. The four ratios are configured the same way. 6. 82 of 262 . This will most likely be a calculated variable. Control fit parameters 8. Select the variable: This choice requires you to select a project variable that returns True (1) or False (0). so the tutorial uses Water Cut as an example. you must constrain the match (or. Digitize points: This choice may be valuable if the real data is sparse. Forecasts assume that whatever governed a completion's performance in the past will continue to govern it in the future. noisy.. Set up a forecast for ratio analysis (GOR. oil cut): The demo project is configured for ratio analyses. OFM will use this variable either to keep a data point for the fit analysis (result of variable = True) or to remove it from the analysis (result = False). 3. Water Cut. Set the limit as range: Assuming you have followed the lower-limits steps. Oil Cut) The demo project is configured for ratio analyses. To build a meaningful forecast. so the tutorial uses Water Cut as an example. 2. On the Home tab. 6. For an upper limit. Make sure the Cum. click Save to save your work. On the Flow Model tab. click a series of points to define a line below which you will not accept any data point in the analysis. Oil is Oil. Tutorials. on the Format tab. % is Water Cut. Make sure the Water Cut. OFM applies the changes you made to the completion you selected (Blue_1:He_0). in the Variable Association section. 7. define your line to pass below the points you want to exclude. Use the graphic below as a guide. All ratio analyses use the Empirical (least squares regression) method as the solution type. If you select another completion. change the Phase/Analysis to Water Cut. 2. (To open the Scenario Manager. Click OK. You can change the default settings on the Scenario Manager. and above the points you want to keep. On the Workspace tab. For a lower limit. To set an upper limit.Cum. select Limit > Lower. in the Edit group.User Guides. 83 of 262 . OFM applies the default settings. and Examples 5. 8. select Limit > Upper. click Scenario Manager.) 9. Setting Lower and Upper Limits 1. so the remaining fields are unavailable. in the Edit group. To set a lower limit. on the Format tab. User Guides, Tutorials, and Examples 3. When you finish, right-click and select Done. OFM recalculates the best least-squares regression fit through the acceptable data points. 4. On the Workspace tab, click Save to save your work. Setting the Limit as a Range Assuming you have followed the lower-limits steps, you now can define a more detailed acceptable range of data points. 1. On the Format tab, in the Edit group, select Limit > Range. The Data Range window opens. 2. Select Set X axis. 3. In the X Minimum field, enter 73. 4. In the X Maximum field, enter 85. 5. Click OK. OFM fits the line though only the data points in which the cumulative oil exceeds 73 Mbbl. 6. On the Workspace tab, click Save to save your work. Selecting a Variable This choice requires you to select a project variable that returns True (1) or False (0). This will most likely be a calculated variable. OFM will use this variable either to keep a data point for the fit analysis (result of variable = True) or to remove it from the analysis (result = False). 1. On the Setup tab, in the Variable Managers group, click Calculated Variable Editor. The Variable Editor opens. 2. Click Add Calculated Variable. The Edit Calculated Variable window opens. 3. Enter the following definition: @if(Ratio.WOR>70,1,0) 4. Click OK. OFM lists the new calculated variable on the Variable Editor as NewItem. 5. Click in the cell for NewItem and rename the variable WOR_Cutoff. 6. Click OK. 7. On the Format tab, in the Edit group, select Limit > Reset. This recovers all data points. 8. On the Format tab, in the Edit group, select Limit > Variable. The Data Selection Variable window opens. 9. Select Use Variable and then select WOR_Cutoff from the list. 10. Click OK. 84 of 262 User Guides, Tutorials, and Examples OFM removes data points with a water-oil ratio that is less than 70 bbl/bbl. 11. On the Workspace tab, click Save to save your work. Digitizing Points This choice may be valuable if the real data is sparse, noisy, or not trustworthy. 1. Select Edit > Digitize Points. 2. Press Ctrl and click to mark your own, independent data points on the graph. The data points display as magenta triangles. Use them to define a profile that you prefer to accept. 3. When you finish, right-click the forecast graph and then select Done. OFM discards the historical data points and fits a line through your data points. 4. On the Workspace tab, click Save to save your work. Toggling Between Working Points 1. Assuming you are following each of the procedures in this tutorial in sequence, you must reset the data to explore the next option. On the Format tab, in the Edit group, select Limit > Reset. 2. On the Format tab, in the Display group, select Toggle Working Points. OFM displays the cursor as a small eraser. 3. On the graph, press the left mouse button and use the mouse to erase data points. 4. When you finish erasing data points, select on the Format tab, in the Display group, clear the Toggle Working Points check box. OFM adjusts the fit to reflect the change. 5. On the Workspace tab, click Save to save your work. Controlling Fit Parameters You also can control how OFM performs the fit process. 1. On the Property pane, in the History Match section, set Fit Type to Semilog. This causes a new fit, and new results. The option is provided here to explore whether a semilog plot may suggest a better straight line for fitting purposes. 2. You can override the least squares regression calculation by placing the fit line where you believe it portrays a better representation (that is, by using your engineering judgment instead of statistics). To override the calculation, drag the fit (dark green) line upwards. Drag the blue dots that anchor the right end of the fit line to a new location. On the Results legend, the values change. On the Property pane, under History Match, the Method changed to Manual. 85 of 262 User Guides, Tutorials, and Examples 3. Because the Method is Manual, OFM may no longer reflect changes (like removing more data points) until you change this setting to Auto: On the Property pane, under History Match, change the Method to Auto. 4. On the Workspace tab, click Save to save your work. Setting Up the Forecast You choose all forecast settings for ratio forecasts on the Property pane. 1. In the OFM Forecast section, set Start WCUT Option to From Fit. 2. Set End WCUT Option to Value and then set the End WCUT to 99.9. 3. On the Workspace tab, click Save to save your work. Saving the Forecast To commit the results of the working forecast to the database, on the Format tab, in the Utilities group, click Save Analysis. A warning message about group forecasts may appear. It is not an error, so click OK. n The working forecast on the graph (dark red dots) will be superimposed by a coincident series of light blue symbols representing the saved values. n The Forecast pane should now show a saved WCUT forecast under Case1 for completion Blue_ 1:He_0. 86 of 262 User Guides, Tutorials, and Examples Tutorial: Pressure/Z-factor Analysis You conduct P/Z analysis on gas wells. The method is a classical tool for assessing several aspects of a group of entities, most importantly: n A determination of whether the entities are in pressure communication n An estimate of remaining reserves for the reservoir n An estimate of the original volume of gas in place (OGIP) The method requires two variables: (Cumulative) gas production; and a value for pressure (P) divided by the gas deviation factor (Z). In this tutorial, you will: 1. Open the demo project for P/Z analysis: The Duson Gas Field demo project is already configured for P/Z analysis. 2. Set P/Z forecast parameters: For this project, three of the four completions contain pressure data. Filter out the other completion. To build a meaningful forecast, it is important to get a representative fit through historical data. To do that, you may constrain the match (or, fit) to occur only through selected data points. There are several ways to do that, and you can use the different ways in any combination. 3. Set lower and upper limits 4. Set the limit as a range: Assuming you have followed the lower-limits steps, you now can define a more detailed acceptable range of data points. The other forecasting tutorials show how to select a variable. The P/Z plot is a specialized group plot, and so the variable is evaluated for the group. Therefore, we do not advise using a variable for P/Z analysis. 5. Digitize points: This option may be valuable if the real data is sparse, noisy, or not trustworthy. The other forecasting tutorials show how to toggle between working points. This is not available for P/Z analysis. 6. Control fit parameters: In addition to selecting data points for analysis, you also can control how OFM performs the fit process. You can override the least squares regression calculation by placing the fit line where you believe it portrays a better representation (that is, by using your engineering judgment instead of statistics). 7. Set up the forecast: You choose forecast settings for P/Z forecasts on the Property pane. 8. Save the forecast 87 of 262 User Guides, Tutorials, and Examples Opening the Demo Project for P/Z Analysis The Duson Gas Field demo project is already configured for P/Z analysis. Open the Duson sample workspace. It is in the OFM installation folder, at ...Sample Workspaces\Duson Gas Field Sample\Duson Gas Field.ofm. Setting Up P/Z Forecast Parameters For this project, three of the four completions contain pressure data. Filter out the other completion. 1. On the Filter pane, click Filter by Completion ( ). The Filter by Completion window opens. 2. Select the DAIGLE_1:SU_V completion and then click Invert. OFM selects all completions except DAIGLE_1:SU_V. 3. Click OK. OFM removes the DAIGLE_1:SU_V completion from the list of selected completions. 4. Group the remaining three completions: Click Group All Filtered Wells ( ). 5. On the Home tab, in the Launch analysis group, click Forecast. The forecast graph for the group of completions displays. 6. On the Format tab, in the Edit group, click Scenario. The Current Scenario window opens. 7. Set the Phase to P/Z. 8. Set the Time (Date) to Date. 9. Set the Cum. Gas to Gas.Cum. 10. Set P/Z to gas.Pz. 11. Click OK. OFM applies the changes you made to the group of completions. If you select another completion, OFM applies the default settings. You can change the default settings on the Scenario Manager. (To open the Scenario Manager, on the Format tab, in the Edit group, click Scenario Manager.) 12. On the Workspace tab, click Save to save your work. Setting Lower and Upper Limits 1. To set a lower limit, on the Format tab, in the Edit group, select Limit > Lower. To set an upper limit, select Limit > Upper. 2. Use the graphic below as a guide. For a lower limit, click a series of points to define a line below which you will not accept any data points in your analysis. For an upper limit, you must define your line to pass below the points you want to exclude, and above the points you want to keep. 88 of 262 89 of 262 . On the Format tab. 6. Setting the Limit as a Range Assuming you have followed the lower-limits steps. 5. 2. In the X Maximum field. On the Workspace tab. Select Set X axis. select Limit > Range. Tutorials. OFM fits the line though only data points in which the cumulative gas for the group is greater than 12 Bcf. Click OK. When complete. 4. In the X Minimum field. and Examples 3. enter 16000. 4. OFM recalculates the best least-squares regression fit through the acceptable data points.User Guides. enter 12000. 3. On the Workspace tab. click Save to save your work. right-click and select Done. click Save to save your work. 1. in the Edit group. you now can define a more detailed acceptable range of data points. you also can control how OFM performs the fit process. this initial value is often already known. click Save to save your work. The Reserves and EUR change. on the Property pane.User Guides. 1. Set the End P/Z to Value. OFM back-calculates the original value of P/Z (that is. and enter 10 for the value. Drag the fit (dark green) line upwards. the fit line no longer represents a true fit through the data. Drag the blue point on the right end of the fit line to a new location. click Save to save your work. 1. The Results legend values change. Controlling Fit Parameters In addition to selecting data points for analysis. On the Workspace tab. However. by using your engineering judgment instead of statistics). 5. or not trustworthy. Change the Initial P/Z value to 1400. 3. On the Workspace tab. change the Method to Auto. independent data points on the graph. On the Format tab. 2. Setting up the Forecast You choose forecast settings for P/Z forecasts on the Property pane. To override the OFM default. Press Ctrl and click to add your own. OFM discards the historical data points and fits a line through your data points. but the OGIP does not change. in the History Match section. the Method changed to Manual. as the most likely time when pressure data will have been abundant is before first production. right-click and select Done. You can override the least squares regression calculation by placing the fit line where you believe it portrays a better representation (that is. However. 3. The fit line passes through the new value (1400) on the Y axis. 4. Because the Method is Manual. set the Initial P/Z Option to Value. Under OFM Forecast. 4. set the End P/Z Option to Value. and Examples Digitizing Points This option may be valuable if the real data is sparse. Because of this requirement. the slope of the line is held the same. in the History Match section. Tutorials. 2. under History Match. When you finish. 2. By default. in the Edit group. at a value of cumulative gas equal to zero). click Digitize Points. noisy. OFM may no longer reflect changes (like removing more data points) until you change this setting to Auto: On the Property pane. On the Property pane. The value set is the abandonment 90 of 262 . The data points display as magenta triangles. 1. User Guides, Tutorials, and Examples limit. 3. On the Workspace tab, click Save to save your work. Saving the Forecast 1. To commit the results of the working forecast to the database, on the Format tab, in the Utilities group, click Save Analysis. Because you did the analysis on an arbitrary group of completions, OFM asks you to name the group. 2. In the Edit Group Name window, type Breaux, and click OK. n The working forecast on the graph (dark red dots) will now be superimposed by a coincident series of light blue symbols representing the saved values. n The Forecast pane should now show a saved P/Z forecast under Case1 for the group Breaux. 91 of 262 User Guides, Tutorials, and Examples Tutorial: Flow After Flow Test Starting with a stabilized formation, a well flows at a constant rate until a pseudo steady state is reached. The flow rate and flowing pressure are recorded. The procedure is then repeated, with a new flow rate for a total of three or four rates. n A single formation average pressure: Pavg (Pws) n Flowing time for each flowing period may or may not be the same n Flowing period could be very long to achieve in a stabilized condition In this tutorial, you will: 1. Open the workspace 2. Enter test data 3. Create a forecast analysis 4. Set parameters for the analysis 5. Evaluate analysis results Opening the Workspace Open the WDAExample sample workspace. It is in the OFM installation folder, at ...Sample Workspaces\Illustrative Databases\Well Deliverability Analysis\WDAExample.ofm. Entering Test Data 1. On the base map, select the Flow-After-Flow well. 2. On the Setup tab, in the Tables group, click Data Grid. The Select OFM Table to Edit window opens. 3. Select the DailyProd table and click OK. The table data displays on a separate tab within the OFM main window. The data used in this example was taken from well testing. OFM stores the data in a daily table. You may use a sporadic table if you have more than one data point in a day. Creating a Forecast Analysis 1. On the Home tab, in the Launch analysis group, click Forecast. The forecast graph displays. 2. On the Format tab, in the Edit group, click Scenario. The Current Scenario window opens. 92 of 262 User Guides, Tutorials, and Examples 3. In the Variable Association section, confirm that the Shut-in Pressure is 410 psia and then click OK. Setting Parameters for the Analysis On the Property pane, in the History Match section, change some of the settings to see the results of changes. Evaluating Analysis Results 1. View the Historical Fit Report: On the Format tab, in the Display group, select Historical Fit Report. The results show that n=0.829 and C=3.443. The absolute open flow potential (AOF) is 74,215.242 Mcf/d. By default, the Note: Asterisks display to the right of selected points. 2. You may also calculate an AOF by entering a different 93 of 262 User Guides, Tutorials, and Examples Tutorial: Well Deliverability Analysis You only use well deliverability analysis (WDA) for gas wells. In principle, a log-log plot of data points (representing the stabilized flow rate and flowing pressure for a series of production well tests) should form a straight line. This form of analysis is also called conventional backpressure analysis. Two of the primary results of this analysis are C (termed the stabilized performance coefficient and equivalent to the y axis intercept on the matched plot) and n (termed the turbulence factor and equivalent to the slope of the matched history line). Data required for this analysis are: n A single formation average pressure, Pavg (Pws), or a time-dependent series of Pws values for each test (if it is considered that the value of Pws has changed appreciably between the start of the first test and the end of the last test) n A stabilized flow rate and flowing pressure for each test Typically four or more tests are conducted to establish a trend in the plot. In this tutorial, you will: 1. Open the workspace 2. View the test data: Although the data used in this example is stored in a daily table, you may use a sporadic table if you have more than one data point in a day. The sequence of the test data is important although time is not directly used in the calculations of WDA analyses. 3. Set up WDA forecast parameters: To build a meaningful forecast, it is important to get a representative fit through historical data. To do that, you may constrain the match (or, fit) to occur only through selected data points. There are several ways to do that, and you can use the different ways in any combination. 4. Set lower and upper limits: The other forecasting tutorials show how to set the limit as a range and how to select the variable. These choices are not available for WDA. 4. Digitize points 5. Toggle working points 6. Control fit parameters: In addition to selecting data points for analysis, you can also control how OFM performs the fit process. 7. Save the forecast Opening the Workspace Open the WDAExample sample workspace. It is in the OFM installation folder, at ...Sample Workspaces\Illustrative Databases\Well Deliverability Analysis\WDAExample.ofm. 94 of 262 User Guides, Tutorials, and Examples Viewing the Test Data Although the data used in this example is stored in a daily table, you may use a sporadic table if you have more than one data point in a day. The sequence of the test data is important although time is not directly used in the calculations of WDA analyses. 1. Select the ModifiedIsochronal completion. 2. On the Setup tab, in the Tables group, click Data Grid. The Select OFM Table to Edit window opens. 3. Select the DailyProd table and then click OK. The table data displays on a separate tab within the OFM main window. Setting Up WDA Forecast Parameters 1. On the Home tab, in the Launch analysis group, click Forecast. Data displays in the Forecast pane in the form of a log-log plot of (Pws2 – Pwf2) against gas rate. Each data point (red dot) represents one of the stabilized production well tests. OFM produces a straight line fit. The demo WDA project is already configured for analysis. 2. On the Format tab, in the Edit group, click Scenario. The Current Scenario window opens. 3. In the Variable Association section, the default Phase/Analysis is Well Deliverability (WDA). OFM seeks data for four plotting variables: n Time (Date) n Rate (the stabilized gas flow rate per test) n Flowing Pressure (the stabilized flowing pressure per test) n Shut-in Pressure: This may be a project variable (time dependent) or you may enter a single value. Leave this set to Dailyprod.pws. 4. Click OK. OFM applies the changes you made to the completion you selected (ModifiedIsochronal). If you select another completion, OFM applies the default settings. You can change the default settings on the Scenario Manager. (To open the Scenario Manager, on the Format tab, in the Edit group, click Scenario Manager.) Setting Lower and Upper Limits 1. To set a lower limit, on the Format tab, in the Edit group, select Limits > Lower. To set an upper limit, select Limit > Upper. 2. Use the graphic below as a guide. For a lower limit, click a series of points to define a line below which you will not accept any data points in your analysis. 95 of 262 On the Format tab. and above the points you want to keep. press the left mouse button down and use the mouse to erase data points. The data points display as magenta triangles. 3. you must define your line to pass below the points you want to exclude. OFM discards the historical data points and fits a line through your data points. In the Display group. Toggling Working Points 1. 2. When you are finish erasing data points. select Toggle Working Points. clear the Toggle Working Points check box.User Guides. 96 of 262 . in the Edit group. 3. OFM recalculates the best least-squares regression fit through the acceptable data points. Press Ctrl and click to add your own. Assuming you are following each of these options in sequence. right-click and select Done. OFM displays the cursor as a small eraser. On the graph. When you finish. independent data points on the graph. Digitizing Points 1. 4. you must reset the data to explore this next option. right-click and select Done. 4. click Digitize Points. 2. On the Workspace tab. click Save to save your work. Tutorials. 3. in the Edit group. When complete. On the Format tab. and Examples For an upper limit. select Limit > Reset. select Legend. Tutorials. you can also control how OFM performs the fit process. To override the default Pws value: On the Property pane. click Save to save your work. Set Pws to 1900. in the Display group. 97 of 262 . in the History Match section. the Pws value being used is the default value. Controlling Fit Parameters In addition to selecting data points for analysis. 1. On the Property pane. on the Format tab. click Save Analysis. the AOF calculation changes. 5. OFM takes a value of Pwf from the Reference Pressure. Saving the Forecast To commit the results of the working forecast to the database. set the Pws (AOF) Option to Value and then enter 1900 for the value. in the History Match section. and then overriding the value for current shut-in pressure. On the Workspace tab. assuming a value for Pws is equivalent to the maximum value found in the test data set (the default). on the Format tab. Pref setting on the Property pane. For this completion. set the Pws Option to Value.User Guides. in the Utilities group. and Examples OFM adjusts the fit to reflect the change. 4. This action is the same as choosing the single value option for shut-in pressure on the Current Scenario window. 2. which is a historical maximum of 1948 psi. 3. The saved WDA forecast displays under Case1 for completion ModifiedIsochronal. On the Results legend. If the legend is not visible. OFM calculates Absolute Open Flow Potential (AOF) from the fit. 6. Change the completion Finding a Specific Well 1. at . Editing the Casing 1. Edit the tubing 5. Edit the casing 3. click Clear Filter 4. Find a specific well After you find the correct well.ofm.00 n Bottom: 1000. in the Launch analysis group. you will: 1..User Guides. select Green 7:Ad 2D and then click OK. The Edit WBD window opens. 2. 5. 2. In this tutorial. and Examples Tutorial: Wellbore Diagram You can create wellbore diagrams from the information stored or calculated in your project data. click Wellbore Diagram. A blank wellbore diagram opens.. in the Edit group. n Top: 0. In the table. make the following selections on the first row of the columns. in the Type field. you move to the next column. select Casing. It is in the OFM installation folder.Sample Workspaces\Demo Workspace\demo. On the Casing tab. Click Filter By Completion to remove any previously-applied filters.00 n OD: 13 3/8 98 of 262 . On the list of completions. On the Home tab. The Filter By Completion window opens. creating the wellbore diagram involves multiple steps: 2. Change the equipment 6. Open the Demo workspace. Tutorials. If you press TAB after each entry. Edit the views 4. On the Format tab. . 3. click Well Diagram. Edit the hole section 7. On the Filter pane. Note: You can change the information in the text box by double-clicking it to open the Edit Casing window. Editing the Views 1.00 n Fraction: 1. click Casing Strings.00 n Bottom: 7500. On the diagram. 5. enter the following: n Top: 0. Tutorials. in the Edit group.375 n Grade: N-80 n Thread: Upset n Comments: Internally test to 1500 psi 3. drag a box to show where you want the casing string data to display. On the Format tab. 2.0 3.00 n OD: 2.00 n Comment: Full returns of cement after running csg 3. On the Tubing tab. 6. 4. In column 1. click Wellbore Diagram. On the Views tab. and Examples n Weight: 72. Click Apply. Click Apply. 7. enter the following information on the first row of the columns in the table: n Top: 0. 2. Click Apply and then click Close. Select Freeze View. in the View field select 1. Editing the Tubing 1.00 n Bottom: 10000. 99 of 262 . On the Insert tab. Select Show Depth Track to display the depth track scale inside the text block.User Guides. 00 n Bottom: 7510. 2.00 n Size: 10.00 100 of 262 . select Casing 1. and Examples Changing the Equipment 1. click Wellbore Diagram. 2.00 n Bottom: 1050. in the Edit group.User Guides. select Tubing 1.00 n Bottom: 9000. Changing the Completion 1. in the String field.50 5. enter the following information in Row 1 of the table: n Top: 0. Click Apply. Enter the following information on the first row of the columns in the table: n Top:7500.75 4.00 n Selection: Packer n Type: Retry 3. On the Completions tab.00 n Bottom: 3850. Click Apply.00 n Size: 14. 2. In Row 2. On the Hole Sections tab. Tutorials. in the String field. Enter the following information in the first row of the columns in the table: n Top: 7750.00 n Size: 8. enter the following information: n Top: 3850. On the Equipment tab. Editing the Hole Section 1. enter the following information: n Top: 000.50 3. On the Format tab. In Row 3.00 n Bottom: 7800. 0 3. Tutorials.User Guides. and Examples n Selection: Perfs n Type: Open n Comments: perf w/ 8 SPF . 101 of 262 . 4. Click Apply and then Close. click Save to save your work. On the Workspace tab. You can use user functions to execute iterative calculations (among other things). Tutorials. In this example. two pore volume injected plots. production data. and a P/Z line. such as well symbols n Associating new well symbols on the Association window Calculating Pressure from P/Z and Production Data This example shows how to use user functions in OFM.ano) files in the Symbols folder n Using the draw commands to create new annotations. Note: These are simply examples of OFM usage. They are not intended to be definitive methods or techniques for the solution or analysis of any problem.User Guides. Below is a brief description of each example. You can use the sample workspaces in your OFM installation folder to work through the tutorials and examples. using a combination of sporadic pressures. you first add a STOIIP table with data to the project. you review the well symbols that come with OFM. This example focuses on: n Creating new tables and fields from the Edit Schema Tables window. You then create new well symbols. and a cumulative oil versus cumulative water production plot. and the files OFM uses to draw them. save them as an annotation file. This example focuses on: n Adding data to a table with the Data Grid n Creating user functions n Creating calculated variables 102 of 262 .xml file and the annotation (. you execute iterative calculations to create a continuous stream of pressure data. and entering data in the Data Grid n Creating simple calculated variables n Creating plots with multiple curves. and changing the properties of those curves n Using the @CumInput system function Adding New Well Symbols In this example. two recovery plots. Creating Plots for Waterflooding Surveillance In this example. This example focuses on: n How OFM uses the WorkspaceDefaults. and make the associations necessary to use the well symbols. You then create a conformance plot. and Examples Overview of the Examples The tutorials and the examples in this help system help you understand the different OFM features within workflows. and Examples n Setting plot. report. you create a Hall plot. @ElapsedDays. This example focuses on: n Creating calculated variables n Creating a simple plot n Using the @RSum. you create an ABC plot to compare oil and water between two dates. @ValueAt. This example focuses on: n Creating reports to quickly confirm calculated variables n Renaming analyses on the Analysis pane n Creating calculated variables n Creating scatter plots. Tutorials. @Abs. @Null. which is a log-log plot of the time derivative of WOR versus time. @Step. which is a useful diagnostic for water injection wells. @AddMonths. and then changing the properties of those curves n Using the @If. and @Dom system functions Creating an After-Before-Compare (ABC) Plot In this example. and unit attributes for calculated variables n Creating plots with multiple graphs n Using the @Fit system function Creating a Formation Damage Indicator In this example. adding cross hairs.User Guides. and @First system functions Creating a Hall Plot In this example.grd) files to the registry n Using the Calculate Grid feature Creating a Water Breakthrough Diagnostic (Chan) Plot In this example. The parameter contrasts actual production with a simple indicator of productive capacity (kh). This example focuses on: n Creating grid maps n Saving grid (. This example focuses on: n Creating calculated variables n Creating plots with multiple curves. @Previous. and @Last system functions 103 of 262 . and adjusting the X and Y variable minimum and maximum values n Using the @Name. you create a grid calculation to indicate relative formation damage. you create a Chan plot. Tutorials. and then adding them to the base map Estimating Original Oil in Place (OOIP) Using Grid Arithmetic In this example.grd) files to the registry n Performing grid arithmetic Calculating Average Production for N Months In this example. you use grid arithmetic to estimate OOIP. excluding months without production data. you create a user function that finds the average production for n months. you create and display an effective isopach map. and Examples Displaying Formation or Reservoir Thickness and Structure In this example.dat) file you create and load n Creating contour maps and changing its properties n Creating new analyses from existing ones. by saving it as a new node on the Analysis pane n Saving contour maps as annotation files. This example focuses on: n Creating new tables and populating them with a data (. you create a series of calculated reports to find the best three months of oil production. This example focuses on: n Creating and using an OFM Query filter n Adding map annotations n Creating grid maps n Creating grid areas n Adding grid (. This example focuses on: n Creating user functions n Creating reports that display the results of a user function n Using the @RecCount and @ARec system functions Finding the Best Three Months of Production In this example. This example focuses on: n Creating calculated variables n Creating reports that display the results of calculated variables n Using the @TMax and @CFirst system functions 104 of 262 . You then create a report to show this information.User Guides. Tutorials.User Guides. you use the LAS to OFM tool to create a log and definition file from a . and @Month system functions Controlling Bubble Map Display Using Data Ranges In this example. This example focuses on: n Creating calculated variables n Creating bubble maps and then changing the bubble properties n Animating maps n Using the @If and @Null system functions Using . This example focuses on: n Creating reports n Changing report properties to break at every month and show subtotals n Using the @Name. you create a bubble map in which the bubbles are scaled to indicate the drainage radius of the well. @ElapsedMonths. and Examples Finding the Monthly Average Value for Sporadic Data In this example.las file. This example focuses on: n Understanding the . Each range has a specific color. and then you load files and view the imported log data in a single well log display.las file contents n Using the LAS to OFM tool n Loading log and definition files n Creating single well log displays Fitting a Polynomial Curve Through Plot Data and Displaying Its Equation In this example. @CFirst. you create a bubble map that displays water cut development in discreet ranges. This example focuses on: n Creating simple plots and adding headers to them n Using the @Dom. You then overlay the 105 of 262 . and @FitEq system functions Estimating and Displaying Drainage Radius In this example. you create a variable that curve fits production data. you create a report that shows the monthly average value for test data. Then you display it on a graph and post the equation of the line as a label.Las Log Data In this example. @Change. You add map annotations to show channel sand and zero pay contours. @ClrTAve. @Fit. and landmarks. you connect the GIS map to an ArcGIS map to add streets. and Examples bubbles onto a grid map.S.User Guides. you add a shapefile to the GIS map to show the region boundaries for US national oil and gas assessment. you connect the GIS map to an ArcGIS map to add US land cover imagery and detailed topological features. Tutorials. This example focuses on: n Making an ArcGIS connection n Reordering layers on the GIS map Connecting to an ArcGIS Map to Add Streets and Railroads In this example. This example focuses on: n Changing the map scale n Creating calculated variables n Creating bubble maps and changing the plot size and color scale n Adding map annotations n Overlaying bubbles from a bubble map onto a grid map n Using the @Sqrt system function Adding a Shapefile for California's Geothermal Wells In this example. parks. This example focuses on: n Adding a shapefile n Using map tips n Changing the symbol color n Changing the labels Connecting to an ArcGIS Map to Add U. This example focuses on: n Adding a shapefile n Changing the transparency and symbol color Adding a Shapefile for the Region Boundaries of US Oil/Gas Assessment In this example. Topological Features In this example. railroads. you add a shapefile to the GIS map to show geothermal wells in California. This example focuses on: 106 of 262 . Tutorials. and Examples n Making an ArcGIS connection n Changing the transparency 107 of 262 .User Guides. ano) files and the WorkspaceDefaults.ofm. in the Edit group. On the Format tab. 3. you will: 1. Become familiar with the well symbols. Create new well symbols and save the well symbols as an annotation file. and Examples Example: Adding New Well Symbols In this example. Reviewing the Files 1. Review these files: a. Click OK to close the window. which is a simple circle. 2. scroll through the different symbol graphics. 108 of 262 . This is the file for the first well symbol. in the Symbols sub-folder. open the 1. 2.. Review the current 94 well symbols available in OFM: a. In the image preview box. OFM reads the draw commands to make the circle. Notice the first one and another near the end of the list: 1 92 c. The Well Symbols window opens. OFM draws the well symbols using instructions in annotation (. and the files that OFM uses to draw them. Make the associations necessary to use the well symbols. Tutorials. It is in the OFM installation folder. Open the Demo workspace.Sample Workspaces\Demo Workspace\demo..ano file in Notepad. 3. Each symbol is drawn on a canvas that is 10 units by 10 units.xml file. b. click Symbols. In the Symbols folder.User Guides. at . The annotation files are in the OFM installation folder. Tutorials. which is much more complex than the first. LW defines a line width.000000) identify the center.User Guides. and Examples In this case.000000 and 5.ano file.000000 5. L draws a line. D draws a line segment. the ARC command is used. 109 of 262 . but does not draw a point.5 and a radius of 1.000000 0 360 The first two values after the command (5. After that are the starting (0) and ending (360) points in degrees. Close the 1. with the center at 5. b. which draws a circular arc: ARC 5.000000) is the radius in map units.000000 1. M moves the pen. This file is for the ninety-second well symbol. Note that it uses several different draw commands: LI fills polygons defined after the LI command. and open the 92. The next value (1. OFM draws a full circle (360 degrees).ano file in Notepad. Note the row for the first well symbol. Open the WorkspaceDefaults.User Guides. d. b. Russian: The file is in the ru sub-folder. e. with the LW command. default width is 1.000000 0 360 c. Now draw the diagonal line. This file is language-specific. Note the structure of the file: <WellType WellTypeName>: Short name for the well symbol <Label>: Long name for the well symbol <SymbolID>: The number of the symbol annotation file <Color>: The color for the symbol d.xml file. the new well symbol has a circle. Create the first new well symbol (symbol 95): a. On the second line.ano file. Creating New Well Symbols These are the new well symbols you will create: 95 96 1.xml file. Spanish: The file is in the es sub-folder. 4. e. Like well symbol 1. The standard. type this: LW 1 110 of 262 . Close the Demo workspace and OFM. On the first line. Close the WorkspaceDefaults. Line widths are defined before the line command. type this: ARC 5. Close the 92. and Examples c. Use the ARC command to draw a circle.000000 5. Open a new file in Notepad. It is assigned to the well type "Prospect".000000 1. Tutorials. Look at the one for the language you use in OFM: English: The file is in the main installation folder. Update the workspace defaults file: a.ano 2. 3.9.y1) is (3. with this name: 96.ano 3. After the command. Fills are defined before the box command. The first point (x1. type this: B 4. In the section for Oil Producers.User Guides. type this: LI 1 c.000000 5. Then identify the upper-right corner (x2.3).y2) which is (6.700000 6.8). in the Symbols subfolder) with this name: 95. b.8 e. and Examples d. Tutorials. 3.xml file for this new symbol. Create the second new well symbol (symbol 96): a. Open the WorkspaceDefaults.9 3.7). c. 5. change 95 (the number of well symbols) to 97.xml file in Notepad or an XML editor.300000 d. The line goes from one point to another. The command to draw a box is B. change the symbol ID from 3 to 95 so that OFM will use the 95. This symbol is a filled box. b.8. Save the file with the other annotation files (in the OFM installation folder.9). On the third line. 6. It would be appropriate to create a new <WellType> section in the . Open a new file in Notepad.8 6. On the first line. The second point (x2.9 6. with the LI command. On the second line. 111 of 262 .y1) which is (4.ano file by default for oil producers. type this: L 3. but for this example we will introduce the symbol as a replacement for the default Oil Producer symbol. define the lower-left corner (x1.y2) is (6.000000 3. Save the file with the other annotation files. A solid fill is identified as 1. On the line tagged <AvailableSymbolCount>. Tutorials. reselect Category. change the symbol ID from 5 to 96 so that OFM will use the 96. In the section for Gas Producer. in the Tables group. use the second symbol as a replacement for the default file used for gas wells.WellType so that OFM will display options for the well symbol file to use.User Guides. click Association. and Examples d. 2.ano file for gas producers. Open the Demo workspace in OFM.Table field. Making the New Associations 1. Similarly. 112 of 262 . On the Setup tab. Save and close the file. e. 3. in the Well Type . On the General tab. and Examples 4. Tutorials. On the Format tab. Click OK. The selected option is Default.User Guides. click Symbols. The base map marks oil and gas producers with the new symbols. 113 of 262 . 7. The Well Symbol File window opens. 8. Click OK. They are the symbols you created. 5. in the Edit group. 6. Click OK to close the window. In the image preview box. scroll to the bottom to view the last two symbols. Adding Sporadic Pressure Data 1. Open the Demo workspace. Close the data grid to save your entries.. Create a plot to compare reservoir pressure to the fitted pressure.. On the Navigation pane. Add pressure data: a. you can use user functions to execute iterative calculations.User Guides.. you will: 1. click Data Grid. The table has a field for pressure data. On the Setup tab. Enter this pressure. The Select OFM Table to Edit window opens.ofm. you execute iterative calculations to create a continuous stream of pressure data. In this example. b. production data. add the following pressure data: For this date.. Select the MonthlyProd table and then click OK. Create two calculated variables: n Fitted P/Z value n Calculated pressure from a fitted P/Z curve 4. 2. Create a user function to calculate the pressure that corresponds to the P/Z line at any given time. Among other things. In the Pressure column.Sample Workspaces\Demo Workspace\demo. in the Tables group. using a combination of sporadic pressures. It is in the OFM installation folder. Tutorials. 114 of 262 . Add sporadic pressure data to the monthly production table. To do this. c. 2.. In this workspace pressure data is stored in the MonthlyProd table. 12/1/1999 5000 1/1/2000 4789 2/1/2000 4234 3/1/2000 4123 4/1/2000 3900 5/1/2000 3876 6/1/2000 3768 e. and a P/Z line. 3. at .. select the Blue_1:Ge_6 completion. but does not have data. and Examples Example: Calculating Pressure from P/Z and Production Data This example shows how to use user functions in OFM. d. These steps are repeated until the re-evaluated value of Z has not changed the value of Z by more than 0.001. 6. b. the following takes place: a. set the exit criteria for the loop: while(DeltaZ > 0. in the Variable Managers group. Pnew. Znew. The next lines are: { loops=loops+1. You then set the initial values. On the Setup tab.User Guides. the next lines of the user function are: Pnew=PZ*Zold. loops=0. The calculation has a loop. It also will create five temporary variables for the calculation. In the top field. c. a variable increments by 1. In other words. 4. DeltaZ. which is a parameter that represents a P/Z value. The next two lines are: DeltaZ=1. At the end of one loop pass. 8. The new Z value is used to re-calculate P (in step a). the function has converged. Pressure (P) is calculated at a Z value of 1. To do this. and it outputs its result. and Examples Creating a User Function to Calculate the Pressure Corresponding to Any Point on a P/Z Line 1. 5.001 & loops < 50) 7. 2. Tutorials. Inside the loop. The Edit User Function window opens. 115 of 262 . This user function will take one input. which is the current value of P. Zold=1. The Z value is re-evaluated at this pressure. the first lines are this: Pcalc(PZ) num Zold. Click Add. Znew=@PvtZ(Pnew). The User Functions window opens. enter the name of your new user function: Pcalc 3. click User Functions. So. The name of the user function displays in the text field at the top of the window. loops. DeltaZ = @abs(Zold-Znew). d. On the next lines. cv.cumgas) n An option (in this case. DeltaZ = @abs(Zold-Znew). click Calculated Variable Editor. loops=0. DeltaZ=1. you exclude a value if cv. in the Variable Managers group. 10. you identify: n The X-axis parameter for the dataset being fitted (in this case. click Close. the order of the fitted polynomial. Finding the P/Z Value 1. Click OK. It should be: Pcalc(PZ) num Zold. Tutorials. cv. 11. Znew.cumgas) n The Y-axis parameter for the dataset being fitted (in this case. while(DeltaZ > 0. On the Setup tab. Zold=Znew. which fits a polynomial of n order through the data. } Pcalc= Pnew. loops. Click Add Calculated Variable.pz is greater than 0) n The X-axis parameter for the output fitted curve (in this case.User Guides. When you use this system function.pz) n A true/false condition that excludes a value if the condition is false (in this case. Double-check your user function. Zold=1.001 & loops < 50) { loops=loops+1. The calculated variable will use the @Fit system function. Pnew. DeltaZ. 2. and Examples Zold=Znew. which is 1 linear) 116 of 262 . cv. 9. } Pcalc= Pnew. On the Edit User Function window. The Variable Editor opens with a list of all calculated variables. Pnew=PZ*Zold. Znew=@PVTZ(Pnew). pz>0. It is not available until you save your changes. On the row for Fit. Calculating the Pressure from a Fitted P/Z Curve 1. Click OK. in the Variable Managers group. 7. Set plot attributes for the new calculated variable: a. and click Plot to show the plot attribute columns. for Units select psig ==> bar. At the top of the window. You need to use this calculated variable in the next calculated variable you will create. and Examples In this workspace.User Guides. c. click Calculated Variable Editor.PZ) 4. click Define to hide the definition columns.PZ. Type this new name for the calculated variable and then press Enter: Fit. At the top of the window. PZ is already defined as a calculated variable. 5."Deg 1 linear") 4. b.PZ. b. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @Fit( Gas. 2. The new variable displays on the list of variables. click Report to hide those columns and click Units to show the units columns. 3. Gas. At the top of the window. click Plot to hide the plot attribute columns and click Report to show the report columns.cum. Click Add Calculated Variable. for Curve Name select Fit P/Z. On the row for Fit. Set unit attributes for the new calculated variable: a. make these selections: Report Heading 1: Fitted Report Heading 2: Pressure Report Heading 3: from P/Z 8. b. pz.cum. On the row for the new Fit. Set report attributes for the new calculated variable: a. Click OK. Reopen the Variable Editor: On the Setup tab. Tutorials.PZ 6. By default. 3.PZ calculated variable. OFM names it NewItem. 117 of 262 .Pz calculated variable you created. Double-click the items in the User Functions and Project Variables lists to add this equation to the text box at the top of the window: #PCalc(FIT. The calculated variable will use the user function you created with the Fit. Click OK to save your changes and close the Variable Editor. e. select the PZ variable. Tutorials. Make selections for the second graph: a. click Plot. Comparing the Reservoir Pressure to the Fitted Pressure from the Fitted P/Z Curve 1. d. The Edit Plot window opens. c. for the Current Graph select Graph 1. b. Current category. select the Fit. 5. For the X-Axis Variable.User Guides. f. the Current category. select the Fit. Make selections for the first graph: a.Press_PZ. For the second curve. and Examples 5. b. d. In the Graph section. 4. b. c. In the Graph section. Type this for the name of the calculated variable and then press Enter: Fit. select the BLUE_1:Ge_6 completion. In the Graph section. the Current category. change the Current Graph to Graph 2. and BLUE_1:Ge_6 name.PZ variable. Change the scale type for the top graph: 118 of 262 . e. In the curve section. Current category. set the Number of Graphs to 2. Click Add Curve. Click OK to save the calculated variable and close the window. For the X-Axis Variable. and the BLUE_ 1:Ge_6 name. For the second curve. Click Define to hide the definition columns and click Plot to show the plot attribute columns. make these selections: Curve Name: Fitted Pressure from P/Z Curve Line Color: Red 7. On the row for Fit. On the Navigation pane. 6. and BLUE_1:Ge_6 name. and the BLUE_1:Ge_6 name.Pressure variable. You will create a plot with two graphs. 2. Set plot attributes for the new calculated variable: a. Click Add Curve. in the Launch analysis group.Press_PZ 6. select the Monthlyprod. Click OK.Press_PZ variable. In the curve section. select Date.Cum. select Gas. On the Home tab. 3. User Guides. On the top graph. b. 119 of 262 . and Examples a. Tutorials. On the Properties pane. change the Scale Type to Linear. under Axis. click the X-axis. Save the file as NetPay. click Calculated Variable Editor. at . b.Water. click Save Analysis > Save As. It is Prd.Perm n Liq. On the Setup tab. It is in the OFM installation folder.Monthly 3. You will include monthly liquid production in your grid map. On the Home tab. in the Variable Managers group. 120 of 262 . 2. you will create a grid calculation to indicate relative formation damage. View the equation for Liq. in the Utilities group.ofm. 2. in the Launch analysis group. Estimate the formation damage parameter. Save net pay to the registry: a.Monthly. c. b.Net_pay n Resprop. Open the Bfield sample workspace. Double-click the following Project variables to move them to the Selected variables list: n Resprop. This will give you the monthly liquid production.User Guides. 3. Click Finish. and Examples Example: Creating a Formation Damage Indicator In this example.grd. Double-click the Name column to sort the list of calculated variables alphabetically by name. The Save Grid File window opens. 2. Open the sample workspace and review the existing calculated variable for the calculation. On the Format tab. The parameter contrasts actual production with a simple indicator of productive capacity. Reviewing the Existing Calculated Variable 1. Creating a Grid Map and Saving to the Registry 1.. 4. Create a grid map and save to the registry. Confirm the calculated variable: a..Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField.Oil + Prd. Click OK to close the Variable Editor. In the Name and Description fields. Tutorials. This is already included as a calculated variable in the workspace. type NetPay and then click OK. c. click Grid. You will: 1. d. Save monthly liquid production to the registry: a. On the Format tab.Monthly. change the Variable to Resprop. b.grd. and Examples 5. You are creating a map of formation damage by combining the other maps via an expression. 7. c. 2. In the Name and Description fields. click Calculate. c. Save the file as Permeability. in the File Grid Utilities group. under Variable Properties. In the Description and Name fields. Interpret the map in relative terms.grd. click Save Analysis > Save As. d. under Variable Properties. The formation damage grid map displays. The Save Grid File window opens. type Permeability and then click OK. The Project Variables list displays the items in the registry. Estimating the Formation Damage Parameter 1. enter Formation Damage. Each term in the expression represents a map (not a number). 3. type LiquidMonthly and then click OK. 4. Double-click the Project Variables to add this to the text box at the top of the window: LiquidMonthly / (NetPay*Permeability) 6. Tutorials. The Save Grid File window opens. 121 of 262 . in the Utilities group. 5. click Save Analysis > Save As. On the Format tab. On the Calculate Grid window. Save permeability to the registry: a. d. Note: The formation damage parameter is not an absolute calculation. On the Properties pane. b. In the Name and Description fields. change the Variable to Liq. Click OK. Click New. Save the file as LiquidMonthly.Perm. On the Properties pane. click OK. The Calculate Grid window opens. On the Format tab. Click Equation.User Guides. in the Utilities group. The Edit Calculated Variable window opens. 6. Oil. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @if(Prd. if oil production is less than. Click Add Calculated Variable.Water/Prd. 2. For this calculated variable.Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField. in the Variable Managers group. Create five calculated variables needed for the plot: n Water-oil ratio (WOR) n WOR derivative n Number of elapsed days n Fitting the WOR derivative n Fitting the WOR 2. you will: 1. Click OK. it returns the third argument. If it is false. zero then the expression will prevent divide-by-zero errors.User Guides. at . The Variable Editor lists the new calculated variable. On the Setup tab. In this case.@null()) 4. 5. If the condition is true. The Variable Editor opens.ofm. or equal to. Water-Oil Ratio (WOR) 1. click Calculated Variable Editor. By default the name is NewItem. you want to evaluate oil production. and Examples Example: Creating a Water Breakthrough Diagnostic (Chan) Plot The Chan plot is a useful tool for diagnosing causes of water production.Prd.. The calculated variable uses two system functions: n The @If system function evaluates a condition.. Tutorials. It is in the OFM installation folder.Oil>0. Create the Chan plot Getting Started Open the Bfield sample workspace. the system function returns the second argument. 3. n The @Null system function returns a null value. In this example. Type the name of the calculated variable and then press Enter: WOR 122 of 262 . with the list of variables filtered to show only calculated variables. Days>0. For this calculated variable. Fitting the WOR Derivative 1. Click Add Calculated Variable. Click Add Calculated Variable. 123 of 262 . Click OK. you want to find the number of days that have elapsed between first production and the current date. You will use these two system functions in the calculated variable: n The @Abs system function returns the absolute value of an expression. you will fit a 5th order polynomial curve through the data. 2.days.WOR-@Previous(Ratio. You want to exclude the values from WOR_Deriv if that value is not greater than zero. For this calculated variable.@first(date)) 3. n The @First system function finds the first record value of a numeric expression. Type the name of the calculate variable and then press Enter: Elapsed_Days 5.User Guides. You will use these two system functions in the calculated variable: n The @ElapsedDays system function calculates the number of days between two dates. @Null()) 3. Type the name of the calculate variable and then press Enter: WOR_Deriv Number of Elapsed Days 1. so you want the absolute value of the derivative. Tutorials. n The @Previous system function finds the value of a numeric expression for the record before the current record. click Calculated Variable Editor. 4. Open the Variable Editor again: On the Setup tab. It is not available until you save your changes. 2. Click OK. and Examples WOR Derivative 1. in the Variable Managers group. you want to make sure the result is positive (it will be plotted on a log scale). For this calculated variable. The X-axis for the plot should be days. Click Add Calculated Variable. You will need to use this calculated variable when you create next one. Enter this equation: @elapseddays(date. Click OK to save your changes and close the Variable Editor.WOR))/Prd. 4. Enter this equation: @If(Prd. and the Y-axis for the dataset should be the value from this WOR_Deriv calculated variable. @abs(Ratio. 2. It requires five things: n The X-axis parameter for the dataset (Elapsed_Days) n The Y-axis parameter for the dataset (the WOR_Deriv value) n A true/false condition that excludes any false values from the fit (exclude when the WOR_deriv value is not greater than zero) n The X-axis parameter for the output fitted curve (Elapsed_Days) n Options (Order of the fitted polynomial to be 5. Creating the Chan Plot 1. Click OK. For the second curve. d. 124 of 262 . For the first curve. Enter this equation: @fit(Elapsed_Days. For the X-Axis Variable. b.WOR_deriv>0. The @Fit system function fits a polynomial through the data using the least squares method. You will use the @Fit system function in this calculated variable. select the WOR_Deriv variable and then click Add Curve.Elapsed_Days. Enter this equation: @fit(Elapsed_Days. 5. The X-axis for the plot should be days. click Plot. select the Elapsed_Days variable you created. and Examples You will use one system function in the calculated variable. Tutorials. Click OK to save your changes and close the Variable Editor. 4.WOR_deriv. You will fit a 5th order polynomial curve through the data.wor. Type the name of the calculate variable and then press Enter: WOR_Fit 5.Elapsed_Days.wor>0. in the Launch analysis group. This calculated variable is similar to the previous one. and the Y-axis for the dataset should be the value from this WOR_Fit calculated variable. c."deg 5 opt ylog") 3. Create a plot with the calculated variables you created: a. 2.ratio."deg 5 opt ylog") 4.ratio. and the best value for the logarithm of Y) 3. Type the name of the calculate variable and then press Enter: WOR_Deriv_Fit Fitting the WOR 1. select the WOR_Deriv_Fit variable and the click Add Curve. You are finished creating calculated variables for the Chan plot. The Edit Plot window opens. You want to exclude the values from WOR_Fit if that value is not greater than zero. On the Home tab.User Guides. Click OK. Click Add Calculated Variable. For the fourth curve. in the Curve Attributes section. select the 1975:B completion. For the third curve. select the following: Line Color: Blue Line Type: None Point Type: Filled Circle Point Size: 10 125 of 262 . On the Properties pane. in the Curve Attributes section. On the Properties pane. e. Under Curve Properties. select the following: Line Color: Blue Line Type: Solid Line Width: 3 h. Under Curve Properties. On the Properties pane. Tutorials. On the plot. 2. in the Curve Attributes section. g. b. right-click Plot1 and then click Rename. Under Curve Properties. h. select the WOR_Fit variable and then click Add Curve. Type Chan and then press Enter. change the Curves field to 1:WOR_Deriv. Under Curve Properties. and Examples e. On the Properties pane. j. On the Navigation pane. On the Analysis pane.Wor. select the following: Line Color: Red Line Type: None Point Type: Filled Circle Point Size: 10 d. c. under Graph Settings. select the following: Line Color: Red Line Type: Solid Line Width: 3 f. click the X-axis. f. change the Curves field to 2:WOR_Deriv_ Fit. select Ratio. under Graph Settings. in the Curve Attributes section. under Graph Settings. change the Curves field to 4:Ratio. g. Click OK.User Guides. i. Change the curve and axis properties: a. i. change the Curves field to 3:WOR_Fit. under Graph Settings.WOR. 3. View the different characteristic trends: a. under Axis.User Guides. 126 of 262 . This is an example of normal behavior. change Scale Type to Logarithmic. On the Properties pane. select the 3518:B completion. On the Navigation pane. Tutorials. and Examples j. 127 of 262 . Select the 2465:B completion. and Examples b. Tutorials. This is an example of water coning.User Guides. Select the 3516:B completion. Tutorials.User Guides. and Examples c. 128 of 262 . This is an example of near wellbore breakthrough. User Guides. and Examples 129 of 262 . Tutorials. which is essentially a pressure integral. in the Tables group. assuming a series of steady-state injection conditions. expand Table Data and then select WIN show that the Navigation pane only shows the completions with data in the WIN table. click the check box three times so that a red minus sign displays in the check box. Verify the project has water injection and water injection pressure data: To create the Hall plot. 1. Select the WIN (water injection) table and then click OK. For each completion that does not have data in the WINJ and WIPRE fields. you need data for volume injected and injection pressure. click Data Grid. Close the data grid. water injection is in the WINJ field. Click Add Calculated Variable. click through the 16 completions. On the Setup tab. Tutorials. and Examples Example: Creating a Hall Plot The Hall plot is a useful diagnostic for water injection wells. b. In the WIN table. in the Variable Managers group. On the Navigation pane. 3. The Navigation pane lists 16 completions. It is in the OFM installation folder. On the Navigation pane.. You will use three system functions to do this: 130 of 262 . On the Setup tab. Water injection pressure is in the WIPRE field. 2.User Guides. The Select OFM Table to Edit window opens. Note that only these completions have data in the WINJ and WIPRE fields: 502WI:B 503WI:B 504WI:B 505WI:B 515WI:B e. at . This removes the completion from the list on the Navigation pane. click Calculated Variable Editor.Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField. You will create the Hall function. c. d. expand the WIN table. On the Filter pane. b. Open the Bfield sample workspace. under Table Data. f.ofm. Create the calculated variable: a. a.. To the left of each completion is a check box. The Variable Editor opens with a list of all calculated variables. The Edit Calculated Variable window opens. 131 of 262 .Win. c. For the curve. On the Home tab. Create the plot: a. it creates a continuous stream of values where the last value remains constant until it is changed by a new data point (a stair-step). On the Navigation pane. Click OK. Click OK. e. it returns the last value in the expression when the condition is met.Cum. If it is not true. For the X-Axis Variable. select the HallPlot calculated variable.Wipre. Type this new name for the calculated variable and then press Enter: HallPlot f. b. Click OK to save the calculated variable and close the window. By default. Double-click the items on the Project Variables and System Functions lists to add this equation to the text box at the top of the window: @RSum(@Step(Win.User Guides. Tutorials. The integral will be performed on a daily basis. in the Launch analysis group. 4. click Plot. The new variable displays on the list of variables. d. If it is true. select Winj. @Step determines if a condition is true. OFM names it NewItem. c. e. The Edit Plot window opens. and Examples @RSum calculates a running sum of an expression. select the different water injection completions to view the Hall plot for the completion.Wipre=0) *@Dom(date)) d. @Dom finds the number of days for a calendar month. It is in the OFM installation folder. Find the change in oil rate.. You then will create a scatter plot.CalDay calculated variable. Reporting the Monthly Oil Rate 1. Open the Bfield sample workspace. you will create calculated variables to display this information. On the Setup tab. Report the monthly oil rate. 2. 2. Note the Oil. 4. The Variable Editor opens with a list of all calculated variables. n Date: This is the Date project variable. 3.Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField. You want to create a report with three columns: n Name: The @Name system function returns the entity name. On the Home tab. at . so that you can see their contributions. As part of the process. Double-click the Name column to sort the list alphabetically by name. 4. 3. n Oil rate: This is the Oil.. you will perform intermediate calculations and display the results in a report. Also note the Water.User Guides. Create a similar calculated variable. 5. in the Variable Managers group. The Edit Report window opens. 132 of 262 . Reviewing Existing Calculated Variables 1. click Report. 6.ofm. 1. to find the change in water rate. In this example. 5. Review the existing calculated variables.CalDay calculated variable. Tutorials. You will use this calculated variable in the analyses and calculated variables you create in this example.CalDay calculated variable. in the Launch analysis group. and Examples Example: Creating an After-BeforeCompare (ABC) Plot An After-Before-Compare plot uses well test production data from two dates. The equation shows that it divides monthly oil production by the number of days in the month. 6. Click OK to close the window. and compares performance between those dates. Create an ABC scatter plot. Find the monthly oil rate from three months previous. click Calculated Variable Editor. Type this new name and then press Enter: ABC 133 of 262 .31 bbl/d n December 1990: 75. Tutorials. 5. change the Decimal Places to 2.User Guides. Click OK. The report shows oil rates for the 24 months of 1989 and 1990.CalDay 3. Oil.43 bbl/d 7. 8. Date. On the Navigation pane. under Columns. Double-click the items in the System Functions and Project Variables lists to add this to the text box at the top of the window: @Name(). Note the following dates: n September 1990: 99. Select the last column on the report. 6. right-click the report and then click Rename. and Examples 2. 4. On the Properties pane. On the Analysis pane. select the 1975:B completion. On the Format tab. n The @ValueAt system function finds the value at a specific date. 5. or 2 for the end of the month. Oil. 12. change the Decimal Places to 2. OFM names it NewItem. @Last(Oil. The new variable displays on the list of variables. Tutorials. -3.RatePrevious3 calculated variable. n You also define a flag. Select the last column on the report. This system function requires a condition that must be true (1) to return the value.RatePrevious3 6. 11.Date. Type this new name for the calculated variable and then press Enter: Oil. in the Edit group. click Calculated Variable Editor. 1 for the middle of the month. using 0 to indicate the first of the month. Click OK. 8. Double-click the items in the System Functions and Project Variables lists to add this to the text box at the top of the window: @ValueAt(Oil. On the Properties pane. 7. note the row for December 1990: 134 of 262 . but for the date three months previously.Oil. n Oil rate three months previous: This column should show the oil rate value. The @Last system function finds the last record value. You want to find the oil rate value. Double-click the items in the System Functions and Project Variables lists to add the variables needed for the new columns. The Edit Report window opens. in the Variable Managers group. Since you want all the values to be returned. 3. you can use 1 as the condition (so that the condition will always be true). but for the date three months previously. Use the new Oil. Click OK.CalDay. Click Add Calculated Variable.RatePrevious3 10. It should be: @Name( ).User Guides. n The @AddMonths system function increments the date (forward into the future. 2. @Last(1)). You want to add two columns: n Oil rate on the last day: This column should show the last oil rate value. Click OK to save the calculated variable and close the window. By default. You need a new calculated variable: On the Setup tab.CalDay.@AddMonths(Date. click Variables. under Columns. and Examples Finding the Monthly Oil Rate from Three Months Previous 1. Return to the ABC report. and displays the variables you selected for the columns in your report. or back into the past) by the number of months defined. For the 1975:B completion. 9. 0) ) 4.CalDay. RatePrevious3 4.CalDay.CalDay. 1)) by the oil rate three months previously (which is the Oil. click Calculated Variable Editor. 3.RatePrevious3 calculated variable. 135 of 262 . 1) / Oil.User Guides.43 n Oil rate 3 months previously is 99.RateChange3 6. Type this new name for the calculated variable and then press Enter: Oil. Click Add Calculated Variable. 5. and Examples n Oil rate on the last day is 75. Click OK.31 Finding the Change in Oil Rate 1. 2. Tutorials. You need another new calculated variable: On the Setup tab. in the Variable Managers group. You want to find the change in the oil rate by dividing the oil rate on the last day (which is @Last (Oil. Double-click the items in the System Functions and Project Variables lists to add this to the text box at the top of the window: @Last(Oil. Click OK to save the calculated variable and close the window. to show the change in the oil rate. in the Edit group. On the Format tab. click Calculated Variable Editor. Click Add Calculated Variable.RateChange3 calculated variable. in the Variable Managers group.CalDay.RateChange3 10. Double-click the items in the System Functions and Project Variables lists to add the variable needed for the new column.User Guides. change the Decimal Places to 2. This is the Oil. 2. except that it shows the three-month change in water rate.RateChange3.76. 12. in December 1990. @Last (1)).31) to show a rate change of 0. You want to add a new column to the report. On the Properties pane. You want to create a calculated variable that is similar to Oil.43) is divided by the oil rate of the previous three months (99. Click OK.Oil. It should be: @Name( ). click Variables. and Examples 7. Tutorials. 11. 136 of 262 . Oil. Creating a Calculated Variable to Show Change in Water Rate 1. @Last(Oil. under Columns. On the Setup tab. 9. Select the last column on the report. Oil. Note that for Completion 1975:B.CalDay. the oil rate from the last day (75.RatePrevious3. Return to the ABC report. 8.Date. Make the following selections: X: 1 Y: 1 Color: Blue Type: Solid Width: 5 Clear the two Center check boxes. b.RateChange3 6. click Cross Hair Axis.RateChange3 variable to move it to the Selected variables list.CalDay. Click OK to save the calculated variable and close the window. The Y-axis shows the corresponding calculation for oil rate. 5. in the Edit group. change the X Variable Minimum to -1 and the X Variable Maximum to 5. 2. under Scatter Plot Properties. in the Launch analysis group. b. Create a new scatter plot: a. Double-click the items in the System Functions and Project Variables lists to add this to the text box at the top of the window: @Last(Water.RateChange3 variable. 137 of 262 . -3. On the Properties pane. 1) / @ValueAt(Water. Add cross hairs at the 1. click Scatter. The Scatter Plot Origin window opens.CalDay.1 point: a. c. Change the X. 3. On the Format tab. Click Finish. On the list of Project variables. The Create Scatter Plot window opens. Select the Show check box. @AddMonths (Date.and Y-axis properties: a. and Examples 3. 0) ) 4.User Guides. Type this new name for the calculated variable and then press Enter: Water. On the Home tab. Creating an ABC Scatter Plot 1. The X-axis of the scatter plot shows the ratio of current water to the three-month previous water rate. b. Tutorials. Change the Y Variable Minimum to -1 and the Y Variable Maximum to 5. Click OK. double-click the Water. Then double-click the Oil. 4. On the Format tab. Click OK.User Guides. in the Animation Utilities group. Each point on the plot represents one well at a single point in time. select the October 1997 date. Tutorials. and Examples c. Interpreting the Scatter Plot Imagine a 45-degree diagonal passing through the intersection of the crosshairs: 138 of 262 . User Guides. n Wells off the diagonal have had no water cut changes. with no change in water cut. Above the diagonal is a water cut decrease. 139 of 262 . n Wells on the diagonal have had changes in liquid production (positive in the upper-right quadrant. Below the diagonal is a water cut increase. Tutorials. negative in the lower-left quadrant). and Examples n Wells at the intersection have had no change in oil or water rate. Create two PVI plots: n Water Cut versus PVI: This plot shows the development of water cut behavior with water injection. This plot helps characterize injection behavior by comparing production volumes to injection volumes. 2. In this example. Create a cumulative oil versus cumulative water production plot. you can explore different methods for introducing PVT data. at . 140 of 262 .. you will assume the properties are constant and so you will use calculated variables. you can track the overall performance of all patterns on the same plot. Add a table for stock tank oil initially in place (STOIIP): a. It is in the OFM installation folder. click Schema. Adding Stock Tank Oil Initially in Place (STOIIP) to the Workspace 1. In OFM. You will: 1. On the Setup tab. Create a conformance plot. in the Tables group. n PVI versus Time: In this plot. to find the factor affecting recovery. The Edit Schema Tables window opens. n Recovery Factor versus Time: With this plot.. and then add STOIIP data to it.Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField. 5. you can see the amount of pore volume injected over time. Tutorials. 2. n Hydrocarbon pore volume (HCPV) n Displaceable hydrocarbon pore volume (DHCPV) n Pore volumes injected (PVI) n Recovery factor (RF) 3. Open the Bfield sample workspace.ofm. Create four calculated variables to use in the plots. 6. 4. Create a table and field.User Guides. you create several plots that illustrate the performance of a waterflood. and Examples Example: Creating Plots for Waterflooding Surveillance In this example. Create two recovery plots: n Recovery Factor versus PVI: This plot helps you determine how individual patterns compare to the field average. The OFM Representation pane shows two fields in the STOIIP table: The Pattern field (which is a primary key field) and Volume. 3. on the Table tab. enter Volume and then click Add. On the Setup tab. By default. Hydrocarbon Pore Volume (HCPV) 1. On the Setup tab. assume that the Boi is a constant value of 1.in the Tables group. The Select OFM Table to Edit window opens. c. On the Table tab. change Table Type to Static. Click OK to save your changes and close the window. Click No. Tutorials. 141 of 262 . f. 2. click Data Grid. OFM names the table NewItem and you must change the name. b.mdb home data source and then click Add. h.User Guides. Type the new name and then press Enter: STOIIP d. c. in the Variable Managers group. The HCPV is the STOIIP * Boi (initial oil formation volume factor). OFM lists the new table on the OFM Representation pane. change Key Type to Pattern. e. click Calculated Variable Editor. For this example. g. The Variable Editor opens with a list of all calculated variables. right-click the Pilot Waterflood BField. OFM asks if you want to keep the DATE key field. Click Add Calculated Variable. Select the STOIIP table and then click OK. On the OFM Representation pane. OFM sets the table to hold monthly data. Close the data grid to save your entries. Enter the following rows of data for the Pattern and Volume columns: Patter Volum n e 495 77400 496 88200 497 91800 500 12000 0 506 60000 509 45000 d. in the Add New Field field.2. On the Fields tab. On the right side of the window. By default. The Edit Calculated Variable window opens. and Examples b. Add data in the STOIIP table: a. Open the Variable Editor again: On the Setup tab. in the Variable Managers group.User Guides. Type this new name for the calculated variable and then press Enter: HCPV 6. You need to use this calculated variable in the next one. It is not available until you save your changes. Open the Variable Editor again: On the Setup tab. The new variable displays on the list of variables. Click OK. You can find the cumulative water injection with the @CumInput system function. 3. By default. Click OK. Click OK. Click OK to save your changes and close the Variable Editor.2) 4. It is not available until you save your changes. You need to use this calculated variable in the next one. Tutorials. and Examples 3. Pore Volumes Injected (PVI) 1. You now use the DHCPV calculated variable to created a calculated variable for PVI. 2. 5. click Calculated Variable Editor. DHCPV is HCPV (1-Sor). assume that Sor (residual oil saturation) is 0. Click OK to save your changes and close the Variable Editor. in the Variable Managers group. Displaceable Hydrocarbon Pore Volume (DHCPV) 1. 2. Click Add Calculated Variable. Double-click the items in the Project Variables list to add this equation to the text box at the top of the window: HCPV*(1-0. PVI is cumulative water injection / DHCPV.Volume*1. OFM names it NewItem. Type this new name for the calculated variable and then press Enter: PVI 142 of 262 . Click Add Calculated Variable. 5. 3. click Calculated Variable Editor. For this example.2 4. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @CumInput (Win.2. This system function returns the running sum of an input variable which in this example is the water injection (WINJ) data in the water injection volumes (WIN) table. Double-click the items in the Project Variables list to add this equation to the text box at the top of the window: Stoiip. 5. Type this new name for the calculated variable and then press Enter: DHCPV 6. You now want to create a calculated variable for DHCPV by allowing for residual oil saturation (Sor).Winj)/DHCPV 4. Volume 3. Click OK. 143 of 262 . On the Home tab. This time. Click OK to save the calculated variables and close the window. highlight rows 7 and 8 (for patterns 510 and 511) and then click Remove Curve so that you have six curves. 2. Make these selections and then click OK: n Category: regular_five_spot n Variable: Oil. Type this new name for the calculated variable and then press Enter: RF 5. use the @CumInput system function again. select Winj. Tutorials.Cum 5.Cum. On the list of curves on the Edit Plot window. 6. click Plot. 1. Click OK. 4. Click Add Multiple Curves. 2. use it with the oil production data in the PRD table. 3. Click Add Calculated Variable. and Examples Recovery Factor (RF) 1. Recovery factor is cumulative oil / STOIIP. The Add Multiple Curves window opens. 4.User Guides. in the Launch analysis group. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @CumInput(Prd. To find cumulative oil. The Edit Plot window opens. For the X-Axis Variable. Creating a Conformance Plot This plot helps characterize injection behavior by comparing production volumes to injection volumes.Oil)/Stoiip. on the Curves field. On the plot. 144 of 262 . On the Properties pane. You are now ready to enhance the plot.Cum:regular_five_spot:495. under Axis. 11. change the Line Color to Red and the Line Width to 3.User Guides. change Curve Name to As Labels. On the Analysis pane. select 1: Oil. Tutorials. on the Curves field. Make changes to the X axis: a. Type Conformance Plot and then press Enter. Under Curve Properties. 10. b. and Examples 5.Cum:regular_five_spot:496. Under Curve Properties. under Graph settings. 8. on the Axis Label field type Cumulative Water Injection. Make the second curve a thicker blue line: Under Graph settings. under Graph settings. Hide the legend: On the Format tab. select 2: Oil. click the X axis. right-click Plot1 and then click Rename. 4. clear the Legend check box. c. Change the Scale Type to Linear. change the Line Color to Blue and the Line Width to 3. Make the first curve a thicker red line: On the Properties pane. in the Display group. 7. 9. On the Properties pane. 50 in the graph below). change the Line Color as Green and change the Line Width to 3.0 to 500000.Cum:regular_five_spot:506. 15. For example. Under Curve Properties.User Guides.Cum:regular_five_spot:500. select 6: Oil. 13. on the Curves field. on the Curves field. on the Curves field. and Examples 12. Make the sixth curve a thicker brown line: Under Graph settings. Under Curve Properties. 16.Cum:regular_five_spot:497. Make the third curve a thicker teal line: Under Graph settings. Under Curve Properties. select 5: Oil. Tutorials. on the Curves field. drag the line that defines regular_five_spot_500 near the green line. change the Line Color to Magenta and the Line Width to 3. change the Line Color to Teal and the Line Width to 3. Under Curve Properties. select 4: Oil. that line would show where cumulative oil production equals the cumulative water injected. Make the fourth curve a thicker green line: Under Graph settings. 145 of 262 . On the plot. drag each of the curve names close to the line it defines. Make the fifth curve a thicker magenta line: Under Graph settings. 14. If you were to draw a unit slope line on this plot (the dotted line from 0. change the Line Color to Dark Brown and the Line Width to 3. select 3: Oil.Cum:regular_five_spot:509. line width 3 n 506: Magenta. select the Legend check box. line width 3 n 497: Teal. click the X-axis. line width 3 n 509: Dark brown. Click OK. Make them the same as you did for the conformance plot: n 495: Red. You are ready to improve visibility of the plot. line width 3 n 500: Green. 5. Make a copy of the conformance plot: On the Analysis pane. b. in the Display group. line width 3 146 of 262 . 1. The plot loses its formatting when you change the curves. right-click Conformance Plot and then click Save As New Node. 11. OFM names the copy Copy of Conformance Plot. On the Analysis pane. 7. 6. 4. On the Format tab. As you did for the conformance plot. 10. 9. in the Edit group. On the plot. click Variables. Keep the Category and Name selections the same. 3. Type Recovery Factor versus PVI and then press Enter. change all the Variables to RF. 8. and Examples Viewing the Recovery Factor versus PVI This plot helps you determine how individual patterns compare to the field average.User Guides. under Axis. Right-click Copy of Conformance Plot and then click Rename. For the curves. On the Format tab. Tutorials. change the curve color and line width. 2. make sure the Scale Type is Linear. On the Properties pane. double-click Recovery Factor versus PVI to open it. line width 3 n 496: Blue. Change the X-Axis Variable to PVI. to find the factor affecting recovery. Change the X-axis scale: a. Rename the copy Recovery Factor and then open the plot. 147 of 262 . Make a copy of the previous plot: On the Analysis pane. you can track the overall performance of all patterns on the same plot. 4. except the X-axis is Date instead of PVI. 5. right-click Recovery Factor versus PVI and then click Save As New Node. On the Format tab. Tutorials. in the Edit group. click Variables.User Guides. 3. Change the X-Axis Variable to Date. and Examples Viewing the Recovery Factor versus Time With this plot. This plot is the same as the previous. Click OK. 1. 2. For the curves. click Variables. 5.Cut. 6. 1. Make a copy of the plot: On the Analysis pane. change all the Variables to Water. 3. On the Format tab. select the Legend check box. the X-axis variable for this plot is PVI. The plot loses its formatting when you change the curves. Rename the copy Water Cut versus PVI and then open the plot. in the Display group. Click OK. 2. change the curve color and line width. 7. right-click Recovery Factor versus PVI and then click Save As New Node. Tutorials. and Examples Viewing the Water Cut versus PVI This plot shows the development of water cut behavior with water injection. You are ready to improve visibility of the plot.User Guides. Like the Recovery Factor versus PVI. On the Format tab. 4. Keep the Category and Name selections the same. in the Edit group. The variables for the curves are different. As you did for the other plots. Make them the same as you did before: 148 of 262 . in the Edit group. For the curves. and Examples n 495: Red. Keep the Category and Name selections the same. 5. 1. line width 3 n 497: Teal. change all the Variables to PVI. Open the plot to change its variables. 4. Tutorials.User Guides. Make a copy of the Recovery Factor versus Time plot. line width 3 n 496: Blue. Click OK. In this plot. line width 3 n 506: Magenta. line width 3 Viewing PVI versus Time PVI helps normalize the quantity of water injection and gives you a basis for comparison. line width 3 n 500: Green. click Variables. line width 3 n 509: Dark brown. you will see the number of pore volumes injected over time. 149 of 262 . On the Format tab. and rename it PVI. 2. 3. line width 3 n 509: Dark brown. line width 3 n 506: Magenta. As you did for the other plots. line width 3 Viewing Cumulative Oil Production versus Cumulative Water Production 1. line width 3 n 500: Green.User Guides. On the Format tab. 150 of 262 . change the curve color and line width. and rename it Cum Oil versus Cum Water. in the Display group. This plot is similar to the conformance plot. Make them the same as you did before: n 495: Red. line width 3 n 497: Teal. Tutorials. Make a copy of the Conformance Plot. 6. 7. except the X-axis shows cumulative water production. select the Legend check box. line width 3 n 496: Blue. You are ready to improve visibility of the plot. and Examples The plot loses its formatting when you change the curves. in the Display group. in the Edit group. Change the X-Axis Variable to Water. 5.User Guides. 3. 6. Click OK. On the Format tab.Cum. Open the plot to change its variables. select the Legend check box and then drag the legend to a good location. 4. Tutorials. On the Format tab. 151 of 262 . and Examples 2. click Variables. OFM asks if you want to keep the Date field.Sample Workspaces\Demo Workspace\demo. 2. select ft ==>m. and the table is defined to hold monthly data with a Completion key type. in the Tables group.User Guides. Create a contour map showing a pseudo top or bottom of the structure. 2. The primary key field is UniqueID. select ft ==>m. It has two other fields: Depth and H. Create a grid map showing thickness. In the Add New Field field. Adding a New Table with Depth and Height Data 1. e.. select the H field. The Demo data source now has an Iso table. in the Add New Field field. change the Table Type to Static.. and Examples Example: Displaying Formation or Reservoir Thickness and Structure OFM can create effective isopach maps. The Edit Schema Tables window opens. Open the Demo workspace. On the OFM Representation pane. l. By default. 5. OFM adds UniqueID and Date as the primary key fields. In this example. On the OFM Representation pane. you will: 1. j. h. On the Setup tab. On the Units tab. Type Iso for the table name and then press Enter. Create the table: a. 3. Click OK to save your changes and close the window. c. On the Table tab. select the Depth field. g. 4. k. On the Fields tab. Click No. Right-click the Demo data source and click Add. 3. enter H and then click Add. Display the thickness map on the base map. Create a contour map showing thickness. Tutorials. It is in the OFM installation folder.ofm. On the Units tab. You need a table and field to hold thickness data. enter Depth and then click Add. d. click Schema. Add a new table with depth and height data. at . b. i. f. Add data to the new table: 152 of 262 . click Contour. On the Home tab. The contour map displays the thickness. b. double-click Iso. in the GRID section make these selections: Number of Neighbors: 2 Maximum Grid Size: 14 Search Radius: 304801 b. in the Import/Export group. On the Filter pane. On the list of Project variables. Click Finish. Double-click the Iso. Open Notepad. 3. click Import > Data Loader.H to move it to the Selected variables list. 4. expand Table Data and then select the new Iso table to show only the completions with data in that table.dat file to move it to the Files to Load section. Improve the appearance of the contour map: a. 2. and then click Load. Tutorials.dat d. On the Properties pane. Paste the following into a new file: *TableName Iso *UniqueID *Depth *H "Blue_12:Li_1C" 6647 0 "Blue_3:Li_1C" 6440 0 "Blue_7:Li_1C" 6440 10 "Green_15:Li_1C" 6500 0 "Green_3:Li_1C" 6500 0 "Green_5:Li_1C" 6441 40 "Orange_16:Li_1C" 6460 10 "Orange_24:Cl_3" 6470 20 "Purple_1:Cl_3" 6494 0 "Red_13:Cl_3" 6495 0 "Red_4:Cl_3" 64980 0 c. On the Setup tab. and Examples a. under Properties.User Guides. Save the file with this name: Iso. in the 2D section make these selections: Show: Yes Decimal Places: 0 Distance Between Labels: 10 153 of 262 . 5. On the Properties pane. e. under Properties. in the Launch analysis group. Creating a Contour Map Showing Thickness 1. change Grid Type to None. 3. On the Analysis pane. Tutorials. 7. On the Properties pane.User Guides. change Exclude out of range to Yes. under Grids and Limits. right-click the contour map and then click Clone Map As > Grid Map. 154 of 262 . under Variable Properties. under Grids and Limits. 2.Contour Map Creating a Grid Map Showing Thickness 1. On the Properties pane. and Examples c. Type this for the new name and then press Enter: Net Sand Thickness . OFM creates a new grid map displaying the same variable as the contour map. On the Analysis pane. 6. change Grid Type to Frame. right-click the contour map and then click Rename. On the Properties pane. Depth to add it to the Selected variables list. and Examples 4. right-click the copy and then click Rename. on the Format tab. 3. Type this for the new name and then press Enter: Net Sand Thickness . Type this for the new name and then press Enter: Pseudo Structure 4. 5. 155 of 262 . 6. Tutorials. On the Analysis pane. Remove the Iso. Click Finish.H variable from the Selected variables list.Grid Map Creating a Contour Map Showing a Pseudo Top or Bottom of the Structure 1. 5. in the Edit group. OFM makes a copy of the map. and double-click Iso. click Variables. On the Analysis pane. right-click Net Sand Thickness . right-click the grid map and then click Rename. 2.User Guides.Contour Map and then click Save As New Node. On the Analysis pane. With the Pseudo Structure map open. Contour Map. On the Map Annotations window. 6. View the base map. The thickness map you originally created as a contour map displays as an annotation on the base map.User Guides. Tutorials. in the Display group. Click Add.ano file to move it to the Files list. The Map Annotations window opens. and then click Load. 7. click OK.ano 4. Double-click the NetSandThickness. The Data Loader opens. 2. in the Utilities group. Change the Save as type to Annotation Files and then save the file with this name: NetSandThickness. and Examples Displaying the Thickness Map on the Base Map 1. 5. 8. 3. On the Format tab. Close the Pseudo Structure map and open the Net Sand Thickness . click Save Analysis > Save As. 156 of 262 . click Annotations. On the Format tab. You will use three of the calculated variables already in this project. You will: n Create a plot that shows calendar day oil versus elapsed time n Create calculated variables to fit a polynomial curve and to show the equation. Click OK to close the Variable Editor.. 5. For the X-Axis Variable. or water production. gas. This calculated variable uses the @ElapsedMonths system function to find the number of months between the current date and the date of initial oil. It is in the OFM installation folder.ofm. 2. The @Dom system function returns the number of days.User Guides.Water>0). in the Launch analysis group. On the Home tab. gas. The equation is @ElapsedMonths(date. click Calculated Variable Editor. The equation is @cfirst(date. 2. This calculated variable divides oil production by the number of days in the month. Open the Demo workspace. on the Setup tab. 157 of 262 . 4. For the curve. Creating a Plot Showing Calendar Day Oil versus Elapsed Time 1.Gas>0|MonthlyProd. at . Find the MonthsOfProd calculated variable and view the Equation. Then you will display it on a graph and post the equation of the line as a label. in the Variable Managers group.CalDay calculated variable. The Edit Plot window opens..CalDay calculated variable and view the Equation. select MonthsOfProd. 3.Oil>0|MonthlyProd. Double-click the Name column to sort the list alphabetically by name. InitialProdMonth). and then add these to the plot and plot header. Getting Started 1. 6. or water production is greater than zero. This calculated variable uses the @CFirst system function to find the first date on which monthly oil. Tutorials. and Examples Example: Fitting a Polynomial Curve Through Plot Data and Displaying Its Equation In this example.MonthlyProd.Oil/@dom(date). click Plot. you will create a variable that curve fits production data.Sample Workspaces\Demo Workspace\demo. 3. 7. select the Oil. The Variable Editor opens with a list of calculated variables. The equation is Prd. Find the InitialProdMonth calculated variable and view the Equation. Find the Oil. To review them. change the Scale Type to Linear. MonthsOfProd) 158 of 262 . 5.User Guides. 6. Fitting a Polynomial Curve to Data 1. On the plot. On the Properties pane. you exclude a value if Oil. select the BLUE_1:He_0 completion.CalDay) A true/false condition that excludes a value if the condition is false (in this case. click Calculated Variable Editor. Click OK. under Axis. b. This calculated variable will use the @Fit system function. Create the first calculated variable: a.CalDay is greater than 0) The X-axis parameter for the output fitted curve (in this case. Click Add Calculated Variable. click the X-axis. MonthsOfProd) The Y-axis parameter for the dataset being fitted (in this case. you identify: The X-axis parameter for the dataset being fitted (in this case. On the Navigation pane. and Examples 4. You will create calculated variables for the fit and its equation. On the Setup tab. in the Variable Managers group. Oil. which fits a polynomial of n order through the data. When you use this system function. Tutorials. Click OK to save the calculated variables and close the window.CalDay. Click OK. Click OK. With the plot open.CalDay. 159 of 262 . Tutorials. Oil. Click Add Curve. Add the best-fit curve variable to the plot: a. 3. the order of the fitted polynomial. d. b. which returns the equation for the fitted polynomial.OilCalDay 2. "deg 3") c.OilCalDay calculated variable. Type this new name for the calculated variable and then press Enter: Fit. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @Fit( MonthsOfProd. There is no physical reason a third-order polynomial should fit this data. The Edit Plot window opens. This is an example of curve fitting in OFM. OFM names it NewItem. MonthsOfProd. b. and Examples An option (in this case. "deg 3") d. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @FitEq( Oil. Type this new name for the calculated variable and then press Enter: FitEq.OilCalDay e. e. which is 3) c. By default.User Guides. The new variable displays on the list of variables. This calculated variable will use the @FitEq system function. on the Format tab. Create the second calculated variable: a. The variable that is fitted is Oil. For the new curve. to the order of 3. d.CalDay > 0. click Variables. Click OK.CalDay. but the example illustrates the principle. c. select the Fit. Oil. in the Edit group. Click Add Calculated Variable. User Guides. click Header. On the Format tab. c. Display the equation on the plot: a. and Examples 4.OilCalDay f. b. Tutorials.OilCalDay d. On the new row. 160 of 262 . Change the Font Color to White.OilCalDay to do its calculation. type: FitEq. e. g. Click Add. because FitEq. You will add both calculated variables to the header. in the Edit group.OilCalDay requires Fit. On the new row. To hide the first line of the header. Click OK to save and close. The Header window opens. Click Add. select and right-click it. type: Fit. you will use grid arithmetic on a grid file to estimate original oil in place (OOIP). porosity.So > 0 161 of 262 .615) The grid area that you will create determines the area in the calculation. Filter the completions to show only ones that have net pay. A factor of 5. and oil saturation data n Add a map annotation file that helps you create a grid area later n Create a grid map that shows the reservoir property data in the Resprop table n Add grid files to the registry n Perform the OOIP grid arithmetic Opening the Workspace and Filtering the Completions 1. at . b. you will assume the formation volume factor is 1. porosity. c.User Guides. The OFM Query window opens. and Examples Example: Estimating OOIP Using Grid Arithmetic In this example.Net_pay > 0 & Resprop. and then click OK.. porosity (PHI). right-click Ofm Query and then click Add. It is in the OFM installation folder. click Data Grid. On the Setup tab. add this query to the text box at the top: Resprop. For this example.09 rb/stb.. On the Filter pane. The workspace has reservoir property data in a table named Resprop. you will: n Filter the completions to show only ones that have net pay. Select the Resprop table. Note that the Resprop table has columns for net pay (NET_PAY). Verify the reservoir property data: a. The OOIP equation is: OOIP = (Area * Net Pay * Porosity * Oil Saturation)/(formation volume factor oil * 5. Open the Bfield sample workspace. 3.Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField. and oil saturation data: a. c. Tutorials.Phi > 0 & Resprop. select the Edit all records check box. The Create Query window opens.ofm. In this example.615 converts cubic feet to barrels. and oil saturation (SO). Click Edit. d. b. Using the project variables for data you noted in the Resprop table. Close the data grid. 2. in the Tables group. Tutorials. Click OK to close the Create Query window. you will consider the area inside the oil/water contact for the calculation. The OFM Data Loader opens.User Guides. Click Load.. and Examples d. On the Format tab. OFM lists the new query with a default name. Type Res Prop Query for the name of your new query and then press Enter. The Map Annotations window opens. Later. which is in the OFM installation folder: . 162 of 262 .. 3.Sample Workspaces\Pilot Waterflood Sample\Text Load Files\Anno\ZEROPAY. and then OK to close the OFM Query window. Double-click this file. The map displays 14 completions. click Annotations. e. It was made of the oil/water contact. 1. 2.ANO The Files section shows the file ready to load. Adding a Map Annotation This map annotation will help you create a grid area later. in the Display group. Net_pay n Resprop. The Create Grid Map window opens. Click Finish. click Grid.User Guides.Perm n Resprop.Hcft n Resprop. in the Launch analysis group. Click OK. and Examples 4. 163 of 262 . Creating the Grid Map 1. 2. where the high porosity zone displays. Double-click each of the Project variables from the Resprop table to move them to the Selected variables box: n Resprop. The channel sand is in the center of the reservoir. On the Home tab.Perf_ft 8.So n Resprop. Tutorials.Phi n Resprop. The map annotation displays as a dotted line around the edges of the base map. The grid map displays reservoir porosity.Owc n Resprop. d.ga) file determines the area in your OOIP calculation. 164 of 262 . e.grd) files to the registry so that you can use them for calculations. and Examples Adding Grid Files to the Registry The grid area (. You save grid maps as grid (.User Guides. The area outside the grid area becomes white. On the Format tab.grd) file with the File name phi and then click Save. click Add. 1. b. in the Utilities group. Save the grid (. On the Format tab. right-click and then click Done. Click around the dotted line to create the grid area. in the Grid Area Utilities group. Click OK. click Save Analysis > Save As. Use the dotted line as a guide to create the grid area: a. The Save Grid File window opens. c. Tutorials. The map annotation displays as a dotted line around the edges of the grid map. When you are finished. change the Variable to Resprop. d. The Value is 0. On the Format tab. in the Utilities group. Tutorials.Net_pay. Click around the perimeter of the oil-water contact to add the control points. c. 165 of 262 . b. Net pay is likely to be zero at the edges of a reservoir. Name the grid (. The grid map is showing porosity. right-click and then click Done. In the Name field. click Add. Add control points around the oil/water contact to enter zero net pay values. click Save Analysis > Save As. e. under Variable Properties. When you are finished. Change it to show net pay: On the Properties pane. On the Format tab. The grid map displays the net pay. in the Control Point Utilities group. The Save Grid File window opens. type netpay. f. and Examples 2.grd) file netpay and then click Save. The Control Point Value window opens. Click OK. and then save the grid file to the registry: a. g. so accept the default value.User Guides. i. Tutorials. Select the Save Control Points check box. The Save Grid File window opens.User Guides. in the Utilities group. On the Format tab. under Variable Properties.grd) file So and then click Save. Click OK. e. in the Control Point Utilities group. and Examples h. 166 of 262 . type So. d. change the Variable to Resprop. b. OFM stops using the control points and the grid map displays without them. clear the Use check box. Name the grid (. c.So. In the Name field. 3. Save an oil saturation grid file to the registry: a. j. On the Format tab. Change the grid map to show oil saturation: On the Properties pane. click Save Analysis > Save As. Select the Save Grid Area check box. 615) 6. g. 2. click New to create a new calculation. Enter the following information: n Description: Reservoir OOIP n Name: OOIP 4. Performing the OOIP Grid Arithmetic 1. click File and then save the file with this name: OOIP 8. Select the Save Grid Area check box. Click OK. Click OK. 3.09 * 5. 5. On the Calculate Grid window. and Examples f. On the Format tab. 7. click Calculate. In the text box at the top. A factor of 5. On the Calculate Grid window. in the File Grid Utilities group. Tutorials. The Calculate Grid window opens. enter this calculation: (netpay * phi * So)/(1. 167 of 262 . Click Equation.User Guides. click OK. The Edit Calculated Variable window opens. Remember that the OOIP equation is: OOIP = (Area * Net Pay * Porosity * Oil Saturation)/(formation volume factor oil * 5.615) The grid area you created determines the area in the calculation. The grid map displays with the calculated grid.615 converts cubic feet to barrels. If the Equation field is populated with information. You are assuming the formation volume factor is 1.09 rb/stb. On the Statistics panel. 10. On the Layout tab. click Open Analysis > Open. depending on your grid area points and control points. 12. in the Utilities group. On the Format tab. Tutorials. 168 of 262 . note the Volume. It is about 67 MMbbls. 11. This is the calculated OOIP for the grid.User Guides. and Examples 9. select the Statistics Panel check box.grd file and then click Open. Select the ooip. The name of the user function displays in the field at the top of the window. The function will require you to provide a value for n. and sums them as appropriate. It also keeps a count of the non-null values for the subsequent averaging calculation. It begins as follows: While(LastIndex >= 0 & Count < Months) 7. On the Setup tab.ofm. at . Add this first line and then press Ctrl+Enter to start a new line: Lastnonnullavgprod( num Months) 5. Creating the User Function 1. Total = 0. The User Functions window opens. enter the name of your new user function: LastNonNullAvgProd 3. Getting Started Open the Demo workspace. the number of months. Define them now: num LastIndex. It is in the OFM installation folder. Click Add. 6. you create a user function that finds the average production for n months. num Count.Sample Workspaces\Demo Workspace\demo. The next lines of the user function are: 169 of 262 . So. Count = 0. 4.. and Examples Example: Calculating Average Production for N Months In this example. Tutorials. You then create a report to show this information. num Total. The function checks for null values. in the Variable Managers group. click User Functions. 2. excluding months that do not have production data. on the first line of the function you specify this input argument. LastIndex = @RecCount( "Monthlyprod" )-1. The calculation will create several intermediate variables. You are now ready to define the set of instructions. The main body of the function involves an iterative loop. The Edit User Function window opens.User Guides.. In the top field. oil. Value = @ARec(Monthlyprod. Count = 0.User Guides. There are two possibilities: n If the Count numerical string is greater than zero. 170 of 262 . It should be: Lastnonnullavgprod( num Months) num LastIndex. if(Value != @Null()) { Total = Total + Value.1. Tutorials. Count = Count + 1. LastIndex = LastIndex . The last lines of the user function are: if(Count > 0) { LastNonNullAvgProd = Total/Count. num Count. } else { LastNonNullAvgProd = @Null(). Double-check your user function. num Total. n If the Count numerical string is equal to zero. } } 8. LastIndex = @RecCount( "Monthlyprod" )-1. } 9. You next need to give instructions for when While(LastIndex >= 0 & Count < Months) is not true. and Examples { num Value. LastIndex). then you want the user function to divide the value of the Total numerical string by the value of the Count numerical string (to calculate the average). then you want the user function to return a null value. if(Value != @Null()) { Total = Total + Value. Double-click the Project Variables and User Functions to add this to the text box at the top of the window: Date.1. in the Launch analysis group. n Last ten months of measured production: This is the user function you created. The Edit Report window opens. LastIndex). #Lastnonnullavgprod(10 ) 171 of 262 . Count = Count + 1. n Monthly oil production: This is the Oil field in the Monthlyprod table. Tutorials. click Close. Click OK. 11.User Guides. click Report. On the Edit User Function window. and Examples Total = 0. } } if(Count > 0) { LastNonNullAvgProd = Total/Count. LastIndex = LastIndex .Oil. } else { LastNonNullAvgProd = @Null(). Value = @ARec(Monthlyprod. Creating Reports 1. } 10. On the Home tab. while(LastIndex >= 0 & Count < Months) { num Value. 2. Monthlyprod. You want to create a report with three columns: n Date: This is the Date project variable.oil. On the Navigation pane. Change the number of months: On the Format tab. select the BLUE_2:Ge_2A completion.14. select the BLUE_1:Ge_6 completion. There is data for the last three dates. you get 4736. Click OK. The report is showing the average for the last three dates.Oil. Click OK. If you add those together (100 + 103 + 40) and divide the sum by 3. The report displays seven dates. The average last three months of production on those dates is 5051. #Lastnonnullavgprod(3) 7. 3. so that it is this: Date. If you add the monthly oil production for the last three dates (4642 + 5264 + 5247) and divide that sum by 3.14. 172 of 262 . 6. Tutorials. Now view the report for a completion that does not have data for every month. On the Navigation pane. 4. in the Edit group. Type 3 between the parentheses following the user function. 8. Monthlyprod. you get 81 just as shown in the last column.User Guides. The average last ten months of production on those dates is 4736. and Examples Note: The # sign signifies a user function. you get 5051. If you add the monthly oil production for these months and divide that sum by 10. 5. click Variables. from December 1999 through June 2000. The report displays the same seven dates. On the Format tab. it is 48. click Variables. Tutorials. and Examples 9. in the Edit group.60. If you add the values for the last five months (0 + 0 + 100 + 103 + 40) and divide the sum by 5. The last column of the report is 48. 173 of 262 . Change the number of months for the user function to 5 and then click OK.User Guides.60. 10. Tutorials. and Examples 174 of 262 .User Guides. You need to use this calculated variable in the next calculation. MonthlyProd.. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @TMax(MonthlyProd. The @TMax system function does this.Sample Workspaces\Demo Workspace\demo. On the Setup tab. The first three calculated variables find the monthly oil production: n Maximum monthly oil production n Second-best monthly oil production n Third-best monthly oil production The next three calculated variables find the corresponding dates: n Date of maximum monthly oil production n Date of the second-best monthly oil production n Date of the third-best monthly oil production You then run a report that shows this information..ofm. It is not available until you save your changes. Tutorials. and Examples Example: Finding the Best Three Months of Production In this example. 2. Finding the Maximum Monthly Oil Production 1. you create and use a series of calculated variables to find the best three months of oil production. you want to find the total maximum value of monthly oil production with the condition that it should be greater than zero. Getting Started Open the Demo workspace. Click OK. It is in the OFM installation folder. The Variable Editor displays calculated variables. 3. Click Add Calculated Variable. Type the name of the calculated variable and then press Enter: Max_Oil 6. 5. The Edit Calculated Variable window opens. For this calculated variable. at . The Variable Editor lists the new calculated variable. click Calculated Variable Editor. Click OK to save your changes and close the Variable Editor. 175 of 262 .Oil.Oil>0) 4.User Guides. By default the name is NewItem. in the Variable Managers group. With this calculated variable. Click Add Calculated Variable. Finding the Third-Best Monthly Oil Production 1. You will use the @CFirst system function. click Calculated Variable Editor. in the Variable Managers group. Click OK. you want to find the first date on which monthly oil production equals the value found with the Max_Oil calculated variable you created.Oil<Max_ Oil_2) 4. Open the Variable Editor again: On the Setup tab.Oil>0 & MonthlyProd. 5.MonthlyProd. Click OK. Type the name of the calculated variable and then press Enter: Max_Oil_2 6.Oil<Max_Oil) 4. Double-click the items in the System Functions and Project Variables lists to add this equation to the text box at the top of the window: @TMax(MonthlyProd. click Calculated Variable Editor. MonthlyProd. Finding the Date of the Maximum Monthly Oil Production 1. For this calculated variable. in the Variable Managers group. which is greater than zero and less than the maximum value you just calculated. Click Add Calculated Variable. 3. 176 of 262 .Oil. too. which finds the first occurrence of a numeric expression with a condition. Enter this equation: @TMax(MonthlyProd. you want to find the total maximum value of monthly oil production when it is greater than zero and less than the value found with the Max_Oil_2 calculated variable. Click Add Calculated Variable.User Guides. Click OK to save your changes and close the Variable Editor.Oil. Tutorials. and Examples Finding the Second-Best Monthly Oil Production 1. 2. Open the Variable Editor again: On the Setup tab. 5. 2. 2. You will use the @TMax system function again.Oil>0 & MonthlyProd. click Calculated Variable Editor. Type the name of the calculated variable and then press Enter: Max_Oil_3 6. in the Variable Managers group. Open the Variable Editor again: On the Setup tab. You will use the @TMax system function for this calculated variable. Click OK to save your changes and close the Variable Editor. 3. Now you want to find the total maximum value of monthly oil production. enter the calculated variables you created: Date_Max_Oil. In the text field at the top. Max_Oil. Displaying the Calculated Variables in a Report 1. Type the name of the calculated variable and then press Enter: Date_Max_Oil 6. Finding the Date of the Second-Best Monthly Oil Production 1. They are not available until you save your changes. 2. Click Add Calculated Variable. Type the name of the calculated variable and then press Enter: Date_Max_Oil_2 Finding the Date of the Third-Best Monthly Oil Production 1. This is the last of the calculated variables. Enter this equation: @CFirst(Date. You want to find the first date on which monthly oil production equals the maximum oil production found with the Max_Oil_2 calculated variable. Max_Oil_3 3. MonthlyProd. Date_Max_Oil_3. You will use the @CFirst system function again. You need to use the new calculated variables in the next ones.Oil=Max_Oil) 4. Enter this equation: @CFirst(Date. You will use the @CFirst system function again. MonthlyProd. 5. Max_Oil_2. On the Home tab. Click OK to save your changes and close the Variable Editor. 5. Click OK to save your changes and close the Variable Editor. Click OK.Oil = Max_Oil_3) 3. Enter this equation: @CFirst(Date. 2. Click OK. 3. You want to find the first date on which monthly oil production equals the value found with the Max_Oil_3 calculated variable. This calculated variable uses the Max_Oil_2 you created. Date_Max_Oil_2. MonthlyProd. in the Variable Managers group. The Edit Report window opens.Oil = Max_Oil_2) 4. in the Launch analysis group. 177 of 262 . Click Add Calculated Variable.User Guides. Type the name of the calculated variable and then press Enter: Date_Max_Oil_3 5. Tutorials. Click OK. and Examples 3. 2. Click OK. click Report. click Calculated Variable Editor. Open the Variable Editor again: On the Setup tab. 4. select the A Field fieldname. November 1972. The report shows that the best three months of oil production were January 2000. 5. On the Navigation pane. On the Navigation pane. select the Blue_1:Ge_6 completion. Tutorials. February 1996. March 2000. 178 of 262 . and May 2000. and December 1972.User Guides. The report shows that the best three months for the lease were October 1972. The report shows that the best three months of oil production were March 1996. 6. select the Trammel lease. On the Navigation pane. July 1972. select the Blue_1:He_0 completion. The report shows that the best three months for the field were October 1972. and January 1996. and November 1972. 7. On the Navigation pane. and Examples 4. you find this for the oil information in the Test table. In this example. c. b. On the Setup tab.Sample Workspaces\Demo Workspace\demo. note that the Table Type is Sporadic. 2.. expand the Test table. click Report. you will: n Open the Demo project and confirm that it holds sporadic data in the Test table n Create a report with four columns: Completion name. and data for gas. d. In this example. on the Table tab.. 179 of 262 .User Guides. Confirm this: a. and water (as well as other information).ofm. in the Tables group. Then type a comma to mark a new column. On the right. The first column has the completion name. On the Home tab. oil. click the Test table. and the @Name system function provides it. Click OK to close the window. in the Demo database. click Schema. 2. On the OFM Representation pane. It is in the OFM installation folder. Creating the Report You will create a report with four columns: n Completion name n Test date n Oil test volume n Monthly average 1. and Examples Example: Finding the Monthly Average Value for Sporadic Data You can create a report that shows the monthly average value for sporadic data. Note that it holds the test date. oil test volume. Tutorials. Open the Demo workspace. f. test date. On the OFM Representation pane. Click System Functions and then double-click Name to add it to the text box at the top of the window. The Edit Schema Tables window opens. at . e. in the Launch analysis group. The Test table contains sporadic data. and monthly average n Change the report properties to best display the monthly average Opening the Project and Confirming the Sporadic Data 1. under Columns. 2. 180 of 262 . On the Properties pane. The second column has the test date. It should be this: @Name( ). find the Subtotal field and select Average. double-click Test. @Change(@Month(Date))) 6.Oil. 8. The fourth column has the monthly average. Click Project Variables and then double-click Test. the condition is a new month which can be found with the @Change and @Month system functions. select the Blue_1:He_0 completion. under Columns.User Guides. @ClrTAve (Test.Oil. In this example. Test. On the list of project variables. Changing the Report Properties for Monthly Average 1. On the Properties pane. Check the report variables. It stops the average when it reaches a condition.Date. On the Navigation pane. Click OK to view the report.Date.Oil and then type a comma to mark a new column. OFM adds an empty row after each month to divide the report by month. which is in the Date field of the Test table. Tutorials. Test. OFM adds a subtotal for every month. showing the average for that month. and Examples 3. 4. which is in the Oil field of the Test table. @Change(@Month(Date))) 7. The third column has the monthly test volume for oil. Double-click the items in the System Functions and Project Variables lists to add this to the text box at the top: @ClrTAve (Test. The @ClrTAve system function gives the total average. Select the last column in the report (the column with the average). find the Break field and select Monthly. Then type a comma to mark a new column.Oil. 5. On the Home tab. Displaying the Water Cut Ranges on a Bubble Map 1. you display water cut development in discreet ranges.User Guides. Getting Started Open the Demo workspace. Animate the bubble map.Cut project variable to move it to the Selected variables list. Double-click the Water. 181 of 262 . and Examples Example: Controlling Bubble Map Display Using Data Ranges You can configure bubble maps to show specific attributes for ranges of values. as well as for individual values. You will: 1. 2.. In this example. The Create Bubble Map window opens.Sample Workspaces\Demo Workspace\demo. in the Launch analysis group. at . and then click Finish. The bubble map displays. You are ready to improve its appearance.. It is in the OFM installation folder. Create a bubble map to show the ranges. click Bubble. Tutorials.ofm. 2. 4999 7 0.0 50% . you can assign a color. size. On the Properties pane. 182 of 262 .75% 0.0 1 0. The colors on the bubble map represent the water cut range for a given date. change Vary Size to No. 4.100% Keep Percent of Width and Show Lookup Legend selected. and Examples 3. On this window. >= < Clr (Color) Size Label 0. Click OK.User Guides. click Edit Lookup. Make the following selections: 7. Tutorials. in the Attributes section.5 0.0 75% . under Data. and label for the four ranges. Change Lookup Color to Yes.50% 0.0999 3 0. On the Edit Lookup field. 6.0 0% .7499 4 0. The Bubble Lookup window opens.0 0. 5.1 0.9% 0.75 1.0 10% . Tutorials. The animation automatically runs. On the Format tab. to show every 12 months. 4. Change the Pause to 5 to make the changes appear slightly slower than the default. 2. Click OK. 3. 183 of 262 .User Guides. in the Animation Utilities group. Change the Step to 12. OFM detects the default Start and End dates based on the data in the project. and Examples Animating the Map to Show Changes over Time 1. click Animate Settings. Use these default dates. 5. and reviewing the log data you will import from the . n Create a log and a definition file with the LAS to OFM tool.las. Tutorials. c. The first one is Acoustic. Getting Started 1. d. In Notepad. and the last one is TPhi. The Trust Center window opens. View the log data in the .OfmPlus\Samples\Sample. The LAS to OFM tool converts the file for you. In Excel. open the copy of the sample..US/F 00 000 00 00: 2 SONIC TRAVEL TIME 184 of 262 . reviewing the log data in the Demo database.Sample Workspaces\Demo Workspace\demo. It is in the OFM installation folder. Click Logs.. 5. n View the imported log data in a single well log display. The Excel file that changes your .las) file with log data. c.las file. click Trust Center Settings. at . 2. You must have macros enabled in Microsoft Excel: a. Note that the Logs window lists 16 traces.log file into your OFM project. It is in the OFM installation folder. Review the log data in the Demo project: a.. Click OK to close the window. b. setting Microsoft Excel to run macros. 3.las file that you will import into the OFM project: a. click OFM-Defined.F 00 000 00 00: 1 DEPTH CURVE DT. in the Tables group. by making a copy of a sample . at .las file.. b. On the Setup tab.Las Log Data If you have a log ASCII standard (. Open the Demo workspace. Note the ~C section: ~C DEPT. and Examples Example: Using . In this example. n Load the files into the Demo workspace. you can convert it to a .las file. In the Macro Settings section. Make a copy of the sample . 4.User Guides. In the Trust Center section.log file and then import the . b.las file to a . you will: n Get started.las file. click the Office button in the upper-left corner and then click Excel Options.log file uses a macro.ofm. select Enable all macros and then click OK. G/C3 42 350 02 00: 3 DENSITY-BULK DENSITY NPHI. PEF. and FPHI. When you type y. Close the . Select the Sample. Creating Log and Definition Files with the Tool 1. In the Input window. Tutorials. 5.log 7. You type y (yes) if the . and Examples RHOB. Save the file to your computer with this name: LAStoLOG. 3. In the Input window. enter the Wellbore ID you will use and then click OK: Red_9 6.IN 42 280 01 00: 11 CALIPER DRHO. enter the version of Excel that you are using and then click OK. 4. c.las file you copied. ILM. type y and then click OK. EATT.as) to OilField Manager log format (*. at . RXO.log) button.OfmPlus\LAS to OFM. RHOB. the LAS to OFM tool creates a definition (. Save the file to your computer with this name: LAStoLOG.G/C3 42 356 01 00: 12 DELTA-RHO EATT. The demo project already has SFLU. and GR.OHMM 07 120 44 00: 7 RESISTIVITY -MEDIUM ILD.xls. Open the LAS to OFM file. In the Input window.GAPI 42 310 01 00: 10 GAMMA RAY CALI. NPHI.MV 07 010 01 00: 9 SPON.def 185 of 262 . SP.OHMM 07 222 01 00: 6 ILM. TPL.User Guides..V/V 00 000 00 00: 16 POROSITY -NML FFI The log traces you will import into the OFM project are DT.OHMM 07 220 01 00: 5 RESISTIVITY -RXO SFLU.. DRHO. POTENTIAL RESISTIVITY -SHALLOW GR.V/V 42 890 00 00: 4 POROSITY -NEUTRON RXO. ILD. 2.B/E 42 358 01 00: 15 PHOTOELECTRIC FACTOR FPHI.las file. CALI.OHMM 07 120 46 00: 8 RESISTIVITY -DEEP SP.las file has traces in it that are not currently defined in the project. Click the Click to convert LAS log format (*.def) file based on the converted curves that you load into the project.NS/M 00 000 00 00: 14 TP -EPT PEF.DB/M 00 000 00 00: 13 EPT ATTENUATION TPL. 8. 2. 5. in the Import/Export group. 6. click Well Log. Return to the Demo project in OFM. 8. Click Load. The Log Trace Attributes window opens. 6. By default. A blank log template for your single well log display opens. 4. Double-click the top Trace Name for the left track. A depth track (which shows the depth scale in the units of measurement for the workspace) separates the two tracks. To the left of the trace name is the minimum trace value. Make these selections and then click OK: n Log: RHOB n Color: Red 7. The trace name displays at the top of each track. in the Tables group. Click OK to close the window. Click OK. each track can hold two traces. Note that the Logs window now lists 27 traces. On the Set Depth Range window. Click Logs. On the Setup tab.User Guides. 3. Double-click the LAStoLOG. To the right of the trace name is the maximum trace value. select the Red_9 wellbore. On the Home tab. Double-click the bottom Trace Name for the left track. Tutorials. which you add to the tracks. click Import > Data Loader. 3. and Examples Loading the Log and Definition Files into the OFM Project 1. 7. 186 of 262 .log files to move them to the Files to Load section. On the Navigation pane. accept the default range. 2. Make these selections and then click OK: n Log: ILM n Color: Green 5. click OFM-Defined. They start with DT and end with FPHI. On the Setup tab. Viewing the Log Data in a Single Well Log Display 1. 4. The template has two tracks. The imported traces are listed after TPhi. in the Launch analysis group. Click OK to close the OFM Defined Table Manager.def and LAStoLOG. select inch and then enter 2000. on the Format tab. In the Legend section. 4. 5. and residual oil saturation (SO). porosity (PHI). Expand the WIN table. Create a bubble map to show drainage radius. Note that the table has a field for water injection (WINJ). expand the RESPROP table. Setting the Map Scale This example will show the drainage radius in feet. b. The Edit Schema Tables window opens. and Examples Example: Estimating and Displaying Drainage Radius In this example. 2. Create a calculated variable to find the drainage radius. The Map Scale window opens. you will create a bubble map in which the bubble size is scaled to indicate the drainage radius of the well. select English and then select ft for the Display unit. 1. click Scale. Set the map scale. and water injection data in the WIN table. On the Setup tab. With the base map open. 187 of 262 . at . Tutorials. Confirm this: a. It is in the OFM installation folder. click Schema.ofm. d. and overlay the bubbles onto it. Getting Started 1. e. 3. so change the map scale to show 2000 feet as one inch.. In the Scale section. f. Clone the bubble map as a grid map. 2. Note that the table has fields for net pay (NET_PAY). Click OK to close the window. in the Tables group. 3. 2. in the Edit group. c. 4. On the OFM Representation pane. This project has data for the reservoir in the RESPROP table. Click OK..Sample Workspaces\Pilot Waterflood Sample\Pilot Waterflood BField. Add map annotations to show channel sand and zero pay contours. Open the Bfield sample workspace.User Guides. You will: 1. 6. Click Add Calculated Variable. 3.1 n A constant for water formation volume factor (Bw): 1. Tutorials.615) / (Resprop. You will use a simple expression for original oil in place (OOIP) calculation.615 to convert cubic feet to barrels n The porosity data in the PHI field of the RESPROP table n The net pay data in the NET_PAY field of the RESPROP table n The residual oil saturation data in the SO field of the RESPROP table n A constant for water saturation (Sw): 0. with the list of variables filtered to show only calculated variables. The equation is @CumInput(Win. The Variable Editor opens.Oil). solved for drainage radius in feet. 4.Winj).002) * 5. You will use two calculated variables that already exist in the project. 8. The Edit Calculated Variable window opens. Click OK. you will use: n The @Sqrt system function. On the Setup tab.Cum * 1. This calculated variable finds the running sum of water injection. By default. which returns the square root n The existing Oil.14159 * (1 .So .Net_pay * 3. To do this. 188 of 262 . Double-click the Name column to sort the list alphabetically by name.Resprop. and Examples Estimating Drainage Radius 1.Cum calculated variable and view the Equation.0. and click Units to show the unit columns. OFM names it NewItem. click Define to hide the definition columns. Find the Oil. This calculated variable uses the @CumInput system function to find a running sum of oil production.Phi * Resprop.002 n A conversion factor of 5. Any of the constants can be replaced with project variables. click Calculated Variable Editor.22))) 7. At the top of the window. in the Variable Managers group.Cum * 1.User Guides. The equation is @CumInput(Prd.22 This example uses a number of constants.1 + Water.Cum and Water. 5. Find the Water. Double-click the items in the System Functions and Project Variables lists to add this to the text box at the top of the window: @Sqrt(((Oil.Cum calculated variables n A constant for oil formation volume factor (Bo): 1. Type this new name for the calculated variable and then press Enter: DrainageRadius 9. The new variable displays in the list of variables.Cum calculated variable and view the Equation. 2. Click OK to save the calculated variable and close the window. The Create Bubble Map window opens. 2. 3. On the list of Project variables. double-click the DrainageRadius calculated variable to move it to the Selected variables list. 4. Tutorials. and Examples 10. Rename the analysis: a. Click Finish. Change the plot size: 189 of 262 .User Guides. In the Units column for the DrainageRadius calculated variable. click Bubble. right-click Bubble Map1 and then click Rename. On the Analysis pane. b. 11. On the Home tab. Type this for the new name and then press Enter: Drainage Radius Bubble Map 5. Creating the Bubble Map 1. in the Launch analysis group. select ft ==> m. and note that the Data Range Maximum is 948. 190 of 262 .760986. b. c. to match the map units. Change the colors: a. and Examples a. and the radius is scaled to the size of the drainage radius. 6. On the Properties pane. b. c. Change the Spectrum to Green-Blue.760986. change the Plot Size Units to Map Units. under Properties. Change the number of Colors to 9. View the Properties pane. under Properties. The bubbles on the map are scaled to map units. This value is used to scale the bubble map to the maximum drainage radius. Change the Plot Size Maximum to 948. Tutorials. change the Color Scale Style to Value Range. On the Properties pane.User Guides. under Data. The Map Annotations window opens. With the base map open. Click Load. click Annotations. The OFM Data Loader opens. 3. at . Double-click each of the five annotation (. On the Format tab.Sample Workspaces\Pilot Waterflood Sample\Text Load Files\Anno. 4. 191 of 262 . and Examples Adding Annotations to Show Channel Sand and Zero Pay Contours 1. They are in the OFM installation folder..ano) files in this folder to add them to the Files list. Return to the Drainage Radius Bubble Map. The annotations display on the bubble map. 5. 2. in the Display group. in the Display group. select the Annotations check box..User Guides. This project comes with several annotation files. 6. on the Format tab. Click OK. Tutorials. Type this for the new name and then press Enter: Drainage Radius Grid Map 4. Click around the dotted line to create the grid area. and Examples Overlaying the Bubble Map onto a Grid Map 1. b. click Create Overlay Bubble. On the Format tab. 192 of 262 . When you are finished. The area outside the grid area becomes white. 3. The bubbles from the bubble map overlay on the new grid map. in the Grid Area Utilities group. 2. click Add. 5.User Guides. On the Format tab. On the Analysis pane. One of the map annotations you added shows a dotted line. right-click Drainage Radius Bubble Map and then click Clone Map As > Grid Map. Right-click Grid Map1 and then click Rename. in the Utilities group. Tutorials. right-click and then click Done. which marks oil/water contact. Use the dotted line as a guide to indicate no-flow boundaries: a. User Guides. Tutorials. and Examples 193 of 262 . Open the compressed (. & Geothermal maps page at http://conservation. The Map Layers window opens. 194 of 262 . Move the Transparency toggle to the right to increase the transparency. The top layer is the geothermal wells layer. in the Layers group. Tutorials. add the shapefile as a layer on the GIS map: a. click Add Layer > Open Shape File. Improve visibility: a. you will add a shapefile to the GIS map that shows geothermal wells in California. In OFM. and Examples Example: Adding a Shapefile for California's Geothermal Wells In this example. With the GIS map open. The California Department of Conservation provides the shapefile. you will change the color of the symbols.aspx.User Guides. After you add the shapefile. 2. d. on the Format tab. click Edit Layers. Gas. On the Format tab. 3. The new layer has the same name as the shapefile. It marks geothermal wells in California with circles.gov/dog/maps/Pages/goto_wellloc_geotherm. b. Click OK to save your changes and close the window. c. Click Shapefile. in the Layers group. The left pane lists the layers on the GIS map. c. b. you can change the transparency and color of the dots that mark the geothermal wells. 1. It is selected.zip) file and save all the files in it to your computer. OFM adds the shapefile as one layer on the GIS map. so the properties for the layer display on the right. b. For this shapefile.ca. Go to the Oil. Download the shapefile from the Internet: a. Select the shapefile and then click Open. Select a new symbol Color. On the row for Region Boundaries. 1. select a new type of information to display. In the Fields field. d. select the Map Tip check box to display them.User Guides. The left pane lists the layers on the GIS map. The shapefile marks the entire area with one color. b.cr. b. The shapefile shows region boundaries for US national oil and gas assessment performed by the US Geological Survey.zip) file and save all the files in it to your computer. this layer also has labels. Tutorials. Go to the page for GIS data of the US national oil and gas assessment at http://energy. click the Download link in the Shapefile column. c. change the Outline color. g.shp. e. The regional boundaries display in the United States. In OFM. With the GIS map open. Under Label. click Edit Layers. OFM adds the shapefile as one layer on the GIS map. On the Format tab. Change the label Color. 2. The new layer has the same name as the shapefile. on the Format tab. click Add Layer > Open Shape File. f. Under Layer. Download the shapefile from the Internet: a. c.usgs. Font. b. The Map Layers window opens. and Size to improve visibility of the labels. you can change the information displayed in the labels. in the Layers group. Click OK to save your changes and close the window. and separates the regions with a line that is a different color. so the properties for the layer display on the right. add the shapefile as a layer on the GIS map: a. Under Symbol. In this layer.gov/oilgas/noga/data. The label is showing the area of each region. you will add a shapefile that has many more properties than the one displaying geothermal wells. select the Label check box to display them.html. Open the compressed (. 195 of 262 . In addition to the map tips. Select the shapefile and then click Open. and Examples Example: Adding a Shapefile for the Region Boundaries of US Oil/Gas Assessment In this example. 3. The top layer is usregg. It is selected. in the Layers group. Improve visibility: a. The shapefile has map tips. and detailed topological features from the US Geological Survey to the United States part of the GIS map. Select Define. Click OK. b.S. e. This name displays on the Map Layers window. and are part of the East White Lake oil and gas field.ofm project for this example. 1. With the GIS map open: On the Format tab. in the Layers group. Tutorials. b. d. copy the URL to your clipboard. Click OK to save your changes and close the window. If you are using the demo. On the Format tab. OFM immediately applies the connection to the GIS map as the top layer. 2.com/home/item. you can move the Wells layer to be above the USGS Survey layer. Go to the USA Topographic Maps at http://www. 196 of 262 . click Zoom to Fit. click Edit Layers. find the URL for the ArcGIS connection: a. f. c. Improve visibility: a.html?id=99cd5fbd98934028802b4f797c4b1732. On that page.arcgis. in the Zoom group. and OFM shows the full GIS map. In the Url field. In the Name field. in the REST URL for ArcGIS Web APIs section. you can see the field details below the completions. add the ArcGIS connection: a. and Examples Example: Connecting to an ArcGIS Map to Add U. enter a name for the connection. click Add Layer > Open Map Server. paste the link that you copied from the website. you add land cover imagery to the entire GIS map. On the Internet. b. View the ArcGIS tab. The left pane lists the layers on the GIS map. USGS Survey is the top layer. To see the wells (which are on the Wells layer).User Guides. and zoom to the completions. in the Layers group. You then move the wells above that layer. Topological Features In this example. You can see that the completions are off Schooner Bayou Canal near Little Bear Lake. c. The Map Layers window opens. 3. On the Format tab. Right-click the Wells layer and then click Raise layer to top. For this example. d. enter USGS Survey. In OFM. b. d. On the Format tab. c. This name displays on the Map Layers window. 1. in the Layers group. On the left. drag a very small square around your city. click Edit Layers. In the Url field. and landmarks on the GIS map. click Add Layer > Open Map Server. under Layer. f. railroads. OFM immediately applies the connection to the GIS map as the top layer. d. copy the URL to your clipboard. enter a name for the connection.com/home/item. c. View the ArcGIS tab. In the Name field. add the ArcGIS connection: a.User Guides. You then zoom in to see the details of your city. you add streets. paste the link that you copied from the website. World Streets is the top layer. enter World Streets. find the URL for the ArcGIS connection: a. On the GIS map. For this example. 3. select World Streets.html?id=3b93337983e9436f8db950e38a8629af b. b. move the Transparency toggle to the right to increase the transparency of the World Streets layer. On the Format tab. for many places worldwide. and OFM shows the full GIS map. Tutorials. and Examples Example: Connecting to an ArcGIS Map to Add Streets and Railroads In this example. and change the transparency of the new layer to see the features of the basemap under it. In OFM. The Map Layers window opens. Select Define. e. f. Click OK. in the Layers group.arcgis. Go to the World Street Map at http://www. The left pane lists the layers on the GIS map. e. The GIS map changes the transparency as you move the toggle. parks. On the right. Click OK to save your changes and close the window. click Zoom Area. in the Zoom group. On the Internet. Improve visibility: a. With the GIS map open: On the Format tab. in the REST URL for ArcGIS Web APIs section. 197 of 262 . On that page. 2. In general. reports. which then becomes the input to the system function n Another variable The result of the argument must be of the same data type that the system function requires. you can use any project source for the arguments. if a system function requires a numeric argument. and may or may not be optional. OFM has more than 200 system functions. You provide the data with arguments—a commaseparated list of the parameters that the system function requires. expressions.User Guides. Other functions can be applied to any expression. You can call a system function and provide parameters. The standard operations perform calculations. Note that specifying the condition to be simply 1 is equivalent to not constraining the result. Functions Listed Alphabetically A @Abs (Absolute Value) @AbsDev (Absolute Deviation) @AddDate (Add Date) 198 of 262 . These allow the result to be controlled by a specific set of circumstances. queries. n Many functions have optional arguments. n Dates used as arguments in system functions must evaluate to the OFM standard format for dates (YYYYMMDD). and Examples Overview of System Functions System functions are sets of instructions already coded in OFM for you to perform standard operations. As long as you follow this rule. and headers. A condition expression must always equate to 1 (=True) or 0 (=False). For example. the following statements apply: n System functions are identified by the @ character prefix. You can use system functions with calculated variables. retrieve information from the database. and values. These are enclosed in square brackets ( [] ). and perform formatting functions. Many require data to generate a result. Each system function has specific name and syntax requirements. conditions. or "Case1" n A date n A string of text n An expression which evaluates to a result. such as 3000. Tutorials. user functions. An argument may be: n A specific value. n Some arguments are labeled "condition". n Some functions apply only to input (table) variables. then the parameters you enter must be (or must evaluate to) a number. User Guides. Tutorials. When Condition is True) @CategoryName (Currently Selected Category) @CDataIndex (Conditional Data Index) @CDataValue (Conditional Data Value) @Ceil (Ceiling Value) @Cf (Formation Compressibility) @CFirst (Conditional First) @CFirstStr (Conditional First String) @Change (Changed from Previous Value) @CLast (Conditional Last Value) @CLastStr (Conditional Last String) @CloseFile (Close a Text File) @ClrRSum (Clear Running Sum) 199 of 262 . and Examples @AddDays (Add Days) @AddMonths (Add Months) @AddYears (Add Years) @Alloc (Well Allocation Factor) @Annually (Annually) @AppendFile (Append Data from File) @Area (Area Under a Curve) @ARec (Absolute Value for a Record) @AsktoStore (Prompt for Values to Store in Memory Registers) @AtD (Alpha to Date) @AtoN (Convert an Alpha Character String to a Number) @AveInput (Average Value of Input Variable) B @BesselJ1 (Bessel Function First Order) @BesselJ2 (Bessel Function Second Order) @Between (Between Values) @BHP (Bottomhole Pressure) @Blank (Blank Space) C @CAbsDev (Conditional Absolute Deviation) @CArea (Area Under a Curve. and Examples @ClrTAve (Clear Total Average) @ClrTSum (Clear Total Sum) @CmpStr (Compare Strings Alphabetically) @CMvAve (Conditional Moving Average) @CorrelationCoeff (Correlation Coefficient) @Cos (Cosine) @Count (Count Contributing Categories) @CountInput (Number of Entries) @CRAve (Conditional Running Average) @CRSum (Conditional Running Sum) @CStdDev (Conditional Standard Deviation) @CTAve (Conditional Total Average) @CTSum (Conditional Total Sum) @CumInput (Cumulative Input) @CVariance (Conditional Variance) D @Daily (Daily) @DataCount (Number of Rows in Report) @DataIndex (Data Index) @DataIndexRange (Data Index Range) @DataInterpolator (Interpolate Value) @Date (Date) @DateCmp (Date Compare) @DateRange (Date Range) @Day (Day) @DayName (Name of Day) @DayofWeek (Day of Week) @DBDate (Table Date) @DBExecute (Run SQL Statement Against OFM Database) @DCACalc (Saved Forecast Ratio) @DCACaseComment (DCA Case Comment) @DCACaseInitials (DCA Case Initials) @DCACaseName (DCA Case Name) 200 of 262 . Tutorials.User Guides. Tutorials.User Guides. and Examples @DcaCum (DCA Forecasted Cumulative Production) @DCAReserveType (DCA Reserve Type) @DcaResults (DCA Results) @dForecast (Daily Forecasted Rates) @Diff (Difference) @Discount (Monthly Discount Factor) @Distance (Distance Between) @Dom (Days of Month) @DRecCount (Daily Record Count) @DtoN (Date to Numeric) @DualKeyCount (Number of Primary Keys) @DualKeySelect (List of Primary Keys) @DualKeyValue (Value of Primary Keys) E @ElapsedDays (Elapsed Days) @ElapsedMonths (Elapsed Months) @EquationGraphLine (Equation of a Locked Line) @EvalGraphLine (Evaluate Graph Line) @Exp (Exponential) F @FileExist (If File Exists) @FindStr (Find Sub-String of a String) @First (First Record Value of an Expression) @FirstStr (First Value of a String) @Fit (Fit) @FitEq (Fit Equation) @FitR2 (Correlation Coefficient for Polynomial) @Floor (Floor Value) @FmtDate (Format Date) @FmtName (Format Name) @Forecast (Monthly Forecasted Rates) @FromFile (Value from External File) G 201 of 262 . Tutorials.User Guides. and Examples @GetDataIndex (Find Current Record Index) @GroupData (Grouped Data for Entity) H @Hour (Hour) I @If (If) @IfStr (If String) @Image (Display Image or Image File Name) @IndexOfDate (Index of Date) @InStr (In String) @Interpolate (Interpolate Across Data Gaps) @Interval (Log Interval Name) J @Julian (Julian Date) L @Last (Last Record Value of an Expression) @LastStr (Last Record Value of a String) @Launch (Start New Program) @Length (Horizontal Length) @LenStr (Number of Characters in String) @LineCount (Count Lines in Report) @Ln (Natural Logarithm) @LoadName (Composite Name of Loaded Data) @Log (Logarithm of a Value) @Lookup (Lookup) M @Marker (Marker Name) @Markerdepth (Marker Depth) @Max (Largest of Two Numbers) @MdfromTvd (Measured from True Vertical Depth) @Metric (Metric) @Min (Smallest of Two Numbers) @Minute (Minute) 202 of 262 . User Guides. Tutorials. and Examples @Mod (Modulus Division) @Month (Month) @Monthly (Monthly) @MonthName (Month Name) @MrecCount (Monthly Record Count) @MvAve (Moving Average) N @Name (Name of Loaded Data Without Prefix) @Next (Value of Expression for Next Record) @NoKeys (Number of Completions in Project) @NtoA (Numeric to Alpha) @Null (Null) @NZ (Null to Zero) O @OpenFile (Open Text File) P @PatCurSet (Current Pattern Set) @PatDate (Pattern Date) @PatFact (Pattern Well Allocation Factor) @PatLFct (Pattern Loss Factor) @PatLoss (Pattern Loss) @PatName (Pattern Name) @PatSets (Pattern Sets) @PatWell (PatternWell) @PctChange (Percentage Change) @phi (Porosity from Log Trace) @PlotFile (Load Graph File) @PlotFromFile (Plot Data at Keyname in External File) @PlotHeaderFile (Load Plot Header File) @Pow (Base Value Raised to the Power) @PfromPoZ (Pressure From a P/Z Value) @Previous (Value of Expression for Previous Record) @PrintError (Display Custom Error Message) 203 of 262 . and Examples @PrintStatus (Display Custom Status Bar Message) @ProjectFilterName (Project Filter Name) @ProjectPath (OFM Project Path) @PvtBg (Gas Formation Volume Factor at a Pressure) @PvtBo (Oil Formation Volume Factor) @PvtBt (Total Formation Volume Factor at a Pressure) @PvtBw (Water Formation Volume Factor at a Pressure) @PvtCg (Gas Compressibility at a Pressure) @PvtCo (Oil Compressibility at a Pressure) @PvtCw (Water Compressibility at a Pressure) @PvtFile (Load a PVT File) @PvtGORStk (Stock Tank GOR) @PvtPb (Calculate Bubblepoint Pressure) @PvtPc (Critical Pressure of Gas) @PvtRsb (Calculate the Solution Gas-Oil Ratio at a Pressure) @PvtRsw (Calculate the Solution Gas-Water Ratio at a Pressure) @PVTSetAPI (Override API Gravity Value) @PVTSetPB (Override Bubblepoint Pressure) @PvtSetPC (Override Critical Pressure Value) @PVTSetRS (Override Bubblepoint Solution-Gas Ratio) @PvtSetSg (Override Gas Specific Gravity) @PvtSetT (Override Reservoir Temperature) @PvtSetTc (Override Critical Temperature Value) @PvtTc (Critical Temperature of Gas Component) @PvtVg (Gas Viscosity at a Pressure) @PvtVo (Oil Viscosity at a Pressure) @PvtVw (Water Viscosity at a Pressure) @PvtWrho (Water Density at a Pressure) @PvtZ (Gas Z-Factor at a Pressure) Q @Quarterly (Quarterly) R @Radian (Radian Value of an Angle) 204 of 262 .User Guides. Tutorials. and Examples @Random (Random Number) @RAve (Running Average) @Recall (Find Value from Memory Location) @RecallStr (Find Alpha Value String by ID) @RecCount (Record Count) @Reg (Value in a Data Register) @ResetSums (Clear Internal Sums) @ReverseOrder (Print Report in Reverse Order) @Root (Root of User Function) @RowAverage (Row Average) @RowSum (Row Sum) @RRec (Relative Record) @RSum (Running Sum) @Rw (Water Resistivity Calculation) S @Second (Second) @SemiAnnually (Semi-Annually) @Series (Series of Numbers) @SetDataIndex (Set Current Record Index) @Sin (Sine of an Angle) @SlopeGraphLine (Slope of a Locked Line) @Sqrt (Square Root) @StdDev (Standard Deviation) @Step (Return Last Value if Condition is True) @Store (Store Value in Memory Location) @SubStr (Sub-String) @Sw (Water Saturation Calculation) @SwTdt (Water Saturation Calculation from Thermal Decay Time) T @Tab (Insert Tabs) @TAve (Total Average) @Time (Operating System Time) @TMax (Total Maximum Value) 205 of 262 . Tutorials.User Guides. User Guides. Tutorials. and Examples @TMin (Total Minimum Value) @Today (Current Date) @TraceAt (Trace for Date) @TraceDate (Date at Trace Position) @TraceDates (Number of Dates for Recorded Log Traces) @TrendChecker (Check Trend) @TSum (Total Sum) @TVD (True Vertical Depth) U @Underscore (Replace Spaces with Underscores) @UTMX (UTM X-Coordinate) @UTMY (UTM Y-Coordinate) V @ValueAt (Value of Expression on a Date) @ValueAtStr (String Value on a Date) @Variance (Variance) @vshale (Volume of Shale) W @Wd (Dimensionless Water Influx) @Weekly (Date at End of the Week) @WeekofYear (Week of the Year) @Welltype (Replace Short Welltype Name with Full Name) @WriteFile (Write Line to Opened Text File) @WriteFileBreak (Insert Line Break) @WriteFileFmt (Write Text to User Function in C Syntax) X @XGraphTrace (X-Axis Value of a Trace Point) @XRefAlpha (Cross-Reference String) @XRefValue (Cross-Reference Value) Y @Year (Year for Date) @YGraphTrace (Y-Axis Value of a Trace Point) @YoGraphLine (Y-Intersect of a Locked Line) 206 of 262 . User Guides. and Examples @YYMM (Date in YYMM Format) 207 of 262 . Tutorials. User Guides. and Examples @Abs (Absolute Value) System Function Description This system function returns the absolute value of an expression. Tutorials. the function returns 9500: @Abs (-9500) 208 of 262 . Syntax @Abs (value) Where Argument Type Required Description value Numeric Yes Data stream Example In this example. and Examples @AddMonths (Add Months) System Function Description This system function increments the date by the number of months defined.User Guides. Syntax @AddMonths(Date. April 15. for a date in the future or the past. negative to subtract months). In this case. Tutorials. 3. at 12:00:00. 1) Related Examples Creating an After-Before-Compare (ABC) Plot: Creating a Report Showing the Oil Rate on the Last Day and Three Months Previous 209 of 262 . is 20080415: @AddMonths (20080101. NumberOfMonths) Where Argument Type Required Description Date Date Date Yes Note: OFM requires dates to be entered in YYYYMMDD format. Number of months to add or NumberOfMonths Numeric Yes subtract from the date (positive to add months. 2008. Example The return is represented as a number. User Guides, Tutorials, and Examples @Area (Area Under a Curve) System Function Description This system function finds the area under a curve using trapezoidal approximation. Note: This function uses X- and Y-axes. If the X-axis is a date, use the @Julian (Julian Date) system function to make it linear. Syntax @Area (X-axis, Y-axis) Where Argument Type Required Description X-axis Numeric Yes Independent axis Y-axis Numeric Yes Dependent or function axis Example In this example, the system function returns the value of the area under a curve of oil.cum versus pressure: @Area (oil.cum, pressure) 210 of 262 User Guides, Tutorials, and Examples @ARec (Absolute Value for a Record) System Function Description This system function gets the value of the input variable for a specified record row. Use this function with monthly and daily tables. Note: The @CDataIndex (Conditional Data Index) system function can be used to provide input to this function. Syntax @ARec (Variable, Index) Where Argument Type Variable Required Description Numeric Yes Table variable Row number in table for specified Index Numeric Yes entity Note: First row is index 0. Example 1 In this example, the sixth value associated with MonthlyProd.Oil is returned: @ARec (MonthlyProd.Oil, 5) Example 2 In this example, @CDataIndex is used to return the first value of monthly oil, subject to the condition that monthly water is non-zero: @ARec (MonthlyProd.Oil, @CDataIndex(MonthlyProd.Water > 0, 1)) Related Examples Finding the Average Production for N Months: Creating the User Function 211 of 262 User Guides, Tutorials, and Examples @CFirst (Conditional First) System Function Description When the specified condition is True (1), this system function finds the first occurrence of a numeric expression at the specified condition. Note: This system function requires a condition. The @First (First Record Value of an Expression) system function performs the same task, but the condition is optional. Syntax @CFirst (value, condition) Where Argument Type Example Required Description value Numeric Yes condition String Yes The parameter for which the first conditional entry is being requested Required condition, which must evaluate to True (1) or False (0) In this example, the function is when water production is greater than zero after December 15, 1990: @CFirst (Date, MonthlyProd.Water > 0) Related Examples Finding the Best Three Months of Production Drawing a Polynomial Curve on a Plot and Displaying Its Equation: Getting Started Related Topics Sample User Function: First Oil 212 of 262 User Guides, Tutorials, and Examples @Change (Changed from Previous Value) System Function Description This system function determines if the value of a numeric expression has changed from the previous value. It returns True (1) or False (0) when the test parameter has changed from its previous value. Use this function to create effective breaks in an OFM report. For instructions about creating and modifying reports, see "Creating Reports and Editing Report Variables." Syntax @Change (Value) Where Argument Type Value Example Required Description Numeric Yes Numeric expression to be evaluated In this example, the function returns True (1) when the"year" part of the date changes: @Change (@Year (Date)) Related Examples Finding the Monthly Average Value for Sporadic Data: Creating the Report 213 of 262 User Guides, Tutorials, and Examples @ClrTAve (Clear Total Average) System Function Description When a specified condition is True (1), this function computes an average of the specified numeric expression. The value is reset to zero by a condition. The function reports only on the date when the condition is satisfied (that is, before the average being zeroed). Syntax @ClrTAve (value, condition) Where Argument Type Required Description value Numeric Yes Expression to be averaged condition String Yes Condition to be satisfied Example In this example, the function returns the total average to date of monthly oil production. The calculation result is set to zero at the end of the year (that is, when the Year portion of the date changes). @ClrTAve (MonthlyProd.Oil, @year (date)) Related Examples Finding the Monthly Average Value for Sporadic Data: Creating the Report 214 of 262 and Examples @Dom (Days of Month) System Function Description This system function retrieves the number of days for a calendar month based on specified date. Example In this example. the function returns the value of 31 because there are 31 days in January: @Dom (19840101) Note: In this example. This function can be used to compute calendar day rates from monthly data. Tutorials. but does not affect the calculation. Syntax @Dom (Date) Where Argument Type Required Description Date Date Date Yes Note: OFM requires dates to be entered in YYYYMMDD format.User Guides. Related Examples Creating a Hall Plot Fitting a Polynomial Curve Through Plot Data and Displaying Its Equation: Getting Started 215 of 262 . the final last two numbers ("01") represents the first day of the month. the function returns the value of 31. the first date (Date1) should be the later date and the second date (Date2) should be the earlier date. Syntax @ElapsedDays (Date1. the number of elapsed days from 30 June to 31 July.User Guides. 19830630) Related Examples Creating a Chan Plot: Finding the Number of Elapsed Days 216 of 262 . Tutorials. @ElapsedDays (19830731. Note that to return a positive integer. Date2) Where Argument Type Required Description Date Date1 Date Yes Note: OFM requires dates to be entered in YYYYMMDD format. 1983. Date2 Example Date Yes Date In this example. and Examples @ElapsedDays (Elapsed Days) System Function Description This system function calculates the number of elapsed days from Date1 to Date2. 19840101) Related Examples Drawing a Polynomial Curve on a Plot and Displaying Its Equation: Getting Started 217 of 262 . the function returns the value of 12 (the number of elapsed months from January 1984 to January 1985). Date2 Example Date Yes Date In this example. and Examples @ElapsedMonths (Elapsed Months) System Function Description This system function calculates number of elapsed months from Date2 to Date1.User Guides. the first date (Date1) should be the later date and the second date (Date2) should be the earlier date. Date2) Where Argument Type Required Description Date Date1 Date Yes Note: OFM requires dates to be entered in YYYYMMDD format. Tutorials. @ElapsedMonths (19850101. Note that to return a positive integer. Syntax @ElapsedMonths (Date1. the function returns the value of monthly oil production when water is first greater than zero: @First (MonthlyProd. Tutorials.Oil. Syntax @First (value.Water > 0) Related Examples Creating a Chan Plot: Finding the Number of Elapsed Days 218 of 262 . condition) Where Argument Type Required Description value Numeric Yes Parameter to be returned condition String No Condition to be satisfied Example In this example. subject to an optional condition. Monthly Prod.User Guides. and Examples @First (First Record Value of an Expression) System Function Description This system function finds the first record value of a specified numeric expression. User Guides. where n should not exceed 12 option Several Yes n min val: If any resulting fitted value is less than val. n.oil>0. Prd. Syntax @Fit (value1. value3. any value evaluating as False will be excluded from the fit The X-axis parameter for the output fitted curve n Date: Use if the input X-axis parameter represents date n Xlog: Use if the curve is to be fitted to the logarithm of X n Ylog: Use if the curve is to be fitted to the logarithm of Y n deg: Order. value2. subject to the constraint that values below 500 are not reported: @fit(Date. option) Where Argument Type value1 Numeric or date Required Description Yes value2 Numeric value3 True/False Yes value4 Numeric or date Yes Yes The X-axis parameter for the dataset being fitted The Y-axis parameter for the dataset being fitted Condition. Date. and Examples @Fit (Fit) System Function Description This system function fits a polynomial of order n through the data. of fitted polynomial. using the least squares method. It can be used across tables and n can equal up to 12 degrees. value4. Tutorials. then function returns a Null n max val: If any resulting fitted value is greater than val. Exclude the point if abs (resulting data) > val.oil. "Date deg 4 min 500") 219 of 262 . then function returns a Null n opt: Finds the best value for n (between 1 and 12) n abs val: Fit the curve. then refit the curve Example In this example. the function returns an array of points evaluating the fourth degree polynomial fit to monthly oil production. Prd. and Examples Related Examples Calculating Pressure from P/Z and Production Data: Finding the P/Z Value Creating a Water Breakthrough Diagnostic (Chan) Plot: Fitting the WOR Derivative Creating a Water Breakthrough Diagnostic (Chan) Plot: Fitting the WOR Fitting a Polynomial Curve Through Plot Data and Displaying Its Equation: Fitting a Polynomial Curve 220 of 262 . Tutorials.User Guides. n options String Yes min va: If any resulting fitted value is less than val. n Ylog: Use if the curve is to be fitted to the logarithm of Y.User Guides. options) Where Argument Type value Required Description Numeric Yes The data (Y variable) which has been fitted using the @fit variable n Date: Use if the input X-axis parameter represents date. then function returns a Null. "date ylog deg 4") Related Examples Drawing a Polynomial Curve on a Plot and Displaying Its Equation: Fitting a Polynomial Curve 221 of 262 . n opt: Finds the best value for n (between 1 and 12). then refit the curve. a fourth-order polynomial fit to the log of MonthlyProd.Oil has been performed: @Fiteq (MonthlyPrd. of fitted polynomial. n Xlog: Use if the curve is to be fitted to the logarithm of X. and Examples @FitEq (Fit Equation) System Function Description This system function determines the equation of the current fitted polynomial. n. Example In this example. Exclude the point if abs (resulting data) > val. n abs val: Fit the curve. and returns the polynomial equation as a string.Oil. n deg: Order. n max va: If any resulting fitted value is greater than val. Syntax @FitEq (value. where n should not exceed 12. Tutorials. You must use the Y variable and the same options (in the same order) from the @Fit variable which you are now evaluating. then function returns a Null. and Examples @If (If) System Function Description If a specified condition is True (1). Value1. the @IfStr (If String) system function returns a number. the system function returns the value of Water. Related Examples Creating a Water Breakthrough Diagnostic (Chan) Plot: Finding the Water-Oil Ratio (WOR) 222 of 262 . It executes one of two expressions. Example In this example.Water 0. @If (MonthlyProd. Note: This system function returns a number.Cut when monthly liquid production (oil + water) is non-zero. the function returns Null. such as a further (nested) @if() statement. Tutorials. the function returns the third argument. such as a further (nested) @if() statement. depending on the result of a conditional text. Otherwise. Value to be returned if condition is false or equals 0 Value2 Numeric Yes Note: Value2 can be an expression. Otherwise. Syntax @If (Condition.User Guides. the function returns the second argument. This system function is used frequently in advanced applications. Value2) Where Argument Type Required Description Condition Yes String Expression to be evaluated Value to be returned if condition is true or equals 1 Value1 Numeric Yes Note: Value1 can be an expression.Oil + Monthlyprod. MonthlyProd. Syntax @Last (value.User Guides.Oil>0) Related Examples Creating an After-Before-Compare (ABC) Plot: Creating a Report Showing the Oil Rate on the Last Day and Three Months Previous 223 of 262 . condition) Where Argument Type Example Required Description value Numeric Yes Parameter to be returned condition String Condition that must be satisfied No In this example.Oil. Tutorials. subject to an optional condition. and Examples @Last (Last Record Value of an Expression) System Function Description This system function finds the last record value of a specified numeric expression. the function returns the last non-zero value of monthly oil production: @Last (MonthlyProd. specifies that the y axis scale is logarithmic. n xlog: For interpolation. input_value. and Examples @Lookup (Lookup) System Function Description This system function searches or interpolates the lookup table for a specific value of a specified variable. date. below Combinations of options are permitted. n lag: Performs Lagrange interpolation. Note: Interpolation requires that the range to be interpolated must be in strict ascending order. It offers a lookup capability. specifies that the x axis scale is logarithmic. Syntax @Lookup (output_variable. where applicable (for example. keyname. "date deg4 in" specifies a 4th order polynomial interpolation of time dependent lookup data. function returns the next value of output_variable. n linear: Performs linear interpolation between known values of data. n ylog: For interpolation. for the entity Sand1 at the corresponding date: @Lookup (cost. Tutorials. and allows for interpolation between recorded values. n date: Used when input_value refers to a date. n Example 1 in: Value must exist within range. the function returns the oil price from the Cost table. "deg3"). "sand1". prohibiting extrapolation outside the range of existing data). do not extrapolate. option) Where Argument Type output_ variable keyname input_ value option Options Required Description Numeric Yes Text Yes The result you wish to extract from the lookup table The entity for which your lookup table has been populated with data The value of the independent variable Numeric Yes for which you require the lookup result Text Yes See Options list.User Guides. function returns the previous value of output_variable. "Date") 224 of 262 . n deg: Specifies degree of the Lagrange polynomial (for example.oilprice. n step up: No interpolation. n step down: No interpolation. In this example. @Lookup (Fluid_Data. Note there is no time dependency for the lookup table data in this example. the function returns the formation volume factor (FVF) from the Fluid_Data table. for the Reservoir to which the currently loaded completion belongs. “Sc.Reservoir”.User Guides.Pressure. Tutorials.FVF. allowing linear interpolation at pressure values for which the fluid data does not exist in the table. Prd.Pressure. at a pressure value provided by Prd. “lin”) 225 of 262 . and Examples Example 2 In this example. Syntax @Month (Date) Where Argument Type Required Description Date Date Date Yes Note: OFM requires dates to be entered in YYYYMMDD format. Example In this example. Tutorials.User Guides. and Examples @Month (Month) System Function Description This system function retrieves the month number for a specified date. It returns a value between 1 and 12. the function returns 4 because April is the fourth month: @Month (19830409) Related Examples Finding the Monthly Average Value for Sporadic Data: Creating the Report 226 of 262 . Note: To return the name with the prefix. and Examples @Name (Name of Loaded Data Without Prefix) System Function Description This system function gets the name of the currently loaded entity. n If a Category (for example. use the @LoadName (Composite Name of Loaded Data) system function. It is useful in preparing header information on plots and reports. then the system function will return “X”. Related Examples Creating an After-Before-Compare (ABC) Plot: Creating a Report Showing the Monthly Oil Rate Finding the Monthly Average Value for Sporadic Data: Creating the Report 227 of 262 . Lease) is chosen from the Navigation pane. and the Lease named “Smith” is selected as the chosen entity. Tutorials.User Guides. then the system function will return “Smith”. Syntax @Name ( ) Where Argument Type Required Description None Example n If a completion X is the active entity. The null value displays as an asterisk (*) in reports. Gas / MonthlyProd.Oil = 0. Tutorials. Syntax @Null() Where Argument Type Required Description None Example In this example. Note: To convert null values to zero or another value you specify. and Examples @Null (Null) System Function Description This system function returns a null value. MonthlyProd. @Null().User Guides. use the @NZ (Null to Zero) system function. It will force a null result when a "divide by zero" error could have occurred: @If(MonthlyProd.Oil) Related Examples Creating a Water Breakthrough Diagnostic (Chan) Plot: Finding the Water-Oil Ratio (WOR) 228 of 262 . a calculated variable is created that returns a gas-oil ratio (GOR). The @Null system function is used to "trap" potential errors. and Examples @Previous (Value of Expression for Previous Record) System Function Description This system function finds the value of a numeric expression for the record before the current record. use the @Next (Value of Expression for Next Record) system function.Oil) Related Examples Creating a Chan Plot: Finding the WOR Derivative 229 of 262 . Tutorials.User Guides. It is applicable only for monthly and daily tables. Syntax @Previous (variable) Where Argument Type variable Example Required Description variable Yes The variable for which the previouslyavailable value is required In this example. the difference between the current month's oil production and the prior month's production can be found: MonthlyProd.Oil . Note: To find the value of a numeric expression for the next record.@Previous (MonthlyProd. Tutorials. Syntax @PvtBg (value) Where Argument Type Required Description value Numeric Yes Pressure value Example In this example.Pressure) 230 of 262 . and Examples @PvtBg (Gas Formation Volume Factor at a Pressure) System Function Description This system function calculates the gas formation volume factor at a specified pressure.User Guides. the system function returns a time-dependent gas formation volume factor based on time-dependent pressure data: @PvtBg(Prd. Tutorials. the system function returns a time-dependent oil formation volume factor based on time-dependent pressure data: @pvtBo(Prd.Pressure) Related Tutorials PVT: To Use PVT System Functions 231 of 262 .User Guides. Syntax @PvtBo (value) Where Argument Type Required Description value Numeric Yes Pressure value Example In this example. and Examples @PvtBo (Oil Formation Volume Factor) System Function Description This system function calculates the time-dependent oil formation volume factor at a specified time-dependent pressure. and Examples @PvtBw (Water Formation Volume Factor at a Pressure) System Function Description This system function calculates the time-dependent water formation volume factor at a specified time-dependent pressure. Tutorials.User Guides. Syntax @PvtBw (value) Where Argument Type Required Description value Numeric Yes Pressure value Example In this example. the system function returns a time-dependent water formation volume factor based on time-dependent pressure data: @pvtBw(Prd.Pressure) 232 of 262 . the system function returns time-dependent solution gas oil ratio based on time-dependent pressure data: @PvtRs (Prd. Syntax @PvtRs (value) Where Argument Type Required Description value Numeric Yes Pressure value Example In this example. Tutorials. and Examples @PvtRs (Calculate the Solution Gas-Oil Ratio at a Pressure) System Function Description This system function calculates the solution gas-oil ratio (GOR) at a specified pressure. based on the previously selected oil correlation.Pressure) 233 of 262 .User Guides. and the @MrecCount (Monthly Record Count) system function for the number of monthly records. Note: Use the @DRecCount (Daily Record Count) system function for daily tables. Syntax @RecCount ("tablename") Where Argument Type Required Description tablename String Yes Table to be evaluated Example In this example. Tutorials. and Examples @RecCount (Record Count) System Function Description This system function finds the number of records in a specified table.User Guides. the function returns the number of records in the Test table: @RecCount ("test") Related Examples Finding the Average Production for N Months: Creating the User Function 234 of 262 . Data Register 5 was previously created to store a variable (Y). "date linear") 235 of 262 . @Reg (5. Tutorials. value.User Guides. "option") Where Argument Type regn# Required Description Numeric Yes Data Register number (1-40) Variable representing the X value Numeric Yes parameter used when creating the Data Register n xlog: Performs lookup along X-axis n ylog: Performs lookup along Y-axis n linear: Performs linear interpolation n lag: Performs lookup Lagrange interpolation "option" String No n deg: Specifies degree of Lagrange polynomial n step up: Performs lookup returning upward value n step down: Performs lookup returning lower value n in: Value must exist within range. and Examples @Reg (Value in a Data Register) System Function Description This system function recalls a value (for a variable used to represent parameter Y) stored in the specified Data Register and interpolates missing values. The example will return the values of bottomhole pressure. Date. representing bottomhole pressure against Date (X). Syntax @Reg (regn#. Example In this example. Do not extrapolate. and linearly interpolate across missing values. the function returns the cumulative value of an expression given by a calculated variable: @RSum (CV. and Examples @RSum (Running Sum) System Function Description This system function calculates the running sum (cumulative) of a specified expression.Corrected_MonthlyProd_Oil) Related Examples Creating a Hall Plot 236 of 262 . including any prior cumulative. Note: You must use this system function for summing calculated variables. Tutorials.User Guides. Syntax @RSum (expression) Where Argument Type Required Description expression Numeric Yes Expression to be summed Example In this example. the function returns the value 7.User Guides. and Examples @Sqrt (Square Root) System Function Description This system function calculates the square root of a specified number. Tutorials. Syntax @Sqrt (value) Where Argument Type value Example Required Description Numeric Yes Number to be evaluated.746: @Sqrt (60) Related Examples Viewing the Drainage Radius: Finding the Drainage Radius 237 of 262 . which must be positive In this example. where a value remains constant over time until it is changed by a new data point. condition) Where Argument Type Required Description value Numeric Yes Variable to be stepped Example In this example.Oil > 1000) Related Examples Creating a Hall Plot 238 of 262 . It returns the last value in the expression when the condition is met. and Examples @Step (Return Last Value if Condition is True) System Function Description When a specified condition is True. MonthlyProd. This has the effect of creating a continuous stream of values. the function returns the step function when monthly oil production is greater than 1000: @Step (MonthlyProd. Syntax @Step (value. a stair-step function is created for a specified expression.User Guides. Tutorials.Oil. the function returns the monthly oil production maximum value when the monthly water production maximum value is also greater than zero: @TMax (MonthlyProd. Tutorials. Syntax @TMax (value.Oil. subject to a condition. MonthlyProd. Note: Condition = 1 will always evaluate as True.Water>0) Related Examples Finding the Best Three Months of Production 239 of 262 . condition) Where Argument Type Required Description value Numeric Yes condition True/False Yes Example Variable to be evaluated Criterion to be applied in evaluating the function In this example.User Guides. and Examples @TMax (Total Maximum Value) System Function Description This system function calculates the maximum value of a specified numeric expression for all record values. Note: To find the string value of an expression.User Guides. date) Where Argument Type Required Description expression Numeric Yes Parameter to be evaluated Date at which the value of expression is required date Date Yes Note: OFM requires dates to be entered in YYYYMMDD format. and Examples @ValueAt (Value of Expression on a Date) System Function Description This system function finds the value of a specific numeric expression at a specified date. the function returns the monthly oil production for August 31. Example In this example. 19810831) Related Examples Creating an After-Before-Compare (ABC) Plot: Creating a Report Showing the Oil Rate on the Last Day and Three Months Previous 240 of 262 .Oil. Syntax @ValueAt (expression. Tutorials. 1981: @ValueAt (MonthlyProd. use the @ValueAtStr (String Value on a Date) system function. . This folder.User Guides. Has workspaces used in. The sample workspaces are in the OFM installation directory. Tutorials. at ..Sample Workspaces. Inside that folder are 11 sub-folders.. and Examples Using the Sample Workspaces OFM has many sample workspaces you can use to learn OFM.. each with one or more workspaces.. 2 Keyed Demo Database Sample Workspace: Workspaces with Multiple Keys 3 Keyed Demo Database Sample Workspace: Workspaces with Multiple Keys Demo Workspace Tutorial: PVT Tutorial: Creating and Editing Plots Tutorial: Auditing Plots Tutorial: Bubble Map Tutorial: Grid Map Tutorial: Contour Map Tutorial: Scatter Plot Tutorial: Surface Map Tutorial: Map XY Plot Tutorial: Date-Based Report Tutorial: Summary Report Tutorial: Single Well Log Display Tutorial: Multi-Well Log Display Tutorial: Log Cross-Section Tutorial: Single Phase Analysis Tutorial: Ratio Analysis Tutorial: Wellbore Diagram Example: Adding New Well Symbols Example: Calculating Pressure from P/Z and Production Data Example: Displaying Formation or Reservoir Thickness and Structure Example: Fitting a Polynomial Curve Through Plot Data and Displaying Its Equation Example: Calculating Average Production for N Months Example: Finding the Best Three Months of Production Example: Finding the Monthly Average Value for Sporadic Data 241 of 262 .. and Examples Example: Controlling Bubble Map Display Using Data Ranges Example: Using . Tutorials.User Guides.Las Log Data Duson Gas Field Sample Tutorial: Pressure/Z-factor Analysis Illustrative Databases > CPS File Sample Workspace: CPS-3 Grid File Sample Illustrative Databases > Cross Sample Workspace: Cross Section Sections Illustrative Databases > Forecast Schedule Example Illustrative Databases > Multiply Sample Workspace: Multiply By Factor By Factor Illustrative Databases > Sample Workspace: Normalization Normalization Illustrative Databases > Stacked Sample Workspace: Stacked Plots Graphs Illustrative Databases > Well Deliverability Analysis Tutorial: Flow After Flow Test Tutorial: Well Deliverability Analysis Multiple Project Sample Sample Workspace: Multiple Projects PDS Example Sample Workspace: Foreign Keys PI Dwights Sample Files Sample Workspace: Defining a Workspace with PI/Dwights Production Files Pilot Waterflood Sample Tutorial: Patterns Example: Creating a Formation Damage Indicator Example: Creating a Water Breakthrough Diagnostic (Chan) Plot Example: Creating a Hall Plot Example: Creating an After-Before-Compare (ABC) Plot Example: Creating Plots for Waterflooding Surveillance Example: Estimating OOIP Using Grid Arithmetic Example: Estimating and Displaying Drainage Radius Provo Training Dataset Schlumberger's OFM training courses User Function Sample 242 of 262 . In the Key Delimiters section. e. View the Master tab. The Edit Schema Tables window opens. The Table Key(s) section lists three table keys. View the sample workspace with three keys: a. d. 1. open this workspace: . 243 of 262 . click Schema. There are two sample workspaces that show this: one with two keys. In the Key Delimiters section. the selected delimiters are colons (:). select the HEADERID table. e. In the OFM installation folder.. click Schema. Click OK to close the window.Sample Workspaces\2 Keyed Demo Database\2 Keyed Demo Database. On the Setup tab. open this workspace: . c. The Edit Schema Tables window opens. On the OFM Representation pane. select the HEADERID table. and one with three keys. the selected delimiter is a colon (:). 2. c. which is the master table. View the sample workspace with two keys: a.. in the Tables group. Tutorials.ofm b. d. On the OFM Representation pane.User Guides. In the OFM installation folder. View the Master tab..ofm b. On the Setup tab. which is the master table. in the Tables group. Click OK to close the window.. and Examples Sample Workspace: Workspaces with Multiple Keys Your workspace can have multiple keys.Sample Workspaces\3 Keyed Demo Database\3 Keyed Demo Database. The Table Key(s) section lists two table keys. The well ID numbers are used in the monthly production table. 2. in the Tables group. Notice that LeaseID is one field in the xy table. d. On the OFM Representation pane. The project also has a table for lease information. b. View the OFM Representation pane. The lease names in the tLease table are referenced with the lease ID numbers in the xy table. On the OFM Representation pane.User Guides.. Tutorials.. Foreign keys also can use fields that are not in the master table. On the Setup tab. expand the tWellProd table.ofm. Notice that the tLease table uses the LeaseID field in the xy table. The xy table identifies lease ID numbers. The tWellProd table identifies well ID numbers. Look at the fields in the tLease table. On the OFM Representation pane. 3. The OFM Definition section has the following selections: Key Type: Foreign 244 of 262 . View the tables in the workspace. at . Foreign keys can use fields in the master table. c. One sample workspace has many foreign keys for you to view. Notice that WellID is one field in the tWellProd table. The Edit Schema Tables window opens. expand tLease. and Examples Sample Workspace: Foreign Keys A foreign key is a table that allows you to cross reference from one table to another. Open the sample workspace. Notice that the tMonthlyProduction table uses the ProductionID field in the tWellProd table. On the On the OFM Representation pane. icon) is Lease Name. On the OFM Representation pane.Sample Workspaces\PDS Example\PDSExample. Look at the tLease table to see how this is done: a. b. c. 4. On the right.LeaseID e. 1. click the tLease table. Look at the tMonthlyProduction table to see how this is done: a. On the right. and notice that the master table (marked with the icon) is the xy table. view the Table tab. It is in the OFM installation folder. view the Table tab. click Schema. click the tMonthlyProduction table. The OFM Definition section has the following selections: Key Type: Foreign Foreign: xy. Two fields are listed under tLease: The primary key field (marked with the The second field (marked with the icon) is LeaseID. expand the xy table. 245 of 262 . On the OFM Representation pane.ProductionID d. icon) is ProductionID. expand tWellProd. Two fields are listed under tWellProd: The primary key field (marked with the The second field (marked with the icon) is WellID. and Examples Foreign: tWellProd. The monthly production values in the tMonthlyProduction table are referenced with the well ID numbers in the tWellProd table.User Guides. Look at the fields in the tWellProd table. Tutorials. Notice the values in the first row: Monthly gas production is 500. This project does not use the Multiply By Factor yet. On the Multiply By Factor tab.Sample Workspaces\Illustrative Databases\Multiply By Factor\Multiply By Factor.. On the Home tab.Water. 4.Gas. Remove the Multiply By Factor to see the original values in the report: 246 of 262 . 3.1 (the factor displayed in the Static_Factor Rate column). In the Select text box at the top of the window. Static_factor. for static and dynamic factors. at . b. d. Create a report that will show how the Multiply By Factor works with monthly data: a. Click OK to close the window and display the report. in the Launch analysis group. e. Tutorials. The Static and Dynamic selections become available.. and Examples Sample Workspace: Multiply By Factor The Multiply By Factor sample workspace shows the effect of using the Multiply By Factor with monthly and daily data. 2. Monthly_factor. Apply the Multiply By Factor to see the monthly data using a static factor: a. Monthly_prod. click Options. select Well_001. On the Workspace tab. Notice that the report displays data that has been multiplied by 0. Click OK to save your selections and close the window.Rate c. 1.User Guides. click Report. enter: Date. Monthly oil production is 1000. c. Open the Multiply By Factor sample workspace. Monthly_prod. The Edit Report window opens. Monthly_ prod.Oil.Rate. b. d. On the Navigation pane. Monthly gas production is 50. It is in the OFM installation folder.Rate.ofm. e. The Options window opens. Select Static and then select Static_factor. Monthly water production is 100. Monthly oil production is 100. Monthly water production is 1000. select Enable factor multiplication. enter: Date. Static_factor. right-click the report you created and then click Rename. d. and will create a daily report. On the Multiply By Factor tab. d. b. Daily water production is 30. which are the same in every row: Daily gas production is 20. click Report. Change the Multiply By Factor to see the monthly data using a dynamic factor: a. You now are finished with the monthly report. Monthly water production is 250. 247 of 262 . b. Type Monthly Report and then press Enter. d. Click OK.Oil. c. click Options. On the Home tab. 7. On row 37: Monthly gas production is 130. c. Daily_ prod. Notice the values in the report. Daily_factor. a. Tutorials. On the Multiply By Factor tab. Monthly oil production is 170. Daily_prod. On the Workspace tab. Monthly oil production is 850. d. e.Gas.Rate. Notice the values in row 37: Monthly gas production is 650. Click OK to close the window and display the report. 5. click Options. and Examples a. On the Workspace tab. On the Multiply By Factor tab. On the Workspace tab. Notice that the report displays data that OFM multiplied by the Monthly Factor Rate (displayed in the last column). b.Rate c.Rate. c. The Edit Report window opens.Water. Daily_prod. Close the monthly report. clear the Enable factor multiplication check box and then click OK. 6. click Options. Create a report that will show how the Multiply By Factor works with daily data: a. b.User Guides. in the Launch analysis group. clear the Enable factor multiplication check box. On the Analysis pane. select Dynamic and then select Monthly_Factor. Click OK to save your changes and close the window. In the Select text box at the top of the window. Monthly water production is 1250. Notice that OFM multiplied the values in the report by the daily factor rate (in the Daily_Factor Rate column). and Examples Daily oil production is 30. e. Click OK. Select Dynamic and then select Daily_factor.1 (the static factor rate). 8.Rate. Select the Enable factor multiplication check box.Rate. b. Daily water production is 3. On the Workspace tab. c. Daily gas production is 2. Change the Multiply By Factor to see the daily data using a dynamic factor: a. Notice that the report displays data that OFM multiplied by 0. Click OK. Select Static and then select Static_factor. b. Daily oil production is 3. Apply the Multiply By Factor to see the daily data using a static factor: a. On the Workspace tab. c.User Guides. d. click Options. 9. click Options. d. 248 of 262 . Tutorials. User Guides. and Examples Sample Workspace: CPS-3 Grid File You can import grid files from CPS-3 (Contour Plotting System) instead of computing the grids within OFM. Tutorials. It is with the sample workspaces. Example Grid Map Before Importing the CPS-3 File: 249 of 262 . The OFM installation folder has a sample CPS-3 file. . on the Format tab. click Open Analysis > Import CPS. Tutorials.grd. Navigate to the OFM installation folder and select .User Guides. Click Open. and Examples Example Grid Map After Importing the CPS-3 File: 1. 2. 3. in the Utilities group. With any grid map open. 250 of 262 ..Sample Workspaces\Illustrative Databases\CPS File Sample\CPS Sample. Measured Completion Depth (MD) True Vertical Interval Interval Interval Interval Reference Depth A.Sample Workspaces\Illustrative Databases\Cross Sections\Cross Section Illustration . 251 of 262 . the bottom set are open. If you opened the Metric project. The workspaces are identical.English. The upper set of perfs are abandoned. markers. click Options. b. Tutorials. the intervals will still be the same length.ofm. if you opened the English project the Use Metric Units check box is cleared. surveys. but they will be at different subsea depths.) 5. except the data for reference depth. Note that there are three completions (1.Metric. the check box is selected. change Show True Vertical Depth to No. When you do this. and Log Report to view actual values.User Guides. 4. and wellbore diagram equipment are in feet in the English (Imperial) workspace. and Examples Sample Workspace: Cross Section There are two sample workspaces that show cross sections. on the Property pane change Depth Correction to Sub Sea. Top A. To display it in TVD. you can select which Stratigraphic Marker to view. all the intervals and wells are the same length. Open the English or metric sample workspace. To display at subsea. 1. They are in the OFM installation folder. Bottom Depth (TVD) 1 1000 1000 700 800 900 1000 0 2 2000 1000 1400 1600 1800 2000 500 3 3000 1000 2100 2400 2700 3000 1000 Each well is perforated completely through the A interval and the B interval. When you display the cross section at subsea. On the Workspace tab. Top B. (This doesn't reflect reality. 2. but it shows two different ways of drawing perfs. and 3) and two intervals (A and B). Bottom B. and they are in meters in the metric workspace. You can show a stratigraphic cross section at MD or TVD. To return to MD. 3. at . On the Analysis pane. When you display the cross section in TVD. On the Units tab.. 2. 6. double-click the Cross Section analysis to view the graphical display of the cross section. On the Property pane change Depth Correction to Stratigraphic. View the units used for the workspace: a..ofm or \Cross Section Illustration . on the Property pane change Show True Vertical Depth to Yes. 7. User Guides. c. This sample workspace has two (Interval A and Interval B). select B. change Show Perfs to Yes or No. You add perforations to the wellbore diagram. in the Edit group. on the Format tab. To do this. in the Display group. but you can show or hide them on the cross section. It displays the lithology of Interval A. The Lithology displays. which is sandstone. 10. 9. Cross sections also can have lithology intervals. but you can show or hide them on the cross section. d. You add markers on single or multi-well log displays. On the Property pane. click Interval. On the Name field. To show or hide the lithology intervals. b. select Left Marker (to display the marker to the left of the well) or Right Marker (to display it to the right of the well). Click Close to close the window. 252 of 262 . The Edit Interval window opens. on the Property pane change Show Litho Intervals to Yes or No. Tutorials. a. On the Format tab. It is Limestone. and Examples 8. scc. Click Next. 12. click Import > Data Loader. f. Select the monthly production/injection data. 9. By default. double-click each of the PI/Dwights sample files except etx_dmp2.. Gas tests is selected. Complete each panel of the wizard as follows. The new workspace opens. On the Workspace File field.. select Create it from the data source specified below. Click Load.. at . Select the wells. In the File name field. 11.dp2 file and then click Open. Select well test items. and click next to advance to the next panel: a. Navigate to the sample PI Dwights files. Click Next. d. The Workspace File and Database fields populate. 13. e. Select Prompt for Project Filter to limit the number of completions used during an OFM session. select PI/Dwights DMP2 Production file. 10. In the How do you want to define your project group. On the Setup tab. The PI/Dwights Production File Loader window opens. 4.) and navigate to the correct location for your new sample workspace. 2. Choose how OFM creates well names. The PI/D Import wizard opens. 6. Tutorials. Click Next. 5. This panel has five panels. 8. On the Workspace tab. Click Finish. You now are ready to add the other PI/Dwights production files. and Examples Sample Workspace: Defining a Workspace with PI/Dwights Production Files In the OFM installation folder are PI/Dwights production files you can use to create a sample workspace. In the Data Source field. Select etx_dmp2.dp2 and vssver. b. click Browse (. enter the name of your new project and then click OK. By default. in the Import/Export group. Select the information for sort categories. In the top section. click New. OFM selects all wells. 1. They are in the OFM installation folder. c. OFM gives the workspace and database files the same name and location. 7.Sample Workspaces\PI Dwights Sample Files.User Guides. Select Prod ID and then click Next. 253 of 262 . Click OK. The New OFM Workspace window opens. 3.. click OK. 254 of 262 .User Guides. On the warning message. Tutorials. 14. and Examples A warning message confirms your choice. in the Tables group.. The XY table opens. and then click To Project. On the Setup tab. at . b. 2. the LOCATION column has a relative path to OFM projects. Select the XY table and then click OK.ofm workspace. The base map changes..\Demo Database\Demo2009.ofm workspace. You are now in the Pilot Waterflood Bfield. right-click and then click Previous Project. Open the sample workspace. 1. DUSON_GAS_FIELD is at . You are now in the Duson Gas Field. On the base map. c. 5.. right-click. and Examples Sample Workspace: Multiple Projects An OFM workspace can have links that open other OFM workspaces. The base map changes. b.. On the base map.ofm. BFIELD_WATERFLOOD is at . The workspace name displays at the top of the OFM window.Sample Workspaces\Multiple Project Sample\Multiple Project Sample.User Guides. d.ofm workspace. the workspace can have an association to it. c.. Tutorials. click Data Grid. The Select OFM Table to Edit window opens. Use the links to open other workspaces: a. right-click and then click Previous Project to return to the original workspace. click Duson Gas Field. click BField Waterflood. in the Tables group. View the table that holds the links to the other workspaces: a. The Associations window opens. On the Setup tab.. Notice that the table has a column named FIELD that lists the three items displayed on the base map as completions...\Duson Gas Field Sample\Duson Gas Field. and then click To Project. click Association. Notice that the base map shows three items that look like completions but are actually links that open three different workspaces: n BFIELD WATERFLOOD n DUSON GAS FIELD n DEMO OIL FIELD 3. On the base map. With this information in the XY table. It is in the OFM installation folder. 4. 255 of 262 . You are now in the Multiple Project Sample.ofm.\Pilot Waterflood Sample\Pilot Waterflood Bfield.ofm. For each item. DEMO_OIL _FIELD is at .ofm. a. On the base map. right-click. Notice that in the Project field. and Examples b. Tutorials.User Guides.LOCATION). c. Click OK to close the Associations window. it is associated with the LOCATION field on the XY table (XY. 256 of 262 . User Guides. Tutorials. test. and Examples Sample Workspace: Normalization There is a sample workspace that shows normalization. You can shift production. You can use the normalization feature to shift monthly or daily data in time-based. userdefined criteria. or daily production data forward or backward in time to compare well or group performance. Before Normalization: After Normalization 257 of 262 . The database for the sample consists of simple monthly data. and Examples 1. 2. 3.Oil Category: Completion Name: Well_001 c. On the first row. The date option affects the date to which production for all of the wells is shifted.User Guides. e. On the third row.Sample Workspaces\Illustrative Databases\Normalization\Normalization.Oil Category: Completion Name: Well_003 g. select InitialProdMonth. Click Add Curve to add a third row. Each well starts and ends on a different date. click Options.Oil Category: Completion Name: Well_002 e. at . In the Starting Condition field. The Options window opens. Normalize (time-shift) the tables: a. You will add three rows to the table in the middle of the window. make these selections: Variables: Monthly_prod. Click OK to close the Options window and see the normalized plot. The Edit Plot window opens. b. create a plot: a. Click Add Curve to add a second row. Open the sample workspace. On the second row. d. For Date Option. in the Launch analysis group. b. f. select Earliest or Latest. On the Workspace tab. c. On the Normalize Tables tab. It is in the OFM installation folder.. On the Home tab.. Click OK to close the window and display the plot. The plot shows the three wells. make these selections: Variables: Monthly_prod. make these selections: Variables: Monthly_prod. d.ofm. click Plot. Tutorials. select Enable Normalize Tables. 258 of 262 . If OFM does not list a plot in the Analysis pane. 3. The Select OFM Table to Edit window opens. Each of these curves are easy to make independently. It is in the OFM installation folder. Select Prod.. we often want to plot sporadic data for more than one well. When data is sporadic. View this table: a. On the Analysis pane. unless you did some manipulation to put the data into columns. If the X values match exactly.User Guides. and percent contribution displays. d. Add them to the workspace: a. average. This workspace has two completions with sporadic data in a table named Prod. select the four . OFM starts with the first curve in the list. Four plots open and OFM adds them to the workspace.grf files and then click OK. 2. Open the sample workspace. In the OFM installation folder that has this workspace. There are four plots with this workspace. It then compares the X values in the next curve with those in the first. Click OK. we might want to plot oil rate versus gas rate for a series of wells. click Data Grid. On the Setup tab. c. For example. the task needs more effort. the stacked value is simply the sum of the first 259 of 262 . right-click My Analysis and then click Open > Plot. using the sum. at . OFM does that manipulation for you. b. 1. b. Yet in OFM.ofm. you would get a series of filled-in jagged lines. The Prod table opens and displays this sporadic data: UniqueID Date Val2 Val1 one 01/01/1990 1 1 one 01/01/1991 3 3 one 01/01/1992 5 5 one 01/01/1993 7 7 two 01/01/1990 2 2 two 01/01/1991 4 4 two 01/01/1991 6 6 two 01/01/1993 8 8 e. If you stacked this data in Excel. Close the table. Stacked plots are not difficult to make when data is nicely columnar. and Examples Sample Workspace: Stacked Plots There is a sample workspace that shows the effect of stacking sporadic data with the carry forward and interpolate methods. in the Tables group.Sample Workspaces\Illustrative Databases\Stacked Graphs\Stacked Graph Illustration. Tutorials.. Select the Edit all records check box. If it doesn't. Each graph on this plot has Prod. On the Format tab. there are two choices. Click the lower graph. OFM will either carry forward the last value of the first curve. you might be able to assume that the rate between two points is the average of the rate that came before and the rate that came after. b. and then change it back to Yes. in the Display group. When the carry forward method is used in sum or 260 of 262 .User Guides. under Axis. under Curve Properties. b. On the Property pane. The middle graph uses the carry forward method in a sum display. On the Format tab. since with carry forward each curve's last point is carried forward to the end. View the Carryforward with Sum and Average plot. On the Format tab. a.Val2 on the Y-axis. in the Display group. This is a percent contribution display. Step line between values is set to Yes. The lower graph uses the carry forward method in an average display. such as rates. e. Click the green curve. This is a regular display. the Percent button is selected. the Stacked button is selected. or it will interpolate between values in the first curve that bound the X value in the second curve. Each graph on this plot has Date for the X-axis and shows Prod.Val1 for the X-axis and shows Prod. Click Regular to see the stacked display change to a regular display. When the Interpolation method is selected for a stacked plot and a discrete data point is missing. Click the middle graph. View the Regular. This is a regular display.Val1 and Prod. Tutorials. to be included in the total. On the Property pane. a. especially if you want cumulative graphs. d. This is a stacked display. You could use carry forward plots for stacking volumes. In this case. Change it to No to see the graph without steps. Percent Contribution plot. 5.Val2 on the Y-axis. c. the Regular button is selected. f. 4. Stacked. in the Display group. the Regular button is selected. Click the curve in the middle graph. Interpolated plots might be the best choice when you are stacking instantaneous data. Click the upper graph. in the Display group. the Method is Interpolation. Click the upper graph. d. Carry forward allows the first curve's value to be carried forward even if the data in the second curve falls beyond that of the first curve. and then click Stacked again to return to the original display. On the Format tab. and Examples and second curve. c. interpolate doesn't do that. OFM linearly interpolates a value between the data points on either side of the missing value. Tutorials. View the Interpolate with Sum and Average plot. and shows Prod. To see how OFM performs the calculations.xls. OFM carries the current value until it encounters the next discrete data point.Val2 on the Y-axis. View the Stacked with Interpolate and Carryforward plot. at . OFM linearly interpolates a value between the data points on either side of the missing value. each graph on this plot has Prod.User Guides. each graph on this plot has Prod.Sample Workspaces\Illustrative Databases\Stacked Graphics\InterpolateAndCarryforwardCalculations. For interpolated plots in a sum or average display. and Examples average displays. Like the previous plot. With a stacked display: n If the method is interpolation and a discrete data point is missing (as shown in the middle graph). 6. n If the method is carry forward and a discrete data point is missing (as shown in the lower graph). there is a spreadsheet in the OFM installation folder. OFM carries the value of the last discrete data point on the curve that is being summed or averaged to the end of the data set.. 7. 8.Val2 on the Y-axis. OFM does not interpolate beyond the last discrete data point for a curve in the data set..Val1 for the X-axis. 261 of 262 .Val1 for the X-axis and shows Prod. Like the previous two plots.
Copyright © 2024 DOKUMEN.SITE Inc.