本帖最后由 乔聪颖 于 2020-10-12 11:52 编辑
用户案例分享-tNavigator中通过Python接口整合多井信息并在泡泡图中应用
作者:闫建丽,中海油天津分公司
泡泡图是油藏工程师后处理分析过程中的重要参考信息,动态、直观的信息处理可以作为油藏/单井生产动态信息分析的有效手段。
常规的泡泡图功能可以依据Summary展示生产动态结果,但是面对特殊的情况则无法处理,没有灵活性。tNavigator中的Bubble Maps功能简单易用,而且可以调用Python代码处理后的自定义曲线。
-------------------------
一、问题简述
在数模中,有时为了模拟分层开采的情况,通常会采用在同一位置、不同层位设置多口生产井的方式,在泡泡图中这些井的信息会独立显示,不利于整体分析。
二、主体思路
通过Python创建新的曲线,将子井数据合并,其余井数据原样复制;将自定义曲线应用到Bubble Maps中时,通过井过滤仅显示一口子井。
三、tNavigator中的实现步骤
3.1 模型设置
以一个demo模型为例,在同一位置设置三口生产井:TEST_1、TEST_2以及TEST_3。
3.2 代码详解(Graph Calculator)
运算好模型后,打开Graph Calchulator,用Python代码创建自定义曲线。
3.3 自定义曲线展示及验证
以TEST开头的三口井自定义曲线数据相同
tNavigator自带后处理功能可将多条曲线组合处理 以上两张图中的数据完全一致。
3.4 BubbleMaps中的调用
四、拓展
倘若多口井均做了分层注采的虚拟井处理,则可以设置多个条件,仍以一条曲线作为输出。以下为参考示例:
- # tNavigator中通过Python接口整合多井信息并在泡泡图中应用
- sum_mask_WU1 = wopr.sum ( objects = get_wells_by_mask ('WU1*'))
- sum_mask_TEST = wopr.sum ( objects = get_wells_by_mask ('TEST*'))
- sum_real_wopr = graph (type = 'well', default_value = 0)
- for w in get_all_wells():
- sum_real_wopr[w] =wopr[w]
- for w_mask in get_wells_by_mask('WU1*'):
- if w.name == w_mask.name:
- sum_real_wopr[w] = sum_mask_WU1
- for w_mask in get_wells_by_mask('TEST*'):
- if w.name == w_mask.name:
- sum_real_wopr[w] = sum_mask_TEST
- export (sum_real_wopr, name = 'sum_real_wopr')
复制代码 至此,完成了多井信息的处理及其在Bubble Maps中的应用。
-------------------------------
衷心感谢的是每一位tNavigator用户的投稿,您的支持是我们最大的动力!
更多tNavigator案例应用,请关注科吉思:
|