*define model Example-1 # model name *info Ray tracing in model {model} from Rayinvr ###################################################################### *setup noapp units km km ### some symbolic definitions *define vcont 6.0 # velocity level contoured in the model fname Example-1.igm # file name to save the model in when "Save" is pressed ### Generate a simple "zero-offset time" table *call readtab map table-zoffset x float 1 twtt float argrang x 0 1.0 300 const twtt 8.0 *nocall pritab * table-zoffset ### Rayinvr-like model: *call rayinvr gui ps Example-1 *incl Example-1.igm txin dbas:tx.in save {fname} # in this file the model will be saved on exit column vp 100 #contour vp 6.0 #zoffset x twtt table-zoffset raycode full 30 80 40 1 1.1 #1t 3u # 1d 2u #3.2 #3t #3u #1d #2u #raycode full 20 60 20 2 2.1 #2u #raycode full 20 60 20 3 3.1 #3u #raycode full 30 80 40 1 1.1 #1t #raycode full 20 80 80 3 #3t #raycode full 10 20 6 4 #4h source 1 Sp1 0 forw source 2 Sp2 300 back # observed gravity profile. It can also be loaded from # database tables, but we are using a simple job line description here # observed gravity profile. It can also be loaded from # database tables, but we are using a simple job line description here grobs 30 15 45 21 60 20 75 35 90 15 105 21 120 0 140 -9 150 -15 165 -20 180 -30 195 -15 210 -10 225 15 240 9 #260 10.5 270 15 summary # print brief model summary ### Define various graphical elements *call graphic backgr =same= foregr =same= palette pal-vp1 -0.3 red 0 blue 0 white 0.3 red #palette pal-vp buor 5.5 8 #palette pal-vp gmtcopper 1 2 # 4.5 8.2 palette pal-vp gmtsplit 1 2 # 4.5 8.2 palhue pal-vs color cont 2 5. 4 0.05 .95 palette pal-raycodes gmtjet 0 3 palette pal-arrivals gmtjet 0 4 palette pal-ampl gmtseis -1 1 #palproc edit loop pal-vp # add a reversed copy of itself to the palette #palproc edit repeat 2 pal-vp # repeat the palette palproc edit scale pal-vp # scale the Vp palette by Vp in the model vp Example-1 #palproc edit hbal pal-vp # histogram-balance the Vp palette #vp accrete line solid 1 red l-layers line solid 1 blue l-columns line solid 1 cyan l-contour line solid 1 blue cells-vert line solid 1 yellow cells-diag line solid 1 yellow l-rays1 line solid 1 plum l-rays2 line solid 1 brown l-tau line solid 1 forestgreen l-zoffset line solid 1 melon line-grcalc # line for calculated gravity anomaly line solid 1 blue ttimes-forw line solid 1 red ttimes-rev line solid 1 yellow ttimes-observed fill solid green velocity fill solid blue wet fill solid blue lakes marker star 1.0 m-sources axis axis-tt bar left _label T [s] _ticks axis axis-grav bar left _label mGal _ticks axis axis-dist bar top _label X [km] _ticks axis axis-depth bar left _label Z [km] _ticks # buttons and the corresponding commands to the ray tracer button button2 Reload Example-1 load {fname} button button3 Save Example-1 save {fname} button button4 Print Example-1 ps ### Create cross-section image *call image im-section ##### plot the model and rays 1 1. 6 6 project xy width range-x -20 310 range-y -5 60 yes velmod Example-1 layers l-layers #cells vert cells-vert #cells diag cells-diag vs shade pal-vs vp shade pal-vp vp column l-columns vp contour l-contour sources mark m-sources sources label Shot %d rays forward l-rays1 rays reverse l-rays2 #rays pal-raycodes tau velocity 5.7 tau line l-tau #depcon line l-zoffset object axis-depth object axis-dist cscale vert 0.8 -0.7 0.1 0.2 Vs # colour bar pal-vs cscale vert 0.6 -0.7 0.1 0.2 Vp # colour bar pal-vp cscale vert -0.9 -0.7 0.1 0.2 Ray codes # colour bar pal-raycodes ### Create travel-time image *call image im-ttimes ##### travel times 1 1. 6 6 project xy width action timered 8.0 # travel-time reduction, initial V=8 km/s range-x -20 310 range-y 0 12 ttmod Example-1 calculated forward ttimes-forw calculated reverse ttimes-rev calculated pal-arrivals observed all ttimes-observed observed pal-arrivals #zoffset l-zoffset #timeshift 5.0 cscale vert 0.8 0.7 0.1 0.2 Arrivals # colour bar pal-arrivals object axis-tt ### Create gravity image *call image im-gravity 1 1. 6 6 project xy width backgr gray range-x -20 310 range-y -3000 3000 gravmod Example-1 calgrav line-grcalc observed ttimes-observed # difference line:red object axis-grav *call graphic layout toolbar1 horiz button2 button3 button4 control toolbar bar bottom ### Display the interactive images *call gui im-gravity 0 10 im-ttimes im-section #toolbar1 # make axes X coordinated in all sections layout vert x zoom dockers otree #otree graph prop