郭海敏,樊鶴,張宮 (油氣資源與勘探技術(shù)教育部重點實驗室 (長江大學(xué)),湖北 武漢430100)
LAS(測井ASCII標(biāo)準(zhǔn))是1990年由加拿大測井協(xié)會提出的,主要為了方便測井服務(wù)公司與客戶間測井?dāng)?shù)據(jù)的數(shù)字交換。作為一種格式化的ASCII文件,LAS可以很容易地從任何計算機(jī)平臺、PC機(jī)、工作站或大型機(jī)上輸入和輸出,格式要求簡單易于程序分析。LAS已成為測井?dāng)?shù)據(jù)數(shù)字轉(zhuǎn)換的最廣泛使用格式和事實上的工業(yè)標(biāo)準(zhǔn)[1]。目前常用的LAS格式版本是2.0和3.0,部分老軟件輸出的為1.2版本。LAS格式數(shù)據(jù)的存放有兩種模式,一種是深度值和曲線數(shù)據(jù)在同一行 (不換行模式),另一種是深度值和曲線數(shù)據(jù)不在同一行 (換行模式)。這兩種模式由LAS文件頭的WRAP屬性進(jìn)行標(biāo)示,一般情況下當(dāng)曲線條數(shù)較少時用不換行模式,曲線條數(shù)較多時用換行模式。目前常用的測井?dāng)?shù)據(jù)處理軟件均對LAS格式有良好的支持,但仍舊存在以下一些問題。
首先,對換行模式的不支持。Forward平臺是目前使用較為廣泛的測井?dāng)?shù)據(jù)處理軟件,支持LAS2.0格式數(shù)據(jù)的解編與導(dǎo)出。然而,F(xiàn)orward平臺在解編LAS格式測井?dāng)?shù)據(jù)的時候只支持不換行模式,在數(shù)據(jù)導(dǎo)出的時候輸出的卻是換行模式。這就造成Forward平臺無法識別自身導(dǎo)出的LAS格式數(shù)據(jù)。
其次,多條曲線的合并。LAS格式的數(shù)據(jù)擺放結(jié)構(gòu)決定了它不適合于存放多維曲線數(shù)據(jù)。然而為了方便進(jìn)行數(shù)據(jù)交換,很多儀器和軟件采用把多維曲線拆分后存放于LAS格式數(shù)據(jù)中。以變密度測井為例,變密度曲線是二維數(shù)據(jù),每個深度點采樣250個,當(dāng)用LAS格式存放這種曲線時,需要將變密度曲線拆分成250條單獨的曲線。因此當(dāng)對這類LAS曲線進(jìn)行解編的時候需要把這250條單獨的曲線合并成1條二維曲線,然而很多平臺卻沒有提供該功能。
另外,批量轉(zhuǎn)換。在實際科研和工作當(dāng)中,會遇到將大量LAS格式的數(shù)據(jù)轉(zhuǎn)換為其他格式的問題,用一般的測井?dāng)?shù)據(jù)處理平臺進(jìn)行轉(zhuǎn)換只能對單口井進(jìn)行處理。當(dāng)LAS格式數(shù)據(jù)量非常大的時候,這將是一件十分煩瑣與耗費時間的事情。因此如果能夠?qū)AS格式數(shù)據(jù)進(jìn)行批量轉(zhuǎn)換將會在很大程度上提高工作效率[2,3]。
鑒于以上幾個問題,筆者提出了編寫LAS測井?dāng)?shù)據(jù)批量轉(zhuǎn)換程序的課題,目的就是為了解決換行模式與不換行模式LAS數(shù)據(jù)之間的相互轉(zhuǎn)換、LAS格式的多維曲線的拆分與合并以及LAS格式數(shù)據(jù)與其他格式之間的相互批量轉(zhuǎn)換這些問題。
LAS格式文件不同信息是用符號標(biāo)識來進(jìn)行區(qū)分的,不同的標(biāo)識信息代表不同的含義,主要包括以下幾種:
1)“~”符號 這個標(biāo)識代表段的開始,緊跟著這個標(biāo)識的第一個字符串就表明了這個段的類型。
2)“#”符號 這個標(biāo)識代表注釋行的開始,緊跟著這個標(biāo)識的一行為注釋行。
3)“.”和 “:”符號 這兩個符號在非ASCII段使用?!埃睒?biāo)識之前是字段名稱,兩個符號之間是該字段的值,“:”之后是該字段的說明信息。
4)“{}”符號 這個標(biāo)識用來說明該行的數(shù)據(jù)格式,包括字符串、整數(shù)、浮點數(shù)、指數(shù)、日期以及度。
5)“|”符號 用來關(guān)聯(lián)行,可以將與該行有關(guān)的行關(guān)聯(lián)起來,借用關(guān)聯(lián)行可以實現(xiàn)更多信息的表達(dá)。
LAS格式文件由多個類型的段組成,不同的段包含特定的信息或數(shù)據(jù)體。一般情況下主要包括以下幾種類型的段:①Version段,段標(biāo)記為 “~V”,主要包含版本信息和是否換行標(biāo)示信息;②Well段,段標(biāo)記為 “~W”,主要包含井的信息;③Curve段,段標(biāo)記為 “~C”,主要包含曲線的一些屬性信息;④Parameter段,段標(biāo)記為 “~P”主要包括參數(shù)或常量信息;⑤ASCII段,段標(biāo)記為 “~A”主要包括數(shù)據(jù)體信息。
弄清楚LAS格式的這些標(biāo)識符號的含義及段信息結(jié)構(gòu),就可以對LAS數(shù)據(jù)進(jìn)行準(zhǔn)確的解析與存儲了[1]。
解析LAS格式數(shù)據(jù),首先要讀取LAS格式的Version段信息,判斷LAS格式的版本和換行模式;獲取LAS格式版本后,可以繼續(xù)讀取除去ASCII段外的其他段信息,以獲取該測井?dāng)?shù)據(jù)的井信息、曲線信息以及各個參數(shù)信息;最后根據(jù)各段獲取的信息,對ASCII段的數(shù)據(jù)進(jìn)行準(zhǔn)確的讀取與拆分 (圖1)。
圖1 LAS格式測井?dāng)?shù)據(jù)解析流程圖
該程序采用面向?qū)ο蟪绦蛟O(shè)計,共設(shè)計1個公共接口和3個類。其中1個接口為ILoggingDataIO,主要功能是統(tǒng)一各種不同測井?dāng)?shù)據(jù)的讀寫,便于以后的擴(kuò)展。3個類分別是LASIO、WISIO和LASConvertUI,其中LASIO實現(xiàn)ILoggingDataIO,主要完成LAS格式測井?dāng)?shù)據(jù)的解析任務(wù);WISIO實現(xiàn)ILoggingDataIO,主要實現(xiàn)WIS格式測井?dāng)?shù)據(jù)的讀寫工作[4];LASConvertUI主要實現(xiàn)用戶交互功能。
筆者利用VisualStudio2010編程平臺,采用C#語言開發(fā)了一套處理LAS格式數(shù)據(jù)程序。該軟件具有LAS測井?dāng)?shù)據(jù)解析查看、LAS換行模式切換、曲線合并及批量轉(zhuǎn)換處理等功能。LAS數(shù)據(jù)轉(zhuǎn)換程序界面見圖2。
圖2 LAS數(shù)據(jù)轉(zhuǎn)換程序界面
筆者用幾個LAS格式的測井?dāng)?shù)據(jù)對程序功能進(jìn)行了測試,測試結(jié)果如表1所示。對一口含有12條曲線的常規(guī)測井?dāng)?shù)據(jù) (LAS格式)進(jìn)行了換行模式切換,并將轉(zhuǎn)換結(jié)果在 Forward、CIFLog、LEAD等測井?dāng)?shù)據(jù)處理平臺上進(jìn)行了驗證。對一口現(xiàn)場提供的變密度測井?dāng)?shù)據(jù) (LAS格式)進(jìn)行了曲線合并處理,并轉(zhuǎn)換成WIS格式。該數(shù)據(jù)有5條常規(guī)曲線和250條變密度波列拆分曲線,對其中的250條變密度曲線進(jìn)行合并后在Forward平臺下進(jìn)行了回放,結(jié)果顯示完全正確。最后用一口含有23條常規(guī)曲線的LAS格式測井?dāng)?shù)據(jù),對程序的格式轉(zhuǎn)換功能進(jìn)行了測試,轉(zhuǎn)換成WIS格式后能夠正確地被Forward及Watch等平臺識別。
表1 軟件功能測試結(jié)果表
驗證了該程序的正確性后,對該程序的批量處理功能進(jìn)行了測試,測試結(jié)果如表2所示。欲對換行模式進(jìn)行手工轉(zhuǎn)換,需要先用Excel軟件將數(shù)據(jù)進(jìn)行拆分,之后再對轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行組合,平均每口井耗時約5min。而利用筆者編寫的程序?qū)?3口井?dāng)?shù)據(jù)進(jìn)行換行模式批量轉(zhuǎn)換,共耗時2.4min,效率提高近50倍。對于LAS曲線的合并,首先需要將LAS格式的數(shù)據(jù)轉(zhuǎn)換為其他平臺可以識別的二進(jìn)制格式,之后再利用平臺提供的曲線合并功能進(jìn)行處理,處理5口井?dāng)?shù)據(jù)需耗時近50min,而用程序批量處理僅耗時4.2min。批量格式轉(zhuǎn)換效率提高了20多倍,該程序雖然只提供了轉(zhuǎn)換為WIS格式的功能,但保留了其他測井?dāng)?shù)據(jù)格式的轉(zhuǎn)換接口,便于以后的擴(kuò)展。
表2 程序批量處理測試結(jié)果表
1)采用C#語言編寫的LAS測井?dāng)?shù)據(jù)格式解析程序,能夠準(zhǔn)確高效地對LAS格式測井?dāng)?shù)據(jù)進(jìn)行解析、合并等。
2)該程序提供批處理功能,能夠很大程度減少手工處理所需要的時間。
3)該程序提供了轉(zhuǎn)換成其他測井?dāng)?shù)據(jù)的接口,便于以后的擴(kuò)展使用。
[1]馬勇光 .測井?dāng)?shù)據(jù)格式解編框架設(shè)計及應(yīng)用該框架實現(xiàn)LAS數(shù)據(jù)格式解編 [D].長春:吉林大學(xué),2008.
[2]胡振平,王昌德,王本奇 .測井?dāng)?shù)據(jù)格式轉(zhuǎn)換系統(tǒng) [J].測井技術(shù),2005,29(4):368~370.
[3]胡佳慶 .測井?dāng)?shù)據(jù)常用格式及格式轉(zhuǎn)換 [J].海洋石油,2003,23(1):75~80.
[4]張宮,何宗斌,樊鶴 .WIS測井?dāng)?shù)據(jù)格式中二維數(shù)據(jù)的解析與轉(zhuǎn)儲 [J].科學(xué)技術(shù)與工程,2011,11(6):3775~3778.