【油藏描述】分享一波油藏描述方面的Python开源包(转)
前一阵去捷克参加了数学地质年会(IAMG2018),听完汇报,发现在数学地质领域用python的越来越多了,他们的很多成果都是用python做出来的。不管喜不喜欢,这个语言已经成了主流,特别是在人工智能领域,几乎所有的框架都有python接口,用起来很方便。秉承“人生苦短,我用python”的理念,也踏上了python学习之路,尽管感觉C#比python更优雅。
学习python的目的是帮助油气开发的智能化,特别是智能油田管理相关领域,为了避免重复造轮子,有必要了解目前有哪些开源的python包可以用。下面从数值岩心、测井解释、地质建模、地震处理解释、数值模拟、裂缝模拟几个方面介绍。
1、数字岩心
数字岩心是表征岩石微观动态和静态特征的关键,对扫描得到的数字岩心进行建模和各种模拟需要岩心重建,孔隙网络模型是常见的岩心重建方法,该方法的python包有OpenPNM和Poreflow等。
http://www.gslib.com/
https://github.com/PMEAL
https://github.com/pmeal/openpnm
https://github.com/ggorman/poreflow
2 测井解释
包括测井数据的读写、各类解释方法、图形显示等,比如标准的las格式数据读写的python包lasio,各种深度转换的包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包,有PyGSLIB,GeostatsPy,除此之外还有基于gslib的拥有更高级接口的Pygeostat,pyGeoStatistics,也有不依赖GSLIB python包,比如pykriging, krige, geostatsmodels, HPGL,scikit-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、 地震资料解释处理
地震资料读写、处理、解释和反演方面也有不少包,比如地震资料读写的segpy、segyio,岩石物理的pyrocko,合成地震记录的ricker,处理解释的ObsPy,属性解释的interpies、geoprobe、d2geo,地震反演与成像的pysit,nessi,时深转换的TotalDepth,地震层次成像的pytomo3d,地震数据3D显示的seisplot等,以及三维解释Java包3d-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
博客版权: 本文以学习、研究和分享为主,欢迎转载和各类爬虫,但必须在文章页面明显位置给出原文链接。 如果文中有不妥或者错误的地方还望高手的您指出,以免误人子弟。如果您有更好的建议,不如留言一起讨论,共同进步! 再次感谢您耐心的读完本篇文章。