Command-line usage Xuxin Ma King Abdullah University of Science and - - PowerPoint PPT Presentation

command line usage
SMART_READER_LITE
LIVE PREVIEW

Command-line usage Xuxin Ma King Abdullah University of Science and - - PowerPoint PPT Presentation

Command-line usage Xuxin Ma King Abdullah University of Science and Technology Beijing, Jul 21, 2011 Xuxin (KAUST) command line Madagascar School 2011 1 / 36 Outline Madagascar Programs 1 RSF Format 2 Plotting 3 Xuxin (KAUST) command


slide-1
SLIDE 1

Command-line usage

Xuxin Ma

King Abdullah University of Science and Technology

Beijing, Jul 21, 2011

Xuxin (KAUST) command line Madagascar School 2011 1 / 36

slide-2
SLIDE 2

Outline

1

Madagascar Programs

2

RSF Format

3

Plotting

Xuxin (KAUST) command line Madagascar School 2011 2 / 36

slide-3
SLIDE 3

Outline

1

Madagascar Programs

2

RSF Format

3

Plotting

Xuxin (KAUST) command line Madagascar School 2011 3 / 36

slide-4
SLIDE 4

Madagascar programs

“sf” prefix 812 programs (2011-07-15) 30+ developers Developed using C, C++, Fortran, Python Applications

◮ Numerical recipes ◮ General data analysis ◮ Seismic processing ◮ Visualization Xuxin (KAUST) command line Madagascar School 2011 4 / 36

slide-5
SLIDE 5

Madagascar programs

List of all programs

sfdoc -k . or http://www.ahay.org/RSF

bash $ sfdoc -k . sfwave: Rice HPCSS seismic modeling and migration. sfofpwd: Objective function

  • f dip

estimation with PWD filters. sferf: Bandpass filtering using erf function. sfinfill: Shot interpolation . sfgbeamform : 2-D lateral smoothing. ...

Xuxin (KAUST) command line Madagascar School 2011 5 / 36

slide-6
SLIDE 6

Madagascar programs

List of all programs

sfdoc -k . or http://www.ahay.org/RSF

bash $ sfdoc -k . sfwave: Rice HPCSS seismic modeling and migration. sfofpwd: Objective function

  • f dip

estimation with PWD filters. sferf: Bandpass filtering using erf function. sfinfill: Shot interpolation . sfgbeamform : 2-D lateral smoothing. ...

Look for specific programs

sfdoc -k keyword

bash $ sfdoc -k interpolation sfinfill: Shot interpolation . sflevint: Leveler inverse interpolation in 1-D. sfmsmiss: Multiscale missing data interpolation (N- dimensional ). sffreqreg: Local frequency interpolation . ...

Xuxin (KAUST) command line Madagascar School 2011 5 / 36

slide-7
SLIDE 7

Self documentation

Print out documentation

sfprog without arguments

bash $ sfwindow NAME sfwindow DESCRIPTION Window a portion

  • f a dataset.

SYNOPSIS sfwindow < in.rsf > out.rsf verb=n squeeze=y j#=(1 ,...) d#=( d1 ,d2 ,...) f#=(0 ,...) min #=(o1 ,o2 , ,...) n#=(0 ,...) max #=(

  • 1+(n1 -1)*d1 ,o2+(n1 -1)*d2 , ,...)

PARAMETERS float d#=(d1 ,d2 ,...) sampling in #-th dimension largeint f#=(0 ,...) window start in #-th dimension int j#=(1 ,...) jump in #-th dimension float max #=( o1+(n1 -1)*d1 ,o2+(n1 -1)*d2 , ,...) maximum in #- th dimension float min #=(o1 ,o2 , ,...) minimum in #-th dimension largeint n#=(0 ,...) window size in #-th dimension bool squeeze=y [y/n] if y, squeeze dimensions equal to 1 to the end ...

Xuxin (KAUST) command line Madagascar School 2011 6 / 36

slide-8
SLIDE 8

Self documentation

