戴月祥,陳風(fēng)梅,劉同良,黃代蓮,同古力克
(中國(guó)石油西部鉆探工程有限公司測(cè)井公司,新疆克拉瑪依834000)
俄羅斯M AK-Ⅱ和SGDT測(cè)井文件格式分析及轉(zhuǎn)換
戴月祥,陳風(fēng)梅,劉同良,黃代蓮,同古力克
(中國(guó)石油西部鉆探工程有限公司測(cè)井公司,新疆克拉瑪依834000)
俄羅斯MAK-Ⅱ、SGDT測(cè)井系統(tǒng)測(cè)得的評(píng)價(jià)水泥膠結(jié)及充填狀況原始數(shù)據(jù)采用其系統(tǒng)本身自帶的測(cè)井解釋軟件專用識(shí)別記錄格式,其他解釋系統(tǒng)均無法直接利用其原始測(cè)井?dāng)?shù)據(jù)進(jìn)行資料解釋評(píng)價(jià)。在詳細(xì)分析說明MA K-Ⅱ、SGDT原始測(cè)井?dāng)?shù)據(jù)記錄格式的基礎(chǔ)上,在C#語言環(huán)境下,采用動(dòng)態(tài)鏈接庫(kù)(DLL)模塊開發(fā)模式編寫了數(shù)據(jù)格式轉(zhuǎn)換程序,實(shí)現(xiàn)了MA K-Ⅱ、SGDT測(cè)井?dāng)?shù)據(jù)到W IS格式文件的轉(zhuǎn)換功能。利用Fo rward系統(tǒng)對(duì)生成的W IS文件進(jìn)行解編和繪圖,結(jié)果表明格式轉(zhuǎn)換完全正確。
測(cè)井?dāng)?shù)據(jù);固井質(zhì)量測(cè)井;格式轉(zhuǎn)換;MA K-Ⅱ;SGDT
俄羅斯固井質(zhì)量測(cè)井系統(tǒng)包括M A K-Ⅱ聲波儀器和SGDT伽馬-密度-厚度儀器。MA K-Ⅱ可以評(píng)價(jià)第Ⅰ、Ⅱ界面的水泥膠結(jié)質(zhì)量,SGDT可以反映套管外環(huán)形空間水泥的充填程度;兩者結(jié)合還可以比較全面地反映水泥膠結(jié)情況及充填狀況[1]。該系統(tǒng)記錄的MA K-Ⅱ和SGDT原始測(cè)井?dāng)?shù)據(jù)采用了專用格式[2],只有系統(tǒng)本身自帶的測(cè)井解釋軟件可以識(shí)別,國(guó)內(nèi)外其他解釋軟件系統(tǒng)無法直接利用俄羅斯固井質(zhì)量的原始測(cè)井?dāng)?shù)據(jù)進(jìn)行資料解釋評(píng)價(jià),給測(cè)井?dāng)?shù)據(jù)的直接利用帶來很大的困難。本文在分析了MA K-Ⅱ和SGDT原始測(cè)井?dāng)?shù)據(jù)格式的基礎(chǔ)上,闡述了實(shí)現(xiàn)了MA K-Ⅱ、SGD T測(cè)井?dāng)?shù)據(jù)到W IS格式文件的功能轉(zhuǎn)換,使相關(guān)解釋人員對(duì)俄羅斯固井質(zhì)量系統(tǒng)的測(cè)井?dāng)?shù)據(jù)格式有一個(gè)比較全面的了解,為測(cè)井解釋和科研工作提供一定的幫助。
MA K-Ⅱ原始測(cè)井?dāng)?shù)據(jù)由1個(gè)頭信息體和多個(gè)數(shù)據(jù)體組成。每個(gè)數(shù)據(jù)體的長(zhǎng)度可由頭文件相關(guān)信息讀出或者計(jì)算得到,聲波波形信息包含在數(shù)據(jù)體中,其中波形信息采用了專用的數(shù)據(jù)壓縮打包方式,所記錄的數(shù)據(jù)為聲波第1、第2個(gè)接收探頭接收到的波形數(shù)據(jù)(二維數(shù)據(jù))。
波形數(shù)據(jù)大致的記錄方式是每個(gè)數(shù)據(jù)體記錄1個(gè)深度值和對(duì)應(yīng)的多個(gè)隨時(shí)間變化的波形值。從測(cè)井?dāng)?shù)據(jù)整體上分析,測(cè)井曲線信息隨深度變化的同時(shí),在每個(gè)深度上又記錄多個(gè)不同時(shí)間的測(cè)井值。
1.1 頭信息結(jié)構(gòu)
表1 MAK-Ⅱ頭信息結(jié)構(gòu)
1.2 數(shù)據(jù)體結(jié)構(gòu)
在頭信息體之后緊跟多個(gè)數(shù)據(jù)體,其數(shù)量多少與測(cè)井深度有關(guān),測(cè)井起始、終止深度可由第1個(gè)和最后1個(gè)數(shù)據(jù)體的實(shí)時(shí)深度得到。所有數(shù)據(jù)體的長(zhǎng)度是一樣的,每個(gè)數(shù)據(jù)體長(zhǎng)度已經(jīng)在頭信息中定義,主要記錄壓縮后的聲波波形信息以及數(shù)據(jù)體標(biāo)識(shí)、采樣點(diǎn)實(shí)時(shí)深度等信息。表2給出了數(shù)據(jù)體結(jié)構(gòu)及說明,數(shù)據(jù)體標(biāo)識(shí)是十六進(jìn)制數(shù)55AA,實(shí)時(shí)深度由當(dāng)前深度和偏移深度相加得出,壓縮的聲波信息需要在解編時(shí)對(duì)數(shù)據(jù)重新進(jìn)行排列,其中波形數(shù)組長(zhǎng)度LENTH可由頭信息中相關(guān)內(nèi)容計(jì)算得到,為
表2 MAK-Ⅱ數(shù)據(jù)體結(jié)構(gòu)
若MA K-Ⅱ波形數(shù)據(jù)采用不壓縮方式記錄,2個(gè)接收探頭記錄的聲波數(shù)據(jù)分別以2個(gè)整形數(shù)據(jù)(int,2 B)存放,占用4 B空間;采用壓縮方式記錄時(shí),將 4 B的數(shù)據(jù)(32 bit)用3 B(24 bit)存放。MA K-Ⅱ?qū)嶋H波形數(shù)據(jù)采用壓縮方式記錄,所以計(jì)算波形數(shù)組長(zhǎng)度LENTH時(shí)必須乘3/4得到的才是真正的數(shù)組長(zhǎng)度。
1.3 聲波波形解析
準(zhǔn)確獲得包含在每個(gè)數(shù)據(jù)體中聲波波形信息是解析MA K-Ⅱ測(cè)井?dāng)?shù)據(jù)的關(guān)鍵所在。為了得到包含在數(shù)據(jù)體中壓縮的波形數(shù)據(jù),首先要計(jì)算每個(gè)數(shù)據(jù)體中波形的采樣點(diǎn)數(shù) PON IT_NUM,由頭信息中相關(guān)內(nèi)容計(jì)算,有
波形數(shù)據(jù)解編的過程實(shí)際上就是將壓縮的3 B數(shù)據(jù)還原成4 B數(shù)據(jù),即形成2個(gè)整數(shù)的過程。壓縮波形數(shù)據(jù)的每個(gè)點(diǎn)為24 bit即3 B組成,記錄2列波形,每列波形的數(shù)據(jù)點(diǎn)由12 bit(包括符號(hào)位在內(nèi))組成,解壓時(shí)要將之?dāng)U展成16 bit。圖1為解壓縮每個(gè)波形點(diǎn)數(shù)據(jù)的示意圖,可以看出,將每3 B (Obyt1、Obyt2、Obyt3)解編成4個(gè)新字節(jié)(Nbyt1、Nbyt2、Nbyt3、Nbyt4),其中Obyt1的前半個(gè)字節(jié)形成了1 B的 Nbyt2,后半個(gè)字節(jié)形成1 B的Nbyt4,實(shí)際上解出了波形數(shù)據(jù)整數(shù)的高位字節(jié)數(shù)值,而整數(shù)的低位字節(jié)數(shù)值沒有改變,即字節(jié)Obyt2、Obyt3分別對(duì)應(yīng)字節(jié)Nbyt1、Nbyt3。再將4個(gè)新字節(jié)的前2 B(Nbyt1、Nbyt2)合成1個(gè)整形數(shù)據(jù)(int,2 bit)即為第1點(diǎn)波形數(shù)據(jù),后2 B(Nbyt3、 Nbyt4)合成1個(gè)整形數(shù)據(jù)即為第2點(diǎn)波形數(shù)據(jù),依次類推,可以解編出整列的全部波形數(shù)據(jù)。由于PC機(jī)的數(shù)據(jù)存儲(chǔ)方式(如 Intel系列的處理器存儲(chǔ)方式)是地址由低到高,所以在讀取測(cè)井?dāng)?shù)據(jù)時(shí)要注意調(diào)整字節(jié)的順序。
圖1 解壓縮波形數(shù)據(jù)示意圖
SGD T原始測(cè)井?dāng)?shù)據(jù)與M A K-Ⅱ數(shù)據(jù)不同,它沒有記錄文件頭信息,而是由若干個(gè)長(zhǎng)度一定的數(shù)據(jù)幀組成,每個(gè)數(shù)據(jù)幀均包含測(cè)井方向、測(cè)井深度等信息,一般隱含深度采樣間隔為0.1 m。
2.1 文件整體結(jié)構(gòu)
SGD T原始測(cè)井?dāng)?shù)據(jù)由多個(gè)長(zhǎng)度均為100 B的數(shù)據(jù)幀組成,數(shù)據(jù)幀數(shù)量多少與測(cè)井深度深淺有關(guān),測(cè)井起始、終止深度可由第1個(gè)和最后1個(gè)數(shù)據(jù)幀的測(cè)井深度得到。每個(gè)數(shù)據(jù)幀的前4 B記錄深度信息,后96 B記錄測(cè)井曲線信息,且測(cè)井曲線信息均記錄為32 bit浮點(diǎn)數(shù)(float,4 B)。
深度信息由4 B構(gòu)成,記錄的十六進(jìn)制格式(以BCD碼表示)見表3。
表3 SGDT深度信息
2.2 數(shù)據(jù)幀曲線信息
每個(gè)數(shù)據(jù)幀的深度信息后用96 B記錄測(cè)井曲線信息,每4 B記錄1條曲線信息,可以記錄24條曲線數(shù)據(jù),曲線數(shù)據(jù)均以32 bit浮點(diǎn)數(shù)記錄,表示該深度點(diǎn)的曲線值。曲線存放順序由表4列出(每幀的記錄起始位置從0 B開始)。
一般情況下SGD T測(cè)井的原始數(shù)據(jù)存放順序是確定的,也可以在測(cè)井時(shí)重新進(jìn)行設(shè)置,在分析數(shù)據(jù)時(shí)只要知道數(shù)據(jù)通道信息就可以對(duì)之進(jìn)行分析和解編。
表4 SGDT幀曲線信息
3.1 W IS文件格式介紹
W IS數(shù)據(jù)格式是Fo rward系統(tǒng)采用的標(biāo)準(zhǔn)文件格式[3],目前基本上成為油田測(cè)井?dāng)?shù)據(jù)通用格式。W IS文件分為文件頭、對(duì)象入口記錄和對(duì)象數(shù)據(jù)體等3部分,數(shù)據(jù)存放以塊為單位。W IS文件可以存放通道對(duì)象、表對(duì)象、流對(duì)象等3種類型的對(duì)象,其中通道對(duì)象保存采集數(shù)據(jù)和處理結(jié)果(如測(cè)井曲線),表對(duì)象保存表格數(shù)據(jù)(如解釋結(jié)論),流對(duì)象保存二進(jìn)制數(shù)據(jù)塊(如解釋參數(shù))。表5為W IS格式的整體結(jié)構(gòu)。
W IS格式文件存放的測(cè)井曲線屬于通道對(duì)象,即MA K-Ⅱ的波形測(cè)井?dāng)?shù)據(jù)(二維數(shù)據(jù))屬于通道對(duì)象,是一個(gè)包含深度和時(shí)間二維的物理信息數(shù)據(jù)體。對(duì)于連續(xù)波形數(shù)據(jù)(不是點(diǎn)測(cè)數(shù)據(jù)),對(duì)象入口記錄結(jié)構(gòu)的主屬性為1、子屬性為2;通道對(duì)象結(jié)構(gòu)中定義的第1維為深度(包括起始深度、深度采樣間隔、采樣點(diǎn)數(shù)k1等信息),第2維為時(shí)間(包括起始時(shí)間、時(shí)間采樣間隔、采樣點(diǎn)數(shù) k2等信息);之后記錄k1×k2個(gè)實(shí)際測(cè)井?dāng)?shù)據(jù),占用文件空間大小以塊為單位計(jì)算。SGDT的測(cè)井曲線是一維數(shù)據(jù),通道對(duì)象結(jié)構(gòu)只需定義第1維深度信息即可,實(shí)際記錄k個(gè)(深度采樣點(diǎn)數(shù))測(cè)井?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ù)格式的解碼以動(dòng)態(tài)鏈接庫(kù)的形式出現(xiàn),將原始數(shù)據(jù)轉(zhuǎn)換為Forward系統(tǒng)可以識(shí)別的W IS格式文件。轉(zhuǎn)換程序主要模塊包括1個(gè)主模塊、2個(gè)數(shù)據(jù)輸入動(dòng)態(tài)鏈接庫(kù);每種文件格式解碼模塊均采用動(dòng)態(tài)鏈接庫(kù),其數(shù)據(jù)輸入接口基本相同,所以編寫格式轉(zhuǎn)換程序簡(jiǎn)單,方便程序擴(kuò)展功能。進(jìn)行格式轉(zhuǎn)換可按照如下步驟進(jìn)行。
(1)快速分析源文件結(jié)構(gòu),判斷源文件格式,確定轉(zhuǎn)換參數(shù)和模塊。
(2)準(zhǔn)確定位數(shù)據(jù)流位置,根據(jù)讀取的信息計(jì)算源文件邏輯記錄數(shù)、數(shù)據(jù)塊長(zhǎng)度等參數(shù)。
(3)按照一定模式讀取源文件中的參數(shù)和數(shù)據(jù),進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。
(4)對(duì)數(shù)據(jù)進(jìn)行重新組合和排列,生成新格式的目標(biāo)文件。
圖2是數(shù)據(jù)格式轉(zhuǎn)換的流程示意圖。為了加快數(shù)據(jù)的存取速度,將原始測(cè)井?dāng)?shù)據(jù)全部讀入內(nèi)存;由于MA K-Ⅱ包含波形數(shù)據(jù),文件體積比較大,可以采用內(nèi)存映射文件技術(shù)進(jìn)行測(cè)井?dāng)?shù)據(jù)格式轉(zhuǎn)換[5]。對(duì)實(shí)際測(cè)井?dāng)?shù)據(jù)分析發(fā)現(xiàn),MA K-Ⅱ每個(gè)數(shù)據(jù)體的長(zhǎng)度有時(shí)并不完全相同,在數(shù)據(jù)解編過程中最好用數(shù)據(jù)體標(biāo)識(shí)十六進(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)及各部分組成,同時(shí)對(duì)W IS格式作了簡(jiǎn)單說明。
(2)給出了MA K-Ⅱ、SGDT數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)換為W IS文件的步驟和流程,可以編程實(shí)現(xiàn)數(shù)據(jù)格式轉(zhuǎn)換與解編,滿足測(cè)井生產(chǎn)的需要,擴(kuò)大測(cè)井資料的應(yīng)用范圍。
[1] 張維平,等.俄羅斯固井質(zhì)量測(cè)井儀及解釋方法[M].北京:石油工業(yè)出版社,1998.
[2] MA KⅡ-SGDT測(cè)井儀器應(yīng)用手冊(cè)[Z].北京:北方亨泰科技發(fā)展有限公司,2002.
[3] 中國(guó)石油天然氣集團(tuán)公司油氣勘探部,等.測(cè)井解釋平臺(tái)底層WellBase技術(shù)開發(fā)手冊(cè)[M].北京:石油工業(yè)出版社,2000,2.
[4] Grant Palmer.C#程序員參考手冊(cè)[M].康博,譯.北京:清華大學(xué)出版社,2002.
[5] 楊寧學(xué),諸昌鈐,聶愛麗.內(nèi)存映射文件及其在大數(shù)據(jù)量文件快速存取中的應(yīng)用[J].計(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
戴月祥,男,高級(jí)工程師,從事生產(chǎn)測(cè)井解釋及應(yīng)用研究。
符、深度采樣間隔、后續(xù)數(shù)據(jù)記錄體長(zhǎng)度信息以及聲波波形起始時(shí)間、終止時(shí)間、時(shí)間采樣間隔等信息。表1列出了頭信息結(jié)構(gòu)及含義說明,對(duì)MA K-Ⅱ原始測(cè)井?dāng)?shù)據(jù)以字符串FKD進(jìn)行說明,在數(shù)據(jù)解編時(shí)可以用它作為判斷是否為MA K-Ⅱ文件的一個(gè)判別標(biāo)志,一般深度采樣間隔為0.1 m,在頭信息中并不包含測(cè)井起始深度、終止深度等信息。
2010-01-18 本文編輯 李總南)