歐 鷗, 唐 源,李甲奇
(成都理工大學(xué) 信息科學(xué)與技術(shù)學(xué)院, 成都 610059)
Zonge公司Mykle Raymond(1996)[1]公布了GDP-32ⅡCSAMT、TEM的*.AVG數(shù)據(jù)文件中各變量的計(jì)算表達(dá)式,其中的一次場(chǎng)和二次場(chǎng)的磁變量表示與國(guó)內(nèi)的常用表示法不一樣,且單位的數(shù)量級(jí)也不相同。GDP-32Ⅱ數(shù)據(jù)處理說明書對(duì)*.AVG文件中的數(shù)據(jù)說明有遺漏之處,這對(duì)*.AVG數(shù)據(jù)文件信息的提取和計(jì)算工作帶來了困難。
柳建新等[2]針對(duì)GDP系統(tǒng)的CSAMT的*.AVG數(shù)據(jù)文件,做了研究,成功提取了*.AVG數(shù)據(jù)文件信息,并用VC++語(yǔ)言制成了實(shí)用性軟件。作者將對(duì)*.AVG數(shù)據(jù)文件做進(jìn)一步研究。
*.AVG文件是由GDP-32Ⅱ軟件包中AMTAVG.EXE程序讀取*.FLD文件時(shí)產(chǎn)生的,文件中包含平均的各分離頻率的CSAMT數(shù)據(jù),是對(duì)*.FLD文件中多次測(cè)量的算術(shù)平均值。*.AVG文件是以ASCⅡ碼字符形式存儲(chǔ)的,可以直接用記事本或UltraEdit-32編輯器打開,但是*.AVG文件的數(shù)據(jù)存儲(chǔ)順序是按Zonge公司特有方式上下交錯(cuò)排列,如表1所示。
表1 CSAMT的AVG數(shù)據(jù)文件Tab.1 The AVG data file of CSAMT
*.AVG文件的頭文件,共5行,其中包括了測(cè)量的時(shí)間、文件名、測(cè)線號(hào)、極距大小(以m為單位)、發(fā)射地點(diǎn)編號(hào)、數(shù)據(jù)變量名、分隔符。*.AVG文件數(shù)據(jù)體部分,包含了所有測(cè)點(diǎn)各個(gè)頻率的數(shù)據(jù)值和數(shù)據(jù)平均信息。值得注意的是,GDP-32Ⅱ數(shù)據(jù)說明書所介紹的有幾個(gè)量的單位與國(guó)內(nèi)常用表示法有一定不同,現(xiàn)在重新標(biāo)注并加以說明[3],如表2所示。
表2 CSAMT的AVG數(shù)據(jù)文件變量說明Tab.2 The variable description of CSAMT AVG data file
GDP-32Ⅱ系統(tǒng)AVG文件都是按照固定格式進(jìn)行存儲(chǔ)的,這對(duì)于編程實(shí)現(xiàn)提取AVG文件信息是可行的。
對(duì)*.AVG文件讀取時(shí),頭文件部分每行可采用字符串一維數(shù)組進(jìn)行存儲(chǔ)。
READ(2,'(2X,9A20)')(HEAD1(I),I=1,9)
!存儲(chǔ)第一行的字符串
READ(2,'(2X,2A20)')(HEAD2(I),I=1,2)
READ(2,'(2X,3A20)')(HEAD3(I),I=1,3)
READ(2,*) !跳過對(duì)變量名的讀
取,在寫文件時(shí)可自行 定義變量名
READ(2,*) !跳過對(duì)分隔符的讀取
如何確定測(cè)點(diǎn)數(shù)和單個(gè)測(cè)點(diǎn)的頻率數(shù)?在不知道測(cè)點(diǎn)數(shù)和頻率數(shù)情況下,采用判斷測(cè)點(diǎn)號(hào)是否相等的辦法來確定測(cè)點(diǎn)數(shù)和頻率數(shù)。
I=1
DO
READ(2,'(3X,f8.1)')X(I)
!讀取測(cè)點(diǎn)號(hào)
IF(X(I)==X(1))THEN
!判斷測(cè)點(diǎn)號(hào)是否相同
NUMF=I
!確定出每個(gè)測(cè)點(diǎn)的頻率數(shù)
END IF
IF(X(I)==0.)THEN
NUMP=I
EXIT
END IF
I=I+1
END DO
NUMP=(NUMP-1)/NUMF !確定出測(cè)點(diǎn)
數(shù)
數(shù)據(jù)體部分中每一測(cè)點(diǎn)各個(gè)頻率采用二維實(shí)數(shù)組存儲(chǔ),數(shù)組變量名與Zonge的*.AVG數(shù)據(jù)文件變量名一致,并對(duì)每一個(gè)測(cè)點(diǎn)各個(gè)頻率用“冒泡”法進(jìn)行排序(升序或降序)。
LOGICAL FLAG
DO P=1,NUMP
!對(duì)每個(gè)測(cè)點(diǎn)進(jìn)行操作
NUMBER=NUMF
FLAG=.FALSE.
K=0
DO WHILE(.NOT.FLAG)
FLAG=.TRUE.
K=K+1
DO J=1,NUMBER-K
!對(duì)每個(gè)測(cè)點(diǎn)的各個(gè)
頻率對(duì)應(yīng)的變量值
進(jìn)行升序排列
IF(AA(J,P)>AA(J+1,P))THEN
TEMPA=AA(J,P)
…………………
TEMPH=HH(J,P)
AA(J,P)=AA(J+1,P)
……………………
HH(J+1,P)=TEMPH
FLAG=.FALSE.
END IF
END DO
END DO
END DO
主程序體在附錄中列出。
通過對(duì)AVG文件的讀取與重新整理,得到新的數(shù)據(jù)文件,如表3所示。
對(duì)照表1和表3可以看出:在表3中的數(shù)據(jù)文件中剔除了數(shù)據(jù)標(biāo)志變量,因?yàn)殄e(cuò)誤的數(shù)據(jù)是毫無(wú)意義的;新增加了頻點(diǎn)序列號(hào),為制作其他圖件提供了方便;按照頻率大小順序排列變量值,為GRAPHER、SURFER等軟件調(diào)用數(shù)據(jù),制作一維 、二維圖件提供方便;剔除了平均信息值,因?yàn)檫@些數(shù)據(jù)本身對(duì)于定性解釋時(shí),是無(wú)意義的。
通過對(duì)AVG文件信息的提取,用GRAPHER軟件制作出某一測(cè)點(diǎn)在不同收發(fā)距情況下的Cagniard視電阻率與頻率的雙對(duì)數(shù)坐標(biāo)關(guān)系圖(ρω-f)、電場(chǎng)與頻率的雙對(duì)數(shù)坐標(biāo)關(guān)系圖(Ema-f)和阻抗相位與頻率的單對(duì)數(shù)坐標(biāo)圖(Pha-f)(圖1)。
從圖1可知,曲線完整光滑,讀取的數(shù)據(jù)沒有發(fā)生錯(cuò)誤,驗(yàn)證了對(duì)數(shù)據(jù)讀取方法的正確性和程序的可靠性。
*.AVG文件是由TEMAVG.EXE程序讀取*.FLD文件時(shí)產(chǎn)生的,文件中包含各時(shí)間道的TEM的測(cè)量數(shù)據(jù),是對(duì)*.FLD文件中多次測(cè)量數(shù)據(jù)的算術(shù)平均值。*.AVG文件的數(shù)據(jù)存儲(chǔ)順序是按照時(shí)間道順序(從1,2,…,n道)排列的。*.AVG文件的頭文件,共9行,其中包括了測(cè)量的時(shí)間、文件名、排列裝置、延遲時(shí)間(μs),發(fā)射回線長(zhǎng)、短邊長(zhǎng)(m)、發(fā)射框面積(m2)、接收磁探頭(接收線圈)等效面積(m2)、數(shù)據(jù)變量名、分隔符(表4)。
*.AVG文件數(shù)據(jù)體部分,包含了所有測(cè)點(diǎn)各個(gè)時(shí)間道的數(shù)據(jù)值。在編制程序提取AVG數(shù)據(jù)文件信息時(shí),要對(duì)每個(gè)數(shù)據(jù)變量的單位作全面、準(zhǔn)確地認(rèn)識(shí),現(xiàn)對(duì)每一個(gè)變量的單位進(jìn)行說明[4],如表5所示。
表3 整理后的CSAMT的AVG數(shù)據(jù)文件Tab.3 The AVG data file of CSAMT after arrangement
圖1 整理后的AVG數(shù)據(jù)的曲線圖Fig.1 The curve of AVG data file after arrangement 表4 TEM的AVG數(shù)據(jù)文件 Tab.4 The AVG data file of TEM
TEMAVG 7.79: "D114.FLD", Dated 07-04-22, Processed 14 Aug 05 $ TEM: Array=In Loop (Central Loop)$ TEM: TXramp= 170.0 us$ TEM: TXdx= 600.0 m$ TEM: TXdy= 300.0 m$ TEM: RXarea= 180000. m2$ TEM: RXarea= 10000 m2skp Tx Station Grid-E Grid-N Freq Cmp Amps Win Time Magnitude RampAppRes Depth++┈++┈++┈++┈++┈++┈++┈┈++┈++┈┈++┈++┈++┈┈++┈┈++┈┈++ 2 1. 519822. 519822 2551844 32 Hz 20.00 1 .0331 9.2022e+4 8.5828e+1 4.7194e+1 2 1. 519822. 519822 2551844 32 Hz 20.00 2 .06362 8.9114e+4 5.6828e+1 5.3239e+1 2 1. 519822. 519822 2551844 32 Hz 20.00 3 .09414 8.6152e+4 3.4118e+1 5.0180e+1 2 1. 519822. 519822 2551844 32 Hz 20.00 4 0.1247 8.3147e+4 3.6216e+1 5.9492e+1 2 1. 519822. 519822 2551844 32 Hz 20.00 5 0.1552 8.0106e+4 2.8120e+1 5.8488e+1
表5 TEM的AVG數(shù)據(jù)文件變量說明Tab.5 The variable description of TEM AVG data file
*.AVG文件中每行尾為歸一化感應(yīng)電壓的平均信息(等時(shí)間間隔采樣時(shí))。對(duì)*.AVG文件讀取時(shí),頭文件部分每行可采用字符串一維數(shù)組進(jìn)行存儲(chǔ),程序設(shè)計(jì)與提取CSAMT的AVG文件的頭文件類似。確定測(cè)點(diǎn)數(shù)和時(shí)間道數(shù)程序設(shè)計(jì)與CSAMT確定測(cè)點(diǎn)數(shù)和頻率數(shù)相同,數(shù)據(jù)體部分中每一測(cè)點(diǎn)各個(gè)時(shí)間道采用二維實(shí)數(shù)組存儲(chǔ),數(shù)組變量名與Zonge的*.AVG數(shù)據(jù)文件變量名一致。值得注意的是,當(dāng)繪制與深度、時(shí)間道有關(guān)的斷面圖時(shí),要對(duì)每一個(gè)測(cè)點(diǎn)數(shù)據(jù)矩陣按對(duì)角線交換重新進(jìn)行排序,即相同時(shí)間道的數(shù)據(jù)在同一條曲線上。
DO P=1,NUMF
!按對(duì)角線交換重新進(jìn)行排序
DO J=1,NUMP
WRITE(10,10)P,J,NUMP+1-J,Sta(P,J),GE(P,J),GN(P,J),Fre(P,J),Comp,Amps(P,J),Win(P,J),&
Time(P,J),Vmag(P,J),Res(P,J),-1*Depth(P,J)
END DO
END DO
通過對(duì)AVG文件的讀取與重新整理,得到新的數(shù)據(jù)文件(表6)。
對(duì)照表4和表6可以看出:在如表6所示的數(shù)據(jù)文件中剔除了數(shù)據(jù)標(biāo)志變量,因?yàn)殄e(cuò)誤的數(shù)據(jù)是毫無(wú)意義的;剔除了發(fā)射點(diǎn)號(hào),因?yàn)榘l(fā)射點(diǎn)號(hào)對(duì)于數(shù)據(jù)處理是無(wú)意義的;新增加了測(cè)點(diǎn)號(hào)和每個(gè)測(cè)點(diǎn)的時(shí)間道序號(hào)(升序和降序),為GRAPHER,SURFER等軟件調(diào)用數(shù)據(jù),制作不同一維 、二維圖件提供方便;同樣剔除了平均信息值,因?yàn)檫@些數(shù)據(jù)本身對(duì)于定性解釋時(shí),也是無(wú)意義的。
通過對(duì)AVG文件信息的提取,用GRAPHER和SURFER軟件制作出某測(cè)線的1~6時(shí)間道時(shí)間譜剖面曲線和視電阻率-深度擬斷面圖(圖2)。
從圖2可知,曲線完整光滑,讀取的數(shù)據(jù)沒有發(fā)生錯(cuò)誤,說明了對(duì)數(shù)據(jù)讀取方法的正確性和程序的可靠性。
作者在分析了GDP-32ⅡAVG數(shù)據(jù)文件格式基礎(chǔ)上,統(tǒng)一表示出了GDP-32Ⅱ數(shù)據(jù)文件中與國(guó)內(nèi)電磁法變量單位的表示方法和數(shù)量級(jí),采用FOR-TRAN語(yǔ)言編制出了讀取與編輯*.AVG數(shù)據(jù)文件件信息程序,并對(duì)數(shù)據(jù)的移植性作出了相關(guān)說明,為GDP-32Ⅱ系統(tǒng)在野外生產(chǎn)中進(jìn)行數(shù)據(jù)前期預(yù)處理過程中提供了幫助。
表6 整理后的TEM的AVG數(shù)據(jù)文件Tab.6 The AVG data file of TEM after arrangement
圖2 時(shí)間譜剖面曲線和視電阻率-深度擬斷面圖Fig.2 The curve of time spectrum and the resistivity-depth pseudo section
參考文獻(xiàn):
[1] 美國(guó)Zonge公司. ZONGE Data Processing CSAMT DataAveraging Program[A]. December, 1996.
[2] 柳建新,王貴財(cái),佟鐵鋼,基于GDP系統(tǒng)AVG數(shù)據(jù)格式與開發(fā)研究[J].系統(tǒng)仿真技術(shù),2006,7.
[3] 程志平.電法勘探教程[M].桂林:桂林工學(xué)院,2003.
[4] 牛之璉.時(shí)間域電磁法原理[M].長(zhǎng)沙:中南工業(yè)大學(xué)出版社,1992.
[5] 徐士良.計(jì)算機(jī)常用算法,第二版[M].北京:清華大學(xué)出版社,1995.
[6] 美國(guó)Zonge公司. ZONGE Data Processing CSAMT DataAveraging Program[A]. December, 1996.
[7] 柳建新,王貴財(cái),佟鐵鋼.基于GDP系統(tǒng)AVG數(shù)據(jù)格式與開發(fā)研究.[J].系統(tǒng)仿真技術(shù),2006,2(3):7,144-149.
[8] 廖國(guó)忠,李富,梁生賢.基于GDP-32儀器中CSAMTAVG數(shù)據(jù)的預(yù)處理軟件開發(fā)[J].工程地球物理學(xué)報(bào),2013,10(2):165-172.
[9] 程志平.電法勘探教程[M].北京:冶金工業(yè)出版社,2003.
[10] 牛之璉.時(shí)間域電磁法原理[M].長(zhǎng)沙:中南工業(yè)大學(xué)出版社,1992.
[11] 徐士良.計(jì)算機(jī)常用算法(第二版)[M].北京:清華大學(xué)出版社,1995.
附錄
提取CSAMT的AVG文件主程序體
REAL Sta(30,50),Fre(30,50),Amp(30,50),Ema(30,50),Eph(30,50),&
Hma(30,50),Hph(30,50),Res(30,50),Pha(30,50)
INTEGER NUMF,NUMP
CHARACTER*2 Ord
CALL READ_AVG(Sta,Fre,Amp,Ema,Eph,Hma,Hph,ReS,Pha,NUMF,NUMP)
CALL PAIXU(Sta,Fre,Amp,Ema,Eph,Hma,Hph,ReS,Pha,NUMF,NUMP)
WRITE(*,*)"你想在文件中提取信息嗎?(Y/N)"
READ(*,*)Ord
IF(Ord=='N')THEN
GOTO 100
ELSE
CALL EDIT_DATA(Sta,Fre,ReS,Pha,NUMF,NUMP)
ENDIF
WRITE(*,*)"結(jié)束!產(chǎn)生了一個(gè)名為TEMP.TXT文件"
100 WRITE(*,*)'按ENTER鍵結(jié)束!'
PAUSE
END