USED IN bei/dpmv/krchdmo bei/dpmv/matt bei/dwnc/sigmoid ... SOURCE system/main/window.c DOCUMENTATION http :// ahay.org/wiki/ Guide_to_madagascar_programs #sfwindow

Xuxin (KAUST) command line Madagascar School 2011 7 / 36

slide-9
SLIDE 9

Self documentation

USED IN bei/dpmv/krchdmo bei/dpmv/matt bei/dwnc/sigmoid ... SOURCE system/main/window.c DOCUMENTATION http :// ahay.org/wiki/ Guide_to_madagascar_programs #sfwindow

Computation examples under USED IN section

bash $ cat $RSFSRC/book/bei/dpmv/krchdmo/SConstruct ... def vscan(title): return ’’’ window f3 =174 n3=1 | vscan v0=%g nv =100 dv=%g half=n slowness=y | grey title ="%s" ’’’ % (1/2.8 ,(1/1.7 -1/2.8) /99, title) ...

Xuxin (KAUST) command line Madagascar School 2011 7 / 36

slide-10
SLIDE 10

Command-line usage

Single program

[< in.rsf] sfprog [par1=] [par2=] [...] [> out.rsf] Single input < in.rsf Single output > out.rsf Multiple parameters par=val

Xuxin (KAUST) command line Madagascar School 2011 8 / 36

slide-11
SLIDE 11

Command-line usage

Single program

[< in.rsf] sfprog [par1=] [par2=] [...] [> out.rsf] Single input < in.rsf Single output > out.rsf Multiple parameters par=val

Multiple programs

[< in.rsf] sfprog1 [par=] | ... | sfprogn [par=] [>

  • ut.rsf]

ONE task per program Data passed through pipes

Xuxin (KAUST) command line Madagascar School 2011 8 / 36

slide-12
SLIDE 12

Example

Single program

bash $ sfspike n1=5 k1=2

  • 1
  • Xuxin (KAUST)

command line Madagascar School 2011 9 / 36

slide-13
SLIDE 13

Example

Single program

bash $ sfspike n1=5 k1=2

  • 1
  • Multiple programs single parameter

bash $ sfspike n1=5 k1=2 | sfmath

  • utput ="1- input"
  • 1

1 1 1

  • Xuxin (KAUST)

command line Madagascar School 2011 9 / 36

slide-14
SLIDE 14

Example

Single program

bash $ sfspike n1=5 k1=2

  • 1
  • Multiple programs single parameter

bash $ sfspike n1=5 k1=2 | sfmath

  • utput ="1- input"
  • 1

1 1 1

  • Multiple programs multiple parameters

bash $ sfspike n1=5 k1=2 > a.rsf bash $ sfspike n1=5 k1=4 > b.rsf bash $ < a.rsf sfadd scale =1,-2 b.rsf > c.rsf

a =

  • 1
  • b =
  • 1
  • c =
  • 1

−2

  • Xuxin (KAUST)

command line Madagascar School 2011 9 / 36

slide-15
SLIDE 15

SCons to shell

Extract shell script from SConstruct

scons -n -Q > build.sh

bash $ cat SConstruct from rsf.proj import * Flow(’a’,None ,’’’ math n1 =101 d1 =0.01 o1=0 n2=4 d2=1 o2=1

  • utput =" sin(x1 *2*3.1415926* x2)"

’’’) Result(’a’,’graph screenratio =1 title=sin ’) End () bash $ scons -n -Q /Users/maxu1/rsf/bin/sfmath n1 =101 d1 =0.01 o1=0 n2=4 d2=1 o2=1

  • utput =" sin(x1 *2*3.1415926* x2)" > a.rsf

< a.rsf /Users/maxu1/rsf/bin/sfgraph screenratio =1 title=sin > Fig/a.vpl

Xuxin (KAUST) command line Madagascar School 2011 10 / 36

slide-16
SLIDE 16

Outline

1

Madagascar Programs

2

RSF Format

3

Plotting

Xuxin (KAUST) command line Madagascar School 2011 11 / 36

slide-17
SLIDE 17

Regularly Sampled Format

Discrete represntation of n-d functions Uniform sampling RSF dataset is n-d matrices with physical dimensions Data type int, float, double, complex . . . .

Xuxin (KAUST) command line Madagascar School 2011 12 / 36

slide-18
SLIDE 18

RSF components

Header file Text Small Portable Data file ASCII or binary (native or XDR) Large (Huge) Path under $DATAPATH data header

Xuxin (KAUST) command line Madagascar School 2011 13 / 36

slide-19
SLIDE 19

Print data contents

Example: construct matrix A = 1 2 3 2 4 6

  • Print out data

sfdisfil < in.rsf

bash $ sfmath n1=3 o1=1 n2=2 o2=1 output ="x1*x2" > a.rsf bash $ < a.rsf sfdisfil col =3 0: 1 2 3 3: 2 4 6

Xuxin (KAUST) command line Madagascar School 2011 14 / 36

slide-20
SLIDE 20

Header information

Print out header

sfin file0.rsf [file1.rsf] [file2.rsf] ...

bash $ sfin a.rsf a.rsf: in ="/ var/tmp/a.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

label1 =" Time" unit1 =" sec" n2=2 d2=1

  • 2=1

label2 =" Distance" unit2 ="m" 6 elements 24 bytes

n: number of samples

  • : origin of samples

d: sampling interval label: axis label unit: axis unit

Xuxin (KAUST) command line Madagascar School 2011 15 / 36

slide-21
SLIDE 21

Header information

Print out header

sfin file0.rsf [file1.rsf] [file2.rsf] ...

bash $ sfin a.rsf a.rsf: in ="/ var/tmp/a.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

label1 =" Time" unit1 =" sec" n2=2 d2=1

  • 2=1

label2 =" Distance" unit2 ="m" 6 elements 24 bytes

n: number of samples

  • : origin of samples

d: sampling interval label: axis label unit: axis unit Data path under in=""

bash $ ls -l /var/tmp/a.rsf*

  • rw -r--r--

1 maxu2 wheel 24 Jul 14 20:34 /var/tmp/a.rsf@

Xuxin (KAUST) command line Madagascar School 2011 15 / 36

slide-22
SLIDE 22

RSF dataset attributes

Print out data attributes

sfattr < in.rsf

bash $ < a.rsf sfattr ******************************************* rms = 3.41565 mean = 3 2-norm = 8.3666 variance = 3.2 std dev = 1.78885 max = 6 at 3 2 min = 1 at 1 1 nonzero samples = 6 total samples = 6 *******************************************

Xuxin (KAUST) command line Madagascar School 2011 16 / 36

slide-23
SLIDE 23

Modify header

Write header

sfput < in.rsf key1=val1 [...] > out.rsf

bash $ sfin a.rsf a.rsf: in ="/ var/tmp/a.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

n2=2 d2=1

  • 2=1

6 elements 24 bytes bash $ < a.rsf sfput n1=6 n2=1 > a2.rsf bash $ sfin a2.rsf a2.rsf: in ="/ var/tmp/a2.rsf@" esize =4 type=float form=native n1=6 d1=1

  • 1=1

n2=1 d2=1

  • 2=1

6 elements 24 bytes

Xuxin (KAUST) command line Madagascar School 2011 17 / 36

slide-24
SLIDE 24

Moving RSF dataset

mv moves header ONLY

bash $ mv a.rsf b.rsf bash $ sfin b.rsf b.rsf: in ="/ var/tmp/a.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

n2=2 d2=1

  • 2=1

6 elements 24 bytes

Xuxin (KAUST) command line Madagascar School 2011 18 / 36

slide-25
SLIDE 25

Moving RSF dataset

mv moves header ONLY

bash $ mv a.rsf b.rsf bash $ sfin b.rsf b.rsf: in ="/ var/tmp/a.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

n2=2 d2=1

  • 2=1

6 elements 24 bytes

Move header and data

sfmv in.rsf out.rsf

