戴月祥,陳風(fēng)梅,劉同良,黃代蓮,同古力克
(中國石油西部鉆探工程有限公司測井公司,新疆克拉瑪依834000)
俄羅斯M AK-Ⅱ和SGDT測井文件格式分析及轉(zhuǎn)換
戴月祥,陳風(fēng)梅,劉同良,黃代蓮,同古力克
(中國石油西部鉆探工程有限公司測井公司,新疆克拉瑪依834000)
俄羅斯MAK-Ⅱ、SGDT測井系統(tǒng)測得的評價水泥膠結(jié)及充填狀況原始數(shù)據(jù)采用其系統(tǒng)本身自帶的測井解釋軟件專用識別記錄格式,其他解釋系統(tǒng)均無法直接利用其原始測井?dāng)?shù)據(jù)進(jìn)行資料解釋評價。在詳細(xì)分析說明MA K-Ⅱ、SGDT原始測井?dāng)?shù)據(jù)記錄格式的基礎(chǔ)上,在C#語言環(huán)境下,采用動態(tài)鏈接庫(DLL)模塊開發(fā)模式編寫了數(shù)據(jù)格式轉(zhuǎn)換程序,實現(xiàn)了MA K-Ⅱ、SGDT測井?dāng)?shù)據(jù)到W IS格式文件的轉(zhuǎn)換功能。利用Fo rward系統(tǒng)對生成的W IS文件進(jìn)行解編和繪圖,結(jié)果表明格式轉(zhuǎn)換完全正確。
測井?dāng)?shù)據(jù);固井質(zhì)量測井;格式轉(zhuǎn)換;MA K-Ⅱ;SGDT
俄羅斯固井質(zhì)量測井系統(tǒng)包括M A K-Ⅱ聲波儀器和SGDT伽馬-密度-厚度儀器。MA K-Ⅱ可以評價第Ⅰ、Ⅱ界面的水泥膠結(jié)質(zhì)量,SGDT可以反映套管外環(huán)形空間水泥的充填程度;兩者結(jié)合還可以比較全面地反映水泥膠結(jié)情況及充填狀況[1]。該系統(tǒng)記錄的MA K-Ⅱ和SGDT原始測井?dāng)?shù)據(jù)采用了專用格式[2],只有系統(tǒng)本身自帶的測井解釋軟件可以識別,國內(nèi)外其他解釋軟件系統(tǒng)無法直接利用俄羅斯固井質(zhì)量的原始測井?dāng)?shù)據(jù)進(jìn)行資料解釋評價,給測井?dāng)?shù)據(jù)的直接利用帶來很大的困難。本文在分析了MA K-Ⅱ和SGDT原始測井?dāng)?shù)據(jù)格式的基礎(chǔ)上,闡述了實現(xiàn)了MA K-Ⅱ、SGD T測井?dāng)?shù)據(jù)到W IS格式文件的功能轉(zhuǎn)換,使相關(guān)解釋人員對俄羅斯固井質(zhì)量系統(tǒng)的測井?dāng)?shù)據(jù)格式有一個比較全面的了解,為測井解釋和科研工作提供一定的幫助。
MA K-Ⅱ原始測井?dāng)?shù)據(jù)由1個頭信息體和多個數(shù)據(jù)體組成。每個數(shù)據(jù)體的長度可由頭文件相關(guān)信息讀出或者計算得到,聲波波形信息包含在數(shù)據(jù)體中,其中波形信息采用了專用的數(shù)據(jù)壓縮打包方式,所記錄的數(shù)據(jù)為聲波第1、第2個接收探頭接收到的波形數(shù)據(jù)(二維數(shù)據(jù))。
波形數(shù)據(jù)大致的記錄方式是每個數(shù)據(jù)體記錄1個深度值和對應(yīng)的多個隨時間變化的波形值。從測井?dāng)?shù)據(jù)整體上分析,測井曲線信息隨深度變化的同時,在每個深度上又記錄多個不同時間的測井值。
1.1 頭信息結(jié)構(gòu)
表1 MAK-Ⅱ頭信息結(jié)構(gòu)
1.2 數(shù)據(jù)體結(jié)構(gòu)
在頭信息體之后緊跟多個數(shù)據(jù)體,其數(shù)量多少與測井深度有關(guān),測井起始、終止深度可由第1個和最后1個數(shù)據(jù)體的實時深度得到。所有數(shù)據(jù)體的長度是一樣的,每個數(shù)據(jù)體長度已經(jīng)在頭信息中定義,主要記錄壓縮后的聲波波形信息以及數(shù)據(jù)體標(biāo)識、采樣點實時深度等信息。表2給出了數(shù)據(jù)體結(jié)構(gòu)及說明,數(shù)據(jù)體標(biāo)識是十六進(jìn)制數(shù)55AA,實時深度由當(dāng)前深度和偏移深度相加得出,壓縮的聲波信息需要在解編時對數(shù)據(jù)重新進(jìn)行排列,其中波形數(shù)組長度LENTH可由頭信息中相關(guān)內(nèi)容計算得到,為
表2 MAK-Ⅱ數(shù)據(jù)體結(jié)構(gòu)
若MA K-Ⅱ波形數(shù)據(jù)采用不壓縮方式記錄,2個接收探頭記錄的聲波數(shù)據(jù)分別以2個整形數(shù)據(jù)(int,2 B)存放,占用4 B空間;采用壓縮方式記錄時,將 4 B的數(shù)據(jù)(32 bit)用3 B(24 bit)存放。MA K-Ⅱ?qū)嶋H波形數(shù)據(jù)采用壓縮方式記錄,所以計算波形數(shù)組長度LENTH時必須乘3/4得到的才是真正的數(shù)組長度。
1.3 聲波波形解析
準(zhǔn)確獲得包含在每個數(shù)據(jù)體中聲波波形信息是解析MA K-Ⅱ測井?dāng)?shù)據(jù)的關(guān)鍵所在。為了得到包含在數(shù)據(jù)體中壓縮的波形數(shù)據(jù),首先要計算每個數(shù)據(jù)體中波形的采樣點數(shù) PON IT_NUM,由頭信息中相關(guān)內(nèi)容計算,有
波形數(shù)據(jù)解編的過程實際上就是將壓縮的3 B數(shù)據(jù)還原成4 B數(shù)據(jù),即形成2個整數(shù)的過程。壓縮波形數(shù)據(jù)的每個點為24 bit即3 B組成,記錄2列波形,每列波形的數(shù)據(jù)點由12 bit(包括符號位在內(nèi))組成,解壓時要將之?dāng)U展成16 bit。圖1為解壓縮每個波形點數(shù)據(jù)的示意圖,可以看出,將每3 B (Obyt1、Obyt2、Obyt3)解編成4個新字節(jié)(Nbyt1、Nbyt2、Nbyt3、Nbyt4),其中Obyt1的前半個字節(jié)形成了1 B的 Nbyt2,后半個字節(jié)形成1 B的Nbyt4,實際上解出了波形數(shù)據(jù)整數(shù)的高位字節(jié)數(shù)值,而整數(shù)的低位字節(jié)數(shù)值沒有改變,即字節(jié)Obyt2、Obyt3分別對應(yīng)字節(jié)Nbyt1、Nbyt3。再將4個新字節(jié)的前2 B(Nbyt1、Nbyt2)合成1個整形數(shù)據(jù)(int,2 bit)即為第1點波形數(shù)據(jù),后2 B(Nbyt3、 Nbyt4)合成1個整形數(shù)據(jù)即為第2點波形數(shù)據(jù),依次類推,可以解編出整列的全部波形數(shù)據(jù)。由于PC機(jī)的數(shù)據(jù)存儲方式(如 Intel系列的處理器存儲方式)是地址由低到高,所以在讀取測井?dāng)?shù)據(jù)時要注意調(diào)整字節(jié)的順序。
圖1 解壓縮波形數(shù)據(jù)示意圖
SGD T原始測井?dāng)?shù)據(jù)與M A K-Ⅱ數(shù)據(jù)不同,它沒有記錄文件頭信息,而是由若干個長度一定的數(shù)據(jù)幀組成,每個數(shù)據(jù)幀均包含測井方向、測井深度等信息,一般隱含深度采樣間隔為0.1 m。
2.1 文件整體結(jié)構(gòu)
SGD T原始測井?dāng)?shù)據(jù)由多個長度均為100 B的數(shù)據(jù)幀組成,數(shù)據(jù)幀數(shù)量多少與測井深度深淺有關(guān),測井起始、終止深度可由第1個和最后1個數(shù)據(jù)幀的測井深度得到。每個數(shù)據(jù)幀的前4 B記錄深度信息,后96 B記錄測井曲線信息,且測井曲線信息均記錄為32 bit浮點數(shù)(float,4 B)。
深度信息由4 B構(gòu)成,記錄的十六進(jìn)制格式(以BCD碼表示)見表3。
表3 SGDT深度信息
2.2 數(shù)據(jù)幀曲線信息
每個數(shù)據(jù)幀的深度信息后用96 B記錄測井曲線信息,每4 B記錄1條曲線信息,可以記錄24條曲線數(shù)據(jù),曲線數(shù)據(jù)均以32 bit浮點數(shù)記錄,表示該深度點的曲線值。曲線存放順序由表4列出(每幀的記錄起始位置從0 B開始)。
一般情況下SGD T測井的原始數(shù)據(jù)存放順序是確定的,也可以在測井時重新進(jìn)行設(shè)置,在分析數(shù)據(jù)時只要知道數(shù)據(jù)通道信息就可以對之進(jìn)行分析和解編。
表4 SGDT幀曲線信息
3.1 W IS文件格式介紹
W IS數(shù)據(jù)格式是Fo rward系統(tǒng)采用的標(biāo)準(zhǔn)文件格式[3],目前基本上成為油田測井?dāng)?shù)據(jù)通用格式。W IS文件分為文件頭、對象入口記錄和對象數(shù)據(jù)體等3部分,數(shù)據(jù)存放以塊為單位。W IS文件可以存放通道對象、表對象、流對象等3種類型的對象,其中通道對象保存采集數(shù)據(jù)和處理結(jié)果(如測井曲線),表對象保存表格數(shù)據(jù)(如解釋結(jié)論),流對象保存二進(jìn)制數(shù)據(jù)塊(如解釋參數(shù))。表5為W IS格式的整體結(jié)構(gòu)。
W IS格式文件存放的測井曲線屬于通道對象,即MA K-Ⅱ的波形測井?dāng)?shù)據(jù)(二維數(shù)據(jù))屬于通道對象,是一個包含深度和時間二維的物理信息數(shù)據(jù)體。對于連續(xù)波形數(shù)據(jù)(不是點測數(shù)據(jù)),對象入口記錄結(jié)構(gòu)的主屬性為1、子屬性為2;通道對象結(jié)構(gòu)中定義的第1維為深度(包括起始深度、深度采樣間隔、采樣點數(shù)k1等信息),第2維為時間(包括起始時間、時間采樣間隔、采樣點數(shù) k2等信息);之后記錄k1×k2個實際測井?dāng)?shù)據(jù),占用文件空間大小以塊為單位計算。SGDT的測井曲線是一維數(shù)據(jù),通道對象結(jié)構(gòu)只需定義第1維深度信息即可,實際記錄k個(深度采樣點數(shù))測井?dāng)?shù)據(jù)。
表5 W IS文件結(jié)構(gòu)
3.2 文件格式轉(zhuǎn)換
轉(zhuǎn)換程序采用C#語言進(jìn)行開發(fā)[4]。為了便于系統(tǒng)擴(kuò)充,M A K-Ⅱ和SGD T數(shù)據(jù)格式的解碼以動態(tài)鏈接庫的形式出現(xiàn),將原始數(shù)據(jù)轉(zhuǎn)換為Forward系統(tǒng)可以識別的W IS格式文件。轉(zhuǎn)換程序主要模塊包括1個主模塊、2個數(shù)據(jù)輸入動態(tài)鏈接庫;每種文件格式解碼模塊均采用動態(tài)鏈接庫,其數(shù)據(jù)輸入接口基本相同,所以編寫格式轉(zhuǎn)換程序簡單,方便程序擴(kuò)展功能。進(jìn)行格式轉(zhuǎn)換可按照如下步驟進(jìn)行。
(1)快速分析源文件結(jié)構(gòu),判斷源文件格式,確定轉(zhuǎn)換參數(shù)和模塊。
(2)準(zhǔn)確定位數(shù)據(jù)流位置,根據(jù)讀取的信息計算源文件邏輯記錄數(shù)、數(shù)據(jù)塊長度等參數(shù)。
(3)按照一定模式讀取源文件中的參數(shù)和數(shù)據(jù),進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。
(4)對數(shù)據(jù)進(jìn)行重新組合和排列,生成新格式的目標(biāo)文件。
圖2是數(shù)據(jù)格式轉(zhuǎn)換的流程示意圖。為了加快數(shù)據(jù)的存取速度,將原始測井?dāng)?shù)據(jù)全部讀入內(nèi)存;由于MA K-Ⅱ包含波形數(shù)據(jù),文件體積比較大,可以采用內(nèi)存映射文件技術(shù)進(jìn)行測井?dāng)?shù)據(jù)格式轉(zhuǎn)換[5]。對實際測井?dāng)?shù)據(jù)分析發(fā)現(xiàn),MA K-Ⅱ每個數(shù)據(jù)體的長度有時并不完全相同,在數(shù)據(jù)解編過程中最好用數(shù)據(jù)體標(biāo)識十六進(jìn)制數(shù)55AA判斷是否為數(shù)據(jù)體開始的標(biāo)志。
圖2 數(shù)據(jù)格式轉(zhuǎn)換流程圖
(1)詳細(xì)分析了MA K-Ⅱ數(shù)據(jù)格式和SGDT數(shù)據(jù)格式的整體結(jié)構(gòu)及各部分組成,同時對W IS格式作了簡單說明。
(2)給出了MA K-Ⅱ、SGDT數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)換為W IS文件的步驟和流程,可以編程實現(xiàn)數(shù)據(jù)格式轉(zhuǎn)換與解編,滿足測井生產(chǎn)的需要,擴(kuò)大測井資料的應(yīng)用范圍。
[1] 張維平,等.俄羅斯固井質(zhì)量測井儀及解釋方法[M].北京:石油工業(yè)出版社,1998.
[2] MA KⅡ-SGDT測井儀器應(yīng)用手冊[Z].北京:北方亨泰科技發(fā)展有限公司,2002.
[3] 中國石油天然氣集團(tuán)公司油氣勘探部,等.測井解釋平臺底層WellBase技術(shù)開發(fā)手冊[M].北京:石油工業(yè)出版社,2000,2.
[4] Grant Palmer.C#程序員參考手冊[M].康博,譯.北京:清華大學(xué)出版社,2002.
[5] 楊寧學(xué),諸昌鈐,聶愛麗.內(nèi)存映射文件及其在大數(shù)據(jù)量文件快速存取中的應(yīng)用[J].計算機(jī)應(yīng)用研究,2004, (8):187-188.
Logging File Format Analysisand Transformation of Russian MAK-Ⅱand SGDT
DA I Yuexiang,CHEN Fengmei,L IU Tongliang,HUANGDailian,TONG Gulike
(Well Logging Company,Western D rilling Engineering Co rporation,CNPC,Karamayi,Xinjiang 834000,China)
Russia MA K-Ⅱand SGDT logging system can fully estimate the cement bonding and filling conditions,but itso riginal logging data uses special reco rding fo rmat and only can be identified by itsow n logging interp retation softw are,the other interp retation system sare unable to be directly used for the original logging data p rocessing.A s a result,it has brought great difficulties to use logging data directly.In this paper,based on elaborating original logging data format of Russian M A K-Ⅱand SGD T,in C#language environment,data fo rmat transfo rmation p rogram isw ritten by adop ting dynamic linked library(DLL)mode and achieves data transformation function from logging data of M A K-Ⅱand SGD T to W IS fo rmat.In Fo rw ard interp retation system, W IS file decompiles and logging curves are draw n,the results of w hich show that the format transfo rmation is entirely co rrect.
logging data,bonding,format transformation,MA K-Ⅱ,SGDT
1004-1338(2010)05-0462-04
P631.83
A
戴月祥,男,高級工程師,從事生產(chǎn)測井解釋及應(yīng)用研究。
符、深度采樣間隔、后續(xù)數(shù)據(jù)記錄體長度信息以及聲波波形起始時間、終止時間、時間采樣間隔等信息。表1列出了頭信息結(jié)構(gòu)及含義說明,對MA K-Ⅱ原始測井?dāng)?shù)據(jù)以字符串FKD進(jìn)行說明,在數(shù)據(jù)解編時可以用它作為判斷是否為MA K-Ⅱ文件的一個判別標(biāo)志,一般深度采樣間隔為0.1 m,在頭信息中并不包含測井起始深度、終止深度等信息。
2010-01-18 本文編輯 李總南)