戴月祥,陳風梅,劉同良,黃代蓮,同古力克
(中國石油西部鉆探工程有限公司測井公司,新疆克拉瑪依834000)
俄羅斯M AK-Ⅱ和SGDT測井文件格式分析及轉換
戴月祥,陳風梅,劉同良,黃代蓮,同古力克
(中國石油西部鉆探工程有限公司測井公司,新疆克拉瑪依834000)
俄羅斯MAK-Ⅱ、SGDT測井系統測得的評價水泥膠結及充填狀況原始數據采用其系統本身自帶的測井解釋軟件專用識別記錄格式,其他解釋系統均無法直接利用其原始測井數據進行資料解釋評價。在詳細分析說明MA K-Ⅱ、SGDT原始測井數據記錄格式的基礎上,在C#語言環境下,采用動態鏈接庫(DLL)模塊開發模式編寫了數據格式轉換程序,實現了MA K-Ⅱ、SGDT測井數據到W IS格式文件的轉換功能。利用Fo rward系統對生成的W IS文件進行解編和繪圖,結果表明格式轉換完全正確。
測井數據;固井質量測井;格式轉換;MA K-Ⅱ;SGDT
俄羅斯固井質量測井系統包括M A K-Ⅱ聲波儀器和SGDT伽馬-密度-厚度儀器。MA K-Ⅱ可以評價第Ⅰ、Ⅱ界面的水泥膠結質量,SGDT可以反映套管外環形空間水泥的充填程度;兩者結合還可以比較全面地反映水泥膠結情況及充填狀況[1]。該系統記錄的MA K-Ⅱ和SGDT原始測井數據采用了專用格式[2],只有系統本身自帶的測井解釋軟件可以識別,國內外其他解釋軟件系統無法直接利用俄羅斯固井質量的原始測井數據進行資料解釋評價,給測井數據的直接利用帶來很大的困難。本文在分析了MA K-Ⅱ和SGDT原始測井數據格式的基礎上,闡述了實現了MA K-Ⅱ、SGD T測井數據到W IS格式文件的功能轉換,使相關解釋人員對俄羅斯固井質量系統的測井數據格式有一個比較全面的了解,為測井解釋和科研工作提供一定的幫助。
MA K-Ⅱ原始測井數據由1個頭信息體和多個數據體組成。每個數據體的長度可由頭文件相關信息讀出或者計算得到,聲波波形信息包含在數據體中,其中波形信息采用了專用的數據壓縮打包方式,所記錄的數據為聲波第1、第2個接收探頭接收到的波形數據(二維數據)。
波形數據大致的記錄方式是每個數據體記錄1個深度值和對應的多個隨時間變化的波形值。從測井數據整體上分析,測井曲線信息隨深度變化的同時,在每個深度上又記錄多個不同時間的測井值。
1.1 頭信息結構

表1 MAK-Ⅱ頭信息結構
1.2 數據體結構
在頭信息體之后緊跟多個數據體,其數量多少與測井深度有關,測井起始、終止深度可由第1個和最后1個數據體的實時深度得到。所有數據體的長度是一樣的,每個數據體長度已經在頭信息中定義,主要記錄壓縮后的聲波波形信息以及數據體標識、采樣點實時深度等信息。表2給出了數據體結構及說明,數據體標識是十六進制數55AA,實時深度由當前深度和偏移深度相加得出,壓縮的聲波信息需要在解編時對數據重新進行排列,其中波形數組長度LENTH可由頭信息中相關內容計算得到,為


表2 MAK-Ⅱ數據體結構
若MA K-Ⅱ波形數據采用不壓縮方式記錄,2個接收探頭記錄的聲波數據分別以2個整形數據(int,2 B)存放,占用4 B空間;采用壓縮方式記錄時,將 4 B的數據(32 bit)用3 B(24 bit)存放。MA K-Ⅱ實際波形數據采用壓縮方式記錄,所以計算波形數組長度LENTH時必須乘3/4得到的才是真正的數組長度。
1.3 聲波波形解析
準確獲得包含在每個數據體中聲波波形信息是解析MA K-Ⅱ測井數據的關鍵所在。為了得到包含在數據體中壓縮的波形數據,首先要計算每個數據體中波形的采樣點數 PON IT_NUM,由頭信息中相關內容計算,有

波形數據解編的過程實際上就是將壓縮的3 B數據還原成4 B數據,即形成2個整數的過程。壓縮波形數據的每個點為24 bit即3 B組成,記錄2列波形,每列波形的數據點由12 bit(包括符號位在內)組成,解壓時要將之擴展成16 bit。圖1為解壓縮每個波形點數據的示意圖,可以看出,將每3 B (Obyt1、Obyt2、Obyt3)解編成4個新字節(Nbyt1、Nbyt2、Nbyt3、Nbyt4),其中Obyt1的前半個字節形成了1 B的 Nbyt2,后半個字節形成1 B的Nbyt4,實際上解出了波形數據整數的高位字節數值,而整數的低位字節數值沒有改變,即字節Obyt2、Obyt3分別對應字節Nbyt1、Nbyt3。再將4個新字節的前2 B(Nbyt1、Nbyt2)合成1個整形數據(int,2 bit)即為第1點波形數據,后2 B(Nbyt3、 Nbyt4)合成1個整形數據即為第2點波形數據,依次類推,可以解編出整列的全部波形數據。由于PC機的數據存儲方式(如 Intel系列的處理器存儲方式)是地址由低到高,所以在讀取測井數據時要注意調整字節的順序。

圖1 解壓縮波形數據示意圖
SGD T原始測井數據與M A K-Ⅱ數據不同,它沒有記錄文件頭信息,而是由若干個長度一定的數據幀組成,每個數據幀均包含測井方向、測井深度等信息,一般隱含深度采樣間隔為0.1 m。
2.1 文件整體結構
SGD T原始測井數據由多個長度均為100 B的數據幀組成,數據幀數量多少與測井深度深淺有關,測井起始、終止深度可由第1個和最后1個數據幀的測井深度得到。每個數據幀的前4 B記錄深度信息,后96 B記錄測井曲線信息,且測井曲線信息均記錄為32 bit浮點數(float,4 B)。
深度信息由4 B構成,記錄的十六進制格式(以BCD碼表示)見表3。

表3 SGDT深度信息
2.2 數據幀曲線信息
每個數據幀的深度信息后用96 B記錄測井曲線信息,每4 B記錄1條曲線信息,可以記錄24條曲線數據,曲線數據均以32 bit浮點數記錄,表示該深度點的曲線值。曲線存放順序由表4列出(每幀的記錄起始位置從0 B開始)。
一般情況下SGD T測井的原始數據存放順序是確定的,也可以在測井時重新進行設置,在分析數據時只要知道數據通道信息就可以對之進行分析和解編。

表4 SGDT幀曲線信息
3.1 W IS文件格式介紹
W IS數據格式是Fo rward系統采用的標準文件格式[3],目前基本上成為油田測井數據通用格式。W IS文件分為文件頭、對象入口記錄和對象數據體等3部分,數據存放以塊為單位。W IS文件可以存放通道對象、表對象、流對象等3種類型的對象,其中通道對象保存采集數據和處理結果(如測井曲線),表對象保存表格數據(如解釋結論),流對象保存二進制數據塊(如解釋參數)。表5為W IS格式的整體結構。
W IS格式文件存放的測井曲線屬于通道對象,即MA K-Ⅱ的波形測井數據(二維數據)屬于通道對象,是一個包含深度和時間二維的物理信息數據體。對于連續波形數據(不是點測數據),對象入口記錄結構的主屬性為1、子屬性為2;通道對象結構中定義的第1維為深度(包括起始深度、深度采樣間隔、采樣點數k1等信息),第2維為時間(包括起始時間、時間采樣間隔、采樣點數 k2等信息);之后記錄k1×k2個實際測井數據,占用文件空間大小以塊為單位計算。SGDT的測井曲線是一維數據,通道對象結構只需定義第1維深度信息即可,實際記錄k個(深度采樣點數)測井數據。

表5 W IS文件結構
3.2 文件格式轉換
轉換程序采用C#語言進行開發[4]。為了便于系統擴充,M A K-Ⅱ和SGD T數據格式的解碼以動態鏈接庫的形式出現,將原始數據轉換為Forward系統可以識別的W IS格式文件。轉換程序主要模塊包括1個主模塊、2個數據輸入動態鏈接庫;每種文件格式解碼模塊均采用動態鏈接庫,其數據輸入接口基本相同,所以編寫格式轉換程序簡單,方便程序擴展功能。進行格式轉換可按照如下步驟進行。
(1)快速分析源文件結構,判斷源文件格式,確定轉換參數和模塊。
(2)準確定位數據流位置,根據讀取的信息計算源文件邏輯記錄數、數據塊長度等參數。
(3)按照一定模式讀取源文件中的參數和數據,進行數據格式轉換。
(4)對數據進行重新組合和排列,生成新格式的目標文件。
圖2是數據格式轉換的流程示意圖。為了加快數據的存取速度,將原始測井數據全部讀入內存;由于MA K-Ⅱ包含波形數據,文件體積比較大,可以采用內存映射文件技術進行測井數據格式轉換[5]。對實際測井數據分析發現,MA K-Ⅱ每個數據體的長度有時并不完全相同,在數據解編過程中最好用數據體標識十六進制數55AA判斷是否為數據體開始的標志。

圖2 數據格式轉換流程圖
(1)詳細分析了MA K-Ⅱ數據格式和SGDT數據格式的整體結構及各部分組成,同時對W IS格式作了簡單說明。
(2)給出了MA K-Ⅱ、SGDT數據數據轉換為W IS文件的步驟和流程,可以編程實現數據格式轉換與解編,滿足測井生產的需要,擴大測井資料的應用范圍。
[1] 張維平,等.俄羅斯固井質量測井儀及解釋方法[M].北京:石油工業出版社,1998.
[2] MA KⅡ-SGDT測井儀器應用手冊[Z].北京:北方亨泰科技發展有限公司,2002.
[3] 中國石油天然氣集團公司油氣勘探部,等.測井解釋平臺底層WellBase技術開發手冊[M].北京:石油工業出版社,2000,2.
[4] Grant Palmer.C#程序員參考手冊[M].康博,譯.北京:清華大學出版社,2002.
[5] 楊寧學,諸昌鈐,聶愛麗.內存映射文件及其在大數據量文件快速存取中的應用[J].計算機應用研究,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
戴月祥,男,高級工程師,從事生產測井解釋及應用研究。
符、深度采樣間隔、后續數據記錄體長度信息以及聲波波形起始時間、終止時間、時間采樣間隔等信息。表1列出了頭信息結構及含義說明,對MA K-Ⅱ原始測井數據以字符串FKD進行說明,在數據解編時可以用它作為判斷是否為MA K-Ⅱ文件的一個判別標志,一般深度采樣間隔為0.1 m,在頭信息中并不包含測井起始深度、終止深度等信息。
2010-01-18 本文編輯 李總南)