bash $ sfmv a.rsf b.rsf bash $ sfin b.rsf b.rsf: in ="/ var/tmp/b.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

n2=2 d2=1

  • 2=1

6 elements 24 bytes

Xuxin (KAUST) command line Madagascar School 2011 18 / 36

slide-26
SLIDE 26

Copying and deleting RSF

Copy header and data

sfcp in.rsf out.rsf

bash $ sfcp a.rsf b.rsf bash $ sfin b.rsf b.rsf: in ="/ var/tmp/b.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

n2=2 d2=1

  • 2=1

6 elements 24 bytes

Delete header and data

sfrm file1.rsf file2.rsf [...]

bash $ rm a.rsf bash $ ls /var/tmp/a.rsf@ /var/tmp/a.rsf@ bash $ sfrm a.rsf bash $ l /var/tmp/a.rsf ls: /var/tmp/a.rsf: No such file or directory

Xuxin (KAUST) command line Madagascar School 2011 19 / 36

slide-27
SLIDE 27

RSF dataset in a single file

Packing header and data

[< in.rsf] sfprog [> out.rsf] out=stdout

bash $ sfmath n1=3 o1=1 n2=2 o2=1 output ="x1*x2" out=stdout > a. rsf bash $ sfin a.rsf a.rsf: in=" stdin" esize =4 type=float form=native n1=3 d1=1

  • 1=1

n2=2 d2=1

  • 2=1

6 elements 24 bytes

in="stdin" indicates standalone RSF dataset

Exchange dataset between systems

< in.rsf sfdd form=xdr out=stdout > out.rsf

Xuxin (KAUST) command line Madagascar School 2011 20 / 36

slide-28
SLIDE 28

Conversion with ASCII

ASCII to RSF

echo in=in.asc data format=ascii float | sfdd form=native >

  • ut.rsf

bash $ cat a.asc 1 2 3 2 4 6 bash $ echo in=a.asc n1=3 o1=1 d1=1 n2=2 o2=1 d2=1 data_format = ascii_int | sfdd form=native type=float > a.rsf bash $ sfin a.rsf a.rsf: in ="/ var/tmp/a.rsf@" esize =4 type=float form=native n1=3 d1=1

  • 1=1

n2=2 d2=1

  • 2=1

6 elements 24 bytes bash $ < a.rsf sfdisfil col =3 0: 1 2 3 3: 2 4 6

RSF to ASCII

sfdd form=ascii out=out.asc < in.rsf > /dev/null

bash $ < a.rsf sfmath

  • utput =" -1.5* input" > b.rsf

Xuxin (KAUST) command line Madagascar School 2011 21 / 36

slide-29
SLIDE 29

Conversion with SEG-Y

Conversion with SEG-Y

sfsegyread tape=in.segy tfile= hfile=hfile bfile= > out.rsf sfsegywrite tape=out.segy tfile= hfile= bfile= < in.rsf

Conversion with SU

sfsegyread su=y tape=in.su tfile= > out.rsf sfsegywrite su=y tape=out.su tfile= < in.rsf

Xuxin (KAUST) command line Madagascar School 2011 22 / 36

slide-30
SLIDE 30

Outline

1

Madagascar Programs

2

RSF Format

3

Plotting

Xuxin (KAUST) command line Madagascar School 2011 23 / 36

slide-31
SLIDE 31

VPLOT

“.vpl” suffix Vector image can be scaled without affecting quality Displayed by pen programs Compact

Xuxin (KAUST) command line Madagascar School 2011 24 / 36

slide-32
SLIDE 32

VPLOT rsf

vpl

image Madagascar plotting programs: sfprog < in.rsf par= > out.vpl sfgraph sfgrey sfgrey3 sfcontour sfdots ... pen progrms convert .vpl to images (.eps, .gif, .png, . . . ) vppen xtpen pspen ...

Xuxin (KAUST) command line Madagascar School 2011 25 / 36

slide-33
SLIDE 33

sfgraph

