万晓龙 杨倬 苏建华 魏红芳 王瑞河 黄瑞,3 张木森
1. 中国石油长庆油田分公司勘探开发研究院;2. 北京思达威云石油工程技术研究院;3. 深圳清华大学研究院;4. 昆仑数智科技有限责任公司
四维地震技术[1]因其具有时效性、可继承性等特点,也被称为时延地震,利用四维地震数据体和地质工程、油藏工程等多学科数据,对储层进行动态评价,受到了越来越多的关注,国内外学者也进行了大量研究,2015年陈志海等[2]基于四维地震振幅差异与有色反演技术,进行了油藏水驱前缘与剩余油分布研究,对剩余油挖潜方案的制定提供了技术支撑;2016年Yin Z等[3]建立了井间波动方程,利用四维地震数据,进行了井间连通性评价研究;2017年Gustavo A等[4]基于油藏模拟模型,利用四维地震信息与测井解释成果,进行了注水和注气生产效果评价;2018年Harris K等[5]构建了四维地震剖面模型,对二氧化碳驱替现场的生产效果进行了评价;2019年辛坤烈[6]利用时移地震的属性差异分析方法,进行了SAGD蒸汽腔监测技术研究;2019年Feder等[7]阐述了四维地震技术与油藏模拟技术协同应用对于油藏动态预测的重要性,并指出了其发展趋势;2020年Almeida等[8]利用四维地震信息与历史井数据协同建模,解决了油藏模拟过程的不收敛与低拟合率等问题。由此可见,大量学者已将四维地震数据逐渐应用于油气田生产中,而在油藏精细描述过程中利用时效生产数据构建动态数值模拟系统的研究较少。由于油藏模型动态模拟所需的时效性数据采集、处理与同步计算等方面技术不完善,建模或数模等专业软件[9-11]的使用方式仍主要为单人单机模式,模型资源管理系统与应用软件系统相互独立,不利于开发具备时效性的油藏模型动态模拟计算技术,也制约着油田数字化与智能化建设。
精细油藏描述作为可以更加细致地刻画油气藏地下展布与形态的手段,使油藏研究由定性和半定量走向定量化,由传统的油藏地质研究转入多学科一体化的系统研究[12]。油藏模拟技术作为精细油藏描述以及开发方案制定的核心技术之一,由于缺乏针对油藏模拟运算过程数据需求特点专项应用的模型资源管控系统,仍主要依托国外油藏建模或数模商业化软件[13-14],很难对所涉及成果进行及时共享、数据管控、历史模型动态更新,且逐年累积的成果数据易形成资源孤岛且缺乏实时生产数据应用场景,不利于实现具备时效性特征的油田生产过程中的应用技术支撑系统,甚至出现因存储不规范造成的数据遗失、研究成果应用率低等问题。此外,油藏模拟模型体作为精细油藏描述过程的核心成果,通过大量不同类型的商业化专业软件进行可视化和应用,不仅成本高、许可有限、操作流程复杂、培训难度大,还对不熟悉各种软件的研究人员造成不便,无法对每年构建的油藏模型与研究成果进行有效合理的再应用,导致了模型资源利用率低,以及大量的数据整理、模型构建与数模计算等重复性工作等现象的出现。
因此,本文主要针对长庆油田数字化与智能化建设需求,面向精细油藏描述应用流程,结合油藏模拟过程模型资源特点,脱离国外商业化专业软件的可视化应用技术与数据管理系统应用技术的支持,进行项目资源的标准化管控、模型数据可循环应用等方面的技术研究,并基于油藏数值模拟过程的数据集整合需求,以实现可支持实时生产动态数据采集、业务数据供给、历史模型管控与计算等一体化技术支撑为目的,开发了一种具备时效性、可继承性特点的油藏精描动态模拟模型资源管控系统,系统可大幅度降低模型数据处理与构建时间,避免大量重复性工作,为精描项目资源共享和油藏模拟动态计算提供重要的技术支持。
B/S与C/S混合架构模式与软件开发编程语言[15-16]为油藏动态模拟过程中时效生产数据采集、数据管控与标准化处理、可视化输出与编辑、模型计算等功能的实现提供了技术支撑,系统采用的开发环境概况如下。
系统运行环境:Winows7 64位或以上版本;系统开发平台:Visual Studio 2017;前后端开发语言:C#、C++;目标框架环境:.NET Framework 4.5;用户界面框架:WPF;图像可视化模块:OpenGL 3.3函数库;数据库环境:MySQL;数据通信:TCP/IP协议。
系统构建采用点、线、面、体一体化数据模型体的技术路线,基于系统用户较多、分散且应用功能需求较多的特点,根据油气藏动态与静态数据类型的划分规则,系统用户登录和权限管理、生产与测井数据传输和管理等功能采用B/S架构,系统前端可视化应用与模型体项目资源的管理等功能采用C/S架构。形成在统一数据环境下功能应用,进行数据处理与模型体可视化再现。支持数据共享、调度与管理等应用功能,并针对油藏模拟器计算资源类型的需求,进行计算数据的传输与成果的应用。本文所述动态模拟资源管控系统应用架构见图1。
图1 油藏动态模拟模型资源管控系统应用架构Fig. 1 Application architecture of reservoir performance simulation model resource control system
系统可视化功能界面采用VS2017 C#环境下的WPF框架与图像引擎技术开发,并基于面向C++语言开发环境的OpenGL3.3版本函数库,实现了三维模型图像的可视化技术。系统功能框架主要应用流程:(1)用户通过WEB网页端进行登录与权限验证;(2)验证通过,激活数据处理与管控模块;(3)进行数据标准化处理、数据特征可视化分析、资源录入与传输、模型可视化等功能应用;(4)目标模型数据集传输,并进行油藏模型动态计算模拟器的调用,完成模拟计算过程;(5)成果的可视化输出与入库归档功能模块应用。
(1)数据通信功能。基于本地项目库与网络数据库,依据油藏动态建模与数模应用所需数据集,建立实时生产数据、历史基础数据、历史油藏模型数据等资源的标准化传输接口,进行客户端、服务器端的数据动态采集与数据库同步更新。
(2)资源管理功能。面向实时采集生产数据库和历史数据资源库,划分服务器端的项目数据存储区域和占用存储空间大小,标定数据存储类型,设计数据管理方式,并提供入库、检索、上传、提取、分级分类、操作权限设定、综合研究支持等应用功能。
(3)用户管理功能。针对不同单位用户、不同岗位角色、跨部门与业务领域的应用技术需求等,支持指定的用户进行角色分类、资源共享设置、资源访问设置、管理以及授予相应的资源库访问权限等。
(4)数据与模型体标准化处理功能。针对油藏原始数据与成果模型,结合地质建模与数模过程的数据应用流程,进行项目数据类型划分、存储模式与类型规整,实现项目中的构造、沉积相、孔隙度、渗透率、油水饱和度与地层压力等模型粗化前后的地质和油藏等模型体数据处理,以及动态模拟计算所需测井解释曲线、井网井位空间分布、地质分层、产量、生产措施等基础数据标准化整合与处理。
(5)数据可视化分析功能。通过井位、测井、生产等基础数据分别以井平面图、剖面图、测井曲线和生产指标曲线等形式进行展示,并进行油气藏模型的三维仿真展示与交互应用。
系统采用了B/S与C/S混合架构模式,主要由面向WEB版信息平台的远程数据库服务器、本地化数据库服务器及配套应用功能模块组成[17]。系统数据库应用功能架构如图2所示。作为一种广泛应用的数据库系统MySQL Community Server 64位版本,不仅支持B/S架构系统平台的数据通信应用,也具有强大的数据存储和管理能力,可快速地实现B/S与C/S混合架构环境下的数据管理功能模块的开发。
图2 油藏模型资源数据库应用功能架构Fig. 2 Application function architecture of reservoir model resource database
系统数据库主要由用户信息表与项目信息表组成。其中,用户信息表字段主要包括:用户识别码、系统登录用户、系统登录密码、用户创建时间、用户启用状态、用户网络通信权限、管控系统应用权限、登录状态、用户类型、用户单位等信息。项目信息表字段包括:项目识别ID号、项目简称、项目全称、项目所属单位、项目所属区块、项目油气藏类型、项目创建人ID、项目创建时间、项目存储路径等信息。
系统数据库存储数据类型包含结构化与非结构化数据,其中结构化数据包含用户数据、地质基础数据、井基础数据、产量数据、生产措施数据、岩石与流体实验数据等。非结构化数据包含三维地质与油藏模型数据文件、图像文件、测井解释数据文件等。通过构建结构与非结构化数据的索引关联表单实现数据的匹配与联动调度。
系统采用数据层、服务层、应用层3层架构。(1)数据层由基础数据、成果数据、长庆油田数字化油气藏研究与决策支持系统(简称RDMS)网络通信数据3部分组成。基础数据包含钻井、录井、测井、试井等数据。成果数据包含地质与油藏模型体等成果数据。网络通信数据包括依据系统网络通信协议接口所实时获取的井位、测井、生产等数据,为油藏动态模拟应用提供数据基础。(2)服务层包括用户权限合理划分、项目资源调度以及长庆四维油藏模拟功能模块应用流程规划等服务。(3)应用层包括资源分级分类管理、检索、预览、上传、下载、异常数据检测与处理等应用,以及井数据与三维模型体的可视化分析等功能。用户层级架构实现见图3。
图3 用户层级架构设计Fig. 3 Architecture design of user level
依据油藏精细描述过程中的数据通信、文件传输、权限控制指令响应、应用程序执行指令响应等功能的技术需求,基于socket通信技术,采用TCP/IP协议完成B/S与C/S混合框架技术的开发。在数据层可支持数据录入与管控,在服务层按照用户角色进行资源调度与管理,在应用层支持资源分类分级管理、用户权限控制、资源传输、数据与模型可视化分析、模拟器调用、成果分析等应用,从而实现不同权限用户数据录入与传输、资源调用、可视化分析、计算模块调用等功能。
针对油藏精细描述过程中模型体数据格式繁杂、无法快速处理等问题,开发了地质与油藏模型解析与处理功能。以Petrel RE的历史模型体数据格式转换为例,通过分析不同文件的物理意义,并针对文件中关键字所对应的数据进行解析和处理,并综合考虑默认数据项信息、数据单位变换、数据的排列规则、数据的重组等复杂因素的影响。其主要实现流程:(1)构建模型数据文件中有效关键字解码过程所需的映射对照字典表;(2)读取模型头文件,获取关联文件与模型体概况;(3)按文件逐行解析数据,考虑空行、无效行以及注释行等情况,进行换行识别与解析,考虑结尾关键符号或关键字的读取与处理;(4)对照关键字字典,针对有效关键字进行提取与处理,无效关键字记入日志备份,并输出解析与处理后指定格式模型。其主要解析与处理函数作用说明如下:
GetPetrelREM1Ex()为解析与处理Petrel RE软件的模型数据函数,包含解析模型对象、Petrel RE模型解析路径、生成模型输出路径、是否输出模型等信息。
GetPerfData()为解析与处理射孔数据函数,包含解析模型对象、射孔数据、数组长度等信息。
WriteSCH()为解析与处理生产数据,包含解析模型对象、生成数据文件路径、需保存文件扩展名等信息。
最终,利用解析的历史油藏模型,依据常用油藏数值模拟器所需数据集格式要求,进行模型数据标准化输出、模拟器激活与可视化应用,辅助油藏模型资源的循环应用。
OpenGL作为应用最为广泛的三维可视化与图像处理标准函数库,其可通过API调用的核心库中就有上百个标准函数,用于3D图像的建模与处理操作,包括了对象外形的建立、处理、着色等事件[18]。本系统在VS2017与OpenGL开发环境[19]下,利用C++编程语言,结合GLFW与GLAD函数库,开发了三维模型可视化技术应用模块,实现了油藏模型体可视化的应用。主要技术流程如图4所示。
图4 三维油藏模型可视化流程图Fig. 4 Visualization process of 3D reservoir model
油藏模型的可视化与重构等关键技术需求可采用OpenGL VBO技术。VBO即为顶点缓冲对象[20]的三维场景重构,允许大量的油藏网格模型单元顶点与颜色数据储存在高性能显卡上,快速进行可视化应用,解决了逐点发送、属性重复性管理与模型重复渲染等问题,具有高效的模型渲染重构与可视化能力。其油藏空间模型包含点元模型、线元模型、面元模型、体元模型以及混合模型等。油藏模型各单元顶点数据主要包含三维的点坐标信息与表征RGB属性信息。VBO技术进行油藏模型三维可视化应用功能实现的关键步骤:(1)进行油藏空间模型绘制前的各模型顶点数据处理;(2)在显卡内存空间开辟储存顶点显存位置;(3)将处理好的顶点数据集传输到显存位置,并指定传输模式;(4)模型可视化所需着色器代码转化为着色器模块,响应当前三维场景执行程序命令;(5)构建显卡中着色器的数据处理模式,进行模型的渲染绘制。技术实现的关键API函数如下:
glGenBuffers(),创建VBO,开辟GPU显存的空间位置并分配ID。
glBindBuffer(),将模型同一类型的顶点数据集进行VBO绑定。
glBufferData(),对定义的数据集传输到绑定的VBO显存缓冲区。
glVertexAttribPointer(),在显卡中进行顶点数据集的解释,配合glBufferData()应用。
glEnableVertexAttribArray(),激活与指定模型顶点着色器属性变量。
在VS2017集成开发环境下,采用OpenGL函数库以及MYSQL数据库技术,针对长庆油田精细油藏描述过程中油藏动态模拟计算业务的流程应用需要,开发了具备B/S与C/S混合架构特点的模型资源管控系统。中文界面模式下的系统登录应用效果如图5所示。
图5 油藏模型资源管控系统登录界面Fig. 5 Login interface of reservoir model resource control system
长庆油田将油藏精细描述动态模拟模型资源管控系统应用在生产实践中,已累计完成200多套油藏精细描述项目基础数据、成果数据、模型体等资源的入库与处理,总资源量达到约500 TB,实现了长庆油田自2012年以来的大部分油藏区块精细描述项目资源的管控,支撑了大部分历史项目油藏模型的动态更新计算应用,提高了油藏精细描述的工作效率,大幅度降低了油藏数据管理分析、建模与数模等专业应用类软件的外部采购数量与成本。图6、图7分别为长庆油田入库的资源管控与三维模型体可视化再应用效果。
图6 油藏模型资源管控系统应用界面Fig. 6 Application interface of reservoir model resource control system
图7 三维模型可视化应用界面Fig. 7 Visual application interface of 3D model
(1)结合油田生产实际应用数据采集场景,设计与开发了油藏模型资源采集与管理模块,建立了基础数据与模型体的专业应用库,支持生产动态数据的采集、资源类型的划分、存储模式与数据类型的规整,实现了项目资源中基础数据、历史油藏模型标准化整合与管理,可减少繁琐的数据二次采集步骤。
(2)利用B/S与C/S混合架构模式,开发支持多用户在线进行模型资源的共享功能,在长庆油田精细油藏描述过程中进行了大量的油藏模拟模型资源入库与应用测试,避免油藏模拟过程中资源孤岛情况的形成,降低了针对历史模型模拟计算的模型处理工作量,提高了历史项目模型资源利用率。
(3)针对油田工作人员在油藏模拟过程中模型体处理与可视化应用技术需求,利用C++与OpenGL底层开发技术,开发了可用于模型体数据处理与三维可视化分析的应用技术模块,可为数字化与智能化油田应用技术的自主研发提供技术支持。