psdemo

来自「su 的源代码库」· 代码 · 共 163 行

TXT
163
字号
#! /bin/sh# PSDemo --- example script for sufdmod2# finite-difference modeling: display model and movie# Author: John Stockwell# Modified from various XDemos by Chris Liner 2/12/02# Big changes...#  1. deleted (n1,n2) params to unif2 (unused)#     note on use of (dx,dz) in unif2 hardwired model#     added 2x2 smoothing to velocity model#  2. uses ps2pdf to generate pdf output#  3. cleaned up unit labeling inconsistency#  4. moved shot to x=50 m to show more far offset action#     moved shot to z=15 m depth (more realistic)#     moved horiz recs to 5 m depth (more realistic)#     moved vsp to x=150 m (somewhat realistic)#  5. changed top boundary to free surface (ghost,multiples)#  6. output of sufdmod2 saved to file movie.su#  7. added display of snapshot 56#  8. added ps displays of hseis and vseis#     including a double flip of vseis for standard vsp plot#  9. added 4-panel display of frame 56, vels, hseis, vseis# 10. added pscube display of finite difference data# 11. for clarity, su format files now have .su extension# 12. added lots of comments# parameters used in programs belown1=100 d1=5 f1=0.0 label1="Depth (m)"n2=100 d2=5 f2=0.0 label2="Distance (m)"xs=50 zs=15 hsz=5 vsx=150 verbose=2vsfile="vseis.su" ssfile="sseis.su" hsfile="hseis.su"tmax=.4 mt=5 fpeak=35 fmax=40# make 5-interface demonstration velocity file# 1. the model.txt file is hardwired to#    (nx,dx,nz,dz)=(100,10,100,10)# 2. model.txt is a text file that can be edited#    to change the interface geometryunif2 tfile=model.out# generate the velocity model v(x,z)# Note: with the default model.txt, dx and dz are#       in effect dummy parameters that determine#       how much of the complete model to use.#       Setting (dx,dz)=(10,10) uses the entire model,#       while smaller (dx,dz) gives some portion of#       the upper left corner.  Using dx not equal#       dz changes the aspect ratio of the model#       (e.g., try dx=10 dy=10 to see whole model)unif2 < model.out nx=$n2 nz=$n1 \      dx=7 dz=7 \      method=spline \  | smooth2 n1=$n1 n2=$n2 r1=2 r2=2 \  > vel.out# make image of the velocity modelpsimage < vel.out \  title="Wavespeed Profile" \  n1=$n1 n2=$n2 d1=$d1 d2=$d2 \  legend=1 lnice=1 units="m/s" \  label1="$label1" label2="$label2" \  > vel.psps2pdf vel.ps# 1. run finite difference code# 2. set dummy dt header word for supsimage plotting# 3. set tracl header word from 1->ntr for suwind trace selectionsufdmod2 <vel.out \    nz=$n1 dz=$d1 nx=$n2 dx=$d2 verbose=1 \    fpeak=$fpeak fmax=$fmax \    xs=$xs zs=$zs hsz=$hsz vsx=$vsx hsfile=$hsfile \    vsfile=$vsfile ssfile=$ssfile verbose=$verbose \    tmax=$tmax abs=0,1,1,1 mt=$mt \  | sushw key=dt,tracl a=4000,1 b=0,1 \  > movie.su# Make image of snapshot 56.# Note: Snapshot 56 corresponds to time step 280#       because mt=5, five compute steps for every#       output time sample.  The actual time value#       associated with time step 280 can be found#       from the verbose outputsuwind < movie.su key=tracl min=5600 max=5700 \  | supsimage perc=98 \      title="Wavefield (t=0.28 s; source at x=50 m, z=5 m)" \      n1=$n1 n2=$n2 d1=$d1 d2=$d2 f2=0 \      label1="$label1" label2="$label2" \  > snap.psps2pdf snap.ps# make image of horizontal datasupsimage < hseis.su perc=98 \  title="Surface data (dx=5 m, z=5 m)" \  d2=$d2 f2=0 \  label1="Time (s)" label2="$label2" \> hseis.psps2pdf hseis.ps# make image of vertical (vsp) data# 1. flip the data to have depth vertical and time horizontalsuflip < vseis.su flip=-1 \  | suflip flip=3 \  > tmp.su# make the imagesupsimage < tmp.su perc=98 \  title="VSP data (x=150 m, dz=5 m)" \  d1=$d1 f1=0 f2=0 d2=.001 \  label1="Depth (m)" label2="Time (s)" \> vseis.psps2pdf vseis.ps# make composite image of vel model, a snapshot,# streamer seismic, and vsp seismicmerge4 snap.ps vel.ps hseis.ps vseis.ps \  > all.psps2pdf all.ps# make ps movie of all the snap shots# Note: fixed clip for absolute scaling between framessupsmovie < movie.su clip=1 \  title="Acoustic Finite-Differencing" \  title2="Frame" \  label1="$label1" label2="$label2" \  n1=$n1 d1=$d1 f1=$f1 n2=$n2 d2=$d2 f2=$f2 \  > movie.psps2pdf movie.ps# cube view of data subset# 1. the cube is (nx,ny,nt)=(n1,n2,n3)# 2. skip first 44 snapshots of 100 traces each# 3. chop off top half of the cube (pscube thinks dir1 is time)suwind < movie.su \  key=tracl min=4400 \  itmin=50 \  > cube.su# make the image# 1. n1 = 100 - 50 = 50 ; f1 = 50*5 = 250 m# 2. n3 = 81 - 44 = 37 ; f3 = 44 * .004 = 0.176 ssupscube < cube.su \  n1=50 n2=100 \  f1=250 d1=5 f2=0 d2=5 f3=0.176 d3=.004 \  f1num=250 f2num=0 f3num=0.2 \  label1="$label1" label2="$label2" \  label3="Time (0.176 - 0.2 s)" \  title="Cube display of finite difference data" \  > cube.psps2pdf cube.pssupscubecontour < cube.su \  nc=20 \  n1=50 n2=100 \  f1=250 d1=5 f2=0 d2=5 f3=0.176 d3=.004 \  f1num=250 f2num=0 f3num=0.2 \  label1="$label1" label2="$label2" \  label3="Time (0.176 - 0.2 s)" \  title="Cube contour display of finite difference data" \  > contourcube.psps2pdf contourcube.psexit 0

⌨️ 快捷键说明

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