# Generated by scons -nQ > plot.sh /Users/maxu1/rsf/bin/sfmath n1 =41 o1=-4 d1 =.2

  • utput =".5* x1" > y1.

rsf < y1.rsf /Users/maxu1/rsf/bin/sfmath

  • utput =" sin(x1)" > y2.rsf

< y1.rsf /Users/maxu1/rsf/bin/sfmath sin=y2.rsf

  • utput ="input -sin"

> y3.rsf

Xuxin (KAUST) command line Madagascar School 2011 26 / 36

slide-34
SLIDE 34

sfgraph

< y3.rsf /Users/maxu1/rsf/bin/sfgraph title ="0.5x-sin(x)" symbol=o symbolsz =12 grid=y min1=-4 max1 =4 > Fig/fig2.vpl

Xuxin (KAUST) command line Madagascar School 2011 27 / 36

slide-35
SLIDE 35

sfgraph

< y3.rsf /Users/maxu1/rsf/bin/sfgraph title ="0.5x-sin(x)" symbol=o symbolsz =12 > dots.vpl /Users/maxu1/rsf/bin/vppen erase=o vpstyle=n line.vpl dots.vpl > Fig/fig3.vpl < y1.rsf /Users/maxu1/rsf/bin/sfcat y2.rsf y3.rsf axis =2 > y4.rsf

Xuxin (KAUST) command line Madagascar School 2011 28 / 36

slide-36
SLIDE 36

sfgraph

/Users/maxu1/rsf/bin/sfmath n1 =101 d1=2 n2 =201 d2=2

  • utput ="1500+5*

x1" > vb.rsf < vb.rsf /Users/maxu1/rsf/bin/sfmath

  • utput ="-exp ( -.002*((x1 -100) *(

x1 -100) +(x2 -200) *(x2 -200)))*450" > v1.rsf

Xuxin (KAUST) command line Madagascar School 2011 29 / 36

slide-37
SLIDE 37

sfwiggle

< spike.rsf /Users/maxu1/rsf/bin/sfwindow n1=1 | /Users/maxu1/rsf/ bin/sfnoise type=n rep=y seed =2005 range =3 > offset.rsf

Xuxin (KAUST) command line Madagascar School 2011 30 / 36

slide-38
SLIDE 38

sfgrey

< v.rsf /Users/maxu1/rsf/bin/sfgrey title=Velocity color=j bias =1500 scalebar=y barreverse =y > Fig/fig5.vpl

Xuxin (KAUST) command line Madagascar School 2011 31 / 36

slide-39
SLIDE 39

sfcontour

< eik.rsf /Users/maxu1/rsf/bin/sfcontour nc =45 title=Traveltime plotfat =5 > Fig/fig6.vpl

Xuxin (KAUST) command line Madagascar School 2011 32 / 36

slide-40
SLIDE 40

Overlay

< eik.rsf /Users/maxu1/rsf/bin/sfcontour title=Overlay nc =45 plotfat =5 min1 =0 max1 =200 min2 =0 max2 =400 > eik.vpl /Users/maxu1/rsf/bin/vppen erase=o vpstyle=n v.vpl eik.vpl > Fig/ fig7.vpl retrieve ([" shots.hh"], [])

Xuxin (KAUST) command line Madagascar School 2011 33 / 36

slide-41
SLIDE 41

sfgrey3

< shots.rsf /Users/maxu1/rsf/bin/sfbyte | /Users/maxu1/rsf/bin/ sfgrey3 frame1 =0 frame2 =24 frame3 =0 point1 =.75 point2 =.65 wanttitle=n flat=n title =" Data" > Fig/fig8.vpl

Xuxin (KAUST) command line Madagascar School 2011 34 / 36

slide-42
SLIDE 42

http://www.ahay.org/

Xuxin (KAUST) command line Madagascar School 2011 35 / 36

slide-43
SLIDE 43

Seismic Wave Analysis Group http://swag.kaust.edu.sa

Xuxin (KAUST) command line Madagascar School 2011 36 / 36