分享一波油藏描述方面的Python开源包

更新日期:2018-11-06来源: 浏览次数:2448次

前一阵去捷克参加了数学地质年会(IAMG2018),听完汇报,发现在数学地质领域用python的越来越多了,他们的很多成果都是用python做出来的。不管喜不喜欢,这个语言已经成了主流,特别是在人工智能领域,几乎所有的框架都有python接口,用起来很方便。秉承“人生苦短,我用python”的理念,也踏上了python学习之路,尽管感觉C#python更优雅。

学习python的目的是帮助油气开发的智能化,特别是智能油田管理相关领域,为了避免重复造轮子,有必要了解目前有哪些开源的python包可以用。下面从数值岩心、测井解释、地质建模、地震处理解释、数值模拟、裂缝模拟几个方面介绍。

1、数字岩心

数字岩心是表征岩石微观动态和静态特征的关键,对扫描得到的数字岩心进行建模和各种模拟需要岩心重建,孔隙网络模型是常见的岩心重建方法,该方法的python包有OpenPNMPoreflow等。

http://www.gslib.com/

https://github.com/PMEAL

https://github.com/pmeal/openpnm

https://github.com/ggorman/poreflow

 

2 测井解释

包括测井数据的读写、各类解释方法、图形显示等,比如标准的las格式数据读写的pythonlasio,各种深度转换的包las,各种滤波处理的logging,基本的测井解释,用excel和简单的几行python脚本就可以,复杂的解释可以借助专门的解释包,比如petropy等。

 

 

 

https://lasio.readthedocs.io/en/latest/

https://github.com/petroGG/Basic-Well-Log-Interpretation

https://github.com/petroGG/Basic-Well-Log-Interpretation/blob/master/Basic%20well%20log%20interpretation.ipynb

http://www.cwls.org/las/

https://github.com/WarrenWeckesser/las

https://github.com/WalBytes/PyLogFinder_Package

https://github.com/toddheitmann/petropy


3 地质建模

地质建模方面,主要是地质统计学方面,以前的Gslib是地质统计学中使用最广泛的fortran开源代码,目前也已经封装成为python包,有PyGSLIBGeostatsPy,除此之外还有基于gslib的拥有更高级接口的PygeostatpyGeoStatistics,也有不依赖GSLIB python包,比如pykriging krige geostatsmodels HPGLscikit-gstat,利用这些python包可以进行变差函数求取,各种克里金插值,序贯高斯模拟、序贯指示模拟等。近两年来大名鼎鼎的Michael Pyrcz(代表作是 Geostatistical Reservoir Modeling 2nd Edition )在twitter上一直很活跃地在分享它从GSLIB转向python的学习过程(@GeostatsGuy)。


 

https://github.com/opengeostat/pygslib

https://github.com/GeostatsGuy/GeostatsPy

https://opengeostat.github.io/pygslib/

http://www.ccgalberta.com/pygeostat/index.html

https://github.com/whimian/pyGeoStatistics

https://github.com/cjohnson318/geostatsmodels/

https://github.com/hpgl/hpgl

http://hpgl.mit-ufa.com/

https://github.com/mmaelicke/scikit-gstat/tree/v0.2.1

http://pykriging.com/

https://twitter.com/GeostatsGuy

 

下图是测试kriging包的代码及运算结果

 

 

 

4、 地震资料解释处理

地震资料读写、处理、解释和反演方面也有不少包,比如地震资料读写的segpysegyio,岩石物理的pyrocko合成地震记录的ricker处理解释的ObsPy,属性解释的interpiesgeoprobed2geo地震反演与成像的pysit,nessi,时深转换的TotalDepth地震层次成像的pytomo3d,地震数据3D显示的seisplot等,以及三维解释Java3d-painting

https://github.com/sixty-north/segpy

https://github.com/Statoil/segyio

https://pyrocko.org/

https://github.com/pyrocko

https://github.com/lijuhttps://github.com/computational-seismology/pytomo3dnzh/ricker

https://github.com/obspy/obspy/wiki

https://github.com/jobar8/interpies

https://github.com/joferkington/python-geoprobe

https://github.com/dfitzgerald3/d2geo

http://pysit.org/

https://github.com/pysit/pysit

https://github.com/PageotD/nessi

https://github.com/paulross/TotalDepth

https://github.com/computational-seismology/pytomo3d

https://github.com/agile-geosci培养桃红ence/seisplot

https://github.com/chrisengelsma/3d-painting

 

5、数值模拟

油藏数值模拟的难度相对较大,相应的包也比较少,能找到的有单相裂缝-孔隙介质流动模拟的PorePy单相2D模拟的SimplePetro,单相3D模拟的PRESTO

https://pypi.org/project/porepy/#porepy-features

https://github.com/ishovkun/SimplePetro

https://github.com/padmec-reservoir/PRESTO

 

6、裂缝表征

裂缝特征统计的geo_frac_analysis,裂缝生成模拟的fracture

 

 

https://github.com/TerminusEst/geo_frac_analysis

https://github.com/inconvergent/fracture

TOP