⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 segy_readme

📁 su 的源代码库
💻
字号:
;;=============================================================================;;;; Functions:  segy_write, segy_read, segy_header;;;; Author:     Martin Luethi, VAW, ETH Zurich, Switzerland;;             luthi@vaw.baum.ethz.ch;;;; Date:       26. September 1996;;;; Purpose:    Write and read data files in SEGY format;;             ;;             The SEGY format is a standard file format for seismic data.;;             It consists mainly of headers containing all the information;;             on a trace and a body with the measured seismic data. The;;             data is stored in binary form.;;;;             The header fields are those defined by Seismic Unix which;;             do not correspond in all detail to standard SEGY format;;             (see the documentation of Seismic Unix for further details).;;;;             Seismic Unix is powerful free seismic software which is;;             available via ftp from the Colorado School of Mines:;;                   ftp.cwp.mines.edu. ;;             Their homepage is located at ;;                   http://www.cwp.mines.edu;;;;=============================================================================;;;; Example 1:  Save 50 traces of seismic data with 600 samples per trace;;             to a SEGY-file. Set some header fields with important data;;             such as coordinates of the shots;; Save ntr=50 traces with ns=600 samples each   ntr = 50   ns = 600;; The header structure is defined using SEGY_header:   SEGY_header, header;; Now make an array of ntr headers and define the data array   head = Replicate(header, ntr)   data = FltArr(ntr, ns);; Fill the header fields with important values (this fields will be set;; automatically by segy_write   head.ntr = ntr   head.ns  = ns;; here we fill the header with any information we want;; see SU documentation or SEGY_header.pro for field names   head.dt = dt ;;                            sample time   FOR i = 0, ntr-1 DO BEGIN      head(i).sx = source_coordinate_x(i) ;;  cooridates of shotpoints      head(i).sy = source_coordinate_y(i)   ENDFOR;; now let's write the data to disk   SEGY_write, '/usr/data/seis/myprofile.su', head, data;;=============================================================================;; Example 2:  Read some seismic traces from a SEGY file;; read all data from the file (head and data will be declared on output)   SEGY_read, '/usr/data/seis/myprofile.su', head, data;; if we need only some traces, we may pick them from the file   trace_idx = indgen(20)+35 ;;  read only traces 55..75   SEGY_read, '/usr/data/seis/myprofile.su', head, data, trace_idx;; get information on the traces from the header   ntr = head(0).ntr ;;                    number of trace in profile   ns  = head(0).ns  ;;                    number of samples per trace   dt  = head(0).dt  ;;                    sampling interval   ;; now read all the source coordinates in an array   scoord = fltarr(2,ntr)   scoord(0,*) = head.sx   scoord(1,*) = head.sy;; the names and contents of the other header fields are documented in the;; source code of segy_header.pro or in the Seismic Unix Manual;; finally plot the trace nr 52   plot, indgen(ns)*dt, data(52,*);;=============================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -