请选择 进入手机版 | 继续访问电脑版

微信一键登录

科吉思石油论坛

搜索
查看: 3562|回复: 0

tNavigator-Python API - Workflow解读

[复制链接]

136

主题

205

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
发表于 2020-6-3 09:22:05 | 显示全部楼层 |阅读模式
本帖最后由 乔聪颖 于 2020-6-3 09:28 编辑

tNavigator-Python API - Workflow解读
乔聪颖
1.png
精骛八极,心游万仞。
--陆机《文赋》

Workflow,顾名思义,工作流的意思。由于地质建模过程中涉及的操作非常繁杂,请各个操作之前有较强的顺序关系,所以用“工作流”来表达完整的建模过程显得非常贴切。
然而,地质建模过程中有很多的不确定性,为了对比分析,往往会将类似的操作流程运行很多遍,之间的差异也许只有一个参数。
为了减少不必要的操作步骤,Workflow允许用户将操作流程记录下来,并支持修改其中的参数,比如算法的名称;执行Workflow只需一个按钮,静待程序自动完成即可。如此,建模工程师就可以通过微调Workflow实现批量化、流程化的处理而无需浪费时间在重复性的工作上。

Workflow最初是为建模工程师准备的工具,而在tNavigator中,数模工程师也可应用。

tNavigator作为高效的建模数模一体化平台,自然具备Workflow功能,而且随着开发人员对其的不断完善,多个模块(Geology,Model, Network, Wells, PVT Designers, AHM)中都有Workflow。正是由于tNavigator各个模块的高度集成,Workflow也实现了高度的集成,从建模到数模,再到智能历史拟合,几乎涵盖了建模、数模工程师在工作中的大部分工作内容。

想要用好Workflow,需要一定的专业背景。由于Geology/Model Designer部分的Workflow最完善,所以本文仅基于该部分的功能,简要介绍tNavigator-Workflow接口,以及简单操作示例。
--------------------------------
【API简介-函数与数据结构】
从程序化的角度来看,Workflow是通过tNavigator API中的函数调用外部及内部数据实现各种操作的Python脚本;从用户角度而言,Workflow是一系列可以通过界面操作实现各种数据处理的标准块/计算功能。
这部分的API函数大体上依据功能进行了划分:
2.png

还有一部分API函数并未写入上面的界面操作选项中,可以在Add custom code中找到,以对象类型作为分类标准,通常在查看代码时会出现它们的身影。
Addcustom code非常重要,用于自定义工作流代码的编辑!
3.png

Geology/ModelDesigner中的Workflow包含了地震数据处理、创建地质模型、创建动态数模模型、运行模型、结果分析等几乎所有建模/数模工程师所需要的功能。

【Workflow的创建、导入、编辑、运行】
Workflow中可以自动记录actions:
4.png

可以通过Add to Workflow在操作过程中将其加入Workflow:
5.png

也可以直接在界面自行创建任意多个Workflow:
6.png

另外,可以导入预先编辑好的Python文件:
7.png

Workflow的编辑工作可以在界面中自行尝试,需要特别注意的是Add custom code以及Show Code。可以通过Show Code将actions的代码显示出来,并复制到Add custom code中,配合Python代码自身的语言特性,可以创造实现特定功能的自定义工作流程。
8.png

在运行Workflow之前,可以通过Test检查代码是否有错误;倘若没有红色底色的选项出现,则代码的执行是没有问题的,这时可以点击Run Workflow来完成运算。

【定义变量-与AHM的集成】
在建模/数模过程中会存在大量的不确定性,智能历史拟合(AHM)正是为了消除这种不确定而定制的模块(AHM模块的应用请关注公众号内的历史文章)。
如何将二者结合起来呢?
tNavigator提供了Workflow与AHM之间的集成功能,可以在Workflow中快速定义变量,通过调用AHM进行分析,排除不确定性、优化参数。
定义变量主要有以下三种方式:
9.png

调用AHM之前,需要先运行定义好变量的Workflow;在检查模型在初始化等部分没有问题之后,通过魔法棒可以打开AHM模块:
10.png

说在最后:
  • 篇幅有限,无法展示太多细节,大家可以通过manual及相关教程深入了解。
  • 具体案例应用,请移步文末参考链接《tNavigator-Workflow-批量输出曲线》,里面有一个完整的小案例。

End.

参考链接:
《tNavigator-Python解释器及第三方库安装指导》
《tNavigator-Python入门(基本数据类型、程序控制结构以及函数式编程)》
《tNavigator-Python API - Graph Calculator解读》
《tNavigator-Python API - PythonAction解读》

其他参考链接:
《tNavigator-Workflow-批量输出曲线》
《tNavigator-Graph Calcuator-输出统计信息至txt文件》
《tNavigator-Graph Calcuator-自定义任意小层合采曲线》
《tNavigator-Python高级应用汇总》
《智慧油田特色解决方案:定制化的“经济指标优化” (智能历史拟合高级应用)》
《用户案例分享-tNavigator中通过Python接口整合多井信息并在泡泡图中应用》
《tNavigator小技巧20-Python应用之泡泡图调用自定义曲线》
《Graph Calculator - tNavigator实现Python私人定制(应用篇:灵活统计贡献井数)》
《Graph Calculator - tNavigator实现Python私人定制(基础篇)》
《tNavigator 18.1开放Python接口——实现图形输出的“私人定制”》
------------------------------------------------
更多tNavigator技巧及应用,欢迎加入tNavigator技术交流QQ群:777385939。
更多石油行业前沿资讯与应用,请关注科吉思石油:
tail.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|服务支持:DZ动力|科吉思石油技术咨询有限公司 ( 京ICP备15057753号

GMT+8, 2024-3-28 22:47 , Processed in 0.234740 second(s), 34 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表