def param(): par = { 'nt':1000, 'dt':0.0005,'ot':0, 'lt':'time', 'ut':'s', 'nx':1000, 'dx':2.0, 'ox':0, 'lx':'position', 'ux':'m', 'nz':200, 'dz':2.0, 'oz':0, 'lz':'depth', 'uz':'m', 'kt':50, # wavelet delay 'frq':50, 'jsnap':4, 'vprt':0, 'test':0, 'nb':100, 'oanga':0, 'nanga':60, 'danga':3., # SS angle 1 'oangb':0, 'nangb':2, 'dangb':1, # SS angle 2 'nl':100, 'dl':1.0, # SS line length 'sig':1 # SS gaussian decay } par['kx']=par['nx']/2-75 par['mx']=par['nx']/2-50 par['kz']=par['nz']/2-25 par['mz']=par['nz']/2+25 # add F-D modeling parameters fdmod.param(par) return par
def param(xtarget,ztarget): par = { 'nt':5000, 'ot':0, 'dt':0.0004, 'lt':'Time', 'ut':'s', 'nx':1251, 'ox':-2, 'dx':0.004, 'lx':'Position','ux':'km', 'nz':801, 'oz':-1, 'dz':0.004, 'lz':'Depth', 'uz':'km', 'kt':200, 'nb':100, 'iweight':2, 'wweight':20, 'jsnap':100 } fdmod.param(par) par['xsou']=xtarget par['zsou']=ztarget par['nzq']=240 par['ozq']=par['zsou']-par['nzq']/2*par['dz'] par['dzq']=par['dz'] par['nxq']=240 par['oxq']=par['xsou']-par['nxq']/2*par['dx'] par['dxq']=par['dx'] par['xminq']=par['oxq'] par['xmaxq']=par['oxq'] + (par['nxq']-1) * par['dxq'] par['zminq']=par['ozq'] par['zmaxq']=par['ozq'] + (par['nzq']-1) * par['dzq'] par['ff']=0 par['aa']=2.0 par['ru']=0.05 par['rv']=0.05 return par
def param(): par = { 'nx': 501, 'ox': 0, 'dx': 0.002, 'lx': 'x', 'ux': 'km', 'nz': 501, 'oz': 0, 'dz': 0.002, 'lz': 'z', 'uz': 'km', 'nt': 5000, 'ot': 0, 'dt': 0.0002, 'lt': 't', 'ut': 's', 'kt': 150, 'jsnap': 200, 'nb': 100, 'frq': 45, 'ssou': 'y', 'vscale': 1, 'hscale': 0 } fdmod.param(par) return par
def getpar(): par = { ############################### # Model/Image dimensions ############################### #'nx':501, 'ox':0, 'dx':0.002, 'lx':'x', 'ux':'km', #'ny':151, 'oy':0, 'dy':0.002, 'ly':'y', 'uy':'km', #'nz':351, 'oz':0, 'dz':0.002, 'lz':'z', 'uz':'km', 'nx':251, 'ox':0, 'dx':0.005, 'lx':'x', 'ux':'km', 'ny':75, 'oy':0, 'dy':0.005, 'ly':'y', 'uy':'km', 'nz':176, 'oz':0, 'dz':0.005, 'lz':'z', 'uz':'km', ############################### # Wavelet parameters ############################### 'nt':4001, 'ot':0, 'dt':0.001, 'lt':'t', 'ut':'s', 'frq':45, # Peak frequency for Ricker wavelet 'kt':100, # Wavelet start position (wavelets are delayd for zero-phase) ############################### # Modeling code parameters ############################### 'cfl': True, 'dabc':True, # Use absorbing boundary condition? 'nb':80, # How many cells for absorbing boundary? 'abcone':True, # Use additional ramp condition for boundaries? (Use default) 'dsou':False, # Use displacement source (acoustic-only) 'expl':False, # Use exploding reflector (acoustic-only) 'free':False, # Use free surface (generate multiples) 'jdata':1, # Interval between time-iterations before saving data at recv 'snap':True, # Save wavefield snapshots? 'verb':True, # Verbose output? 'jsnap':1, # Interval between time-iterations before saving wfld snapshot 'debug':False, # Debugging output (elastic-only)? 'nbell':5, # Size of interpolation for injection 'ssou':False, # Use stress-source (elastic-only) 'ompchunk':1, # OpenMP chunk size (use default) 'ompnth':2, # Number of OpenMP threads to use (4 works best) ############################### # Thomsen parameters for models ############################### 'vp':1.5, 'ro':2.0, ############################### # Miscellaneous parameters ############################### 'height':10, 'nht': 80, 'nhx': 40, 'nhz': 40, } fdmod.param(par) par['nframe']=5 par['iframe']=4 # ------------------------------------------------------------ # End user parameters -- NO EDITS BELOW # ------------------------------------------------------------ par['kz']=2./3.*par['nz'] return par
def setup(par): # ------------------------------------------------------------ param(par) fdmod.param(par) # ------------------------------------------------------------ # shot positions # ------------------------------------------------------------ shotcoord('ss', par) # ------------------------------------------------------------ # slowness models # ------------------------------------------------------------ importvels(par)
def setup(par): # ------------------------------------------------------------ param(par) fdmod.param(par) # ------------------------------------------------------------ # shot positions # ------------------------------------------------------------ shotcoord('ss',par) # ------------------------------------------------------------ # slowness models # ------------------------------------------------------------ importvels(par)
def param(): par = { 'nx':501, 'ox':0, 'dx':0.002, 'lx':'x', 'ux':'km', 'nz':501, 'oz':0, 'dz':0.002, 'lz':'z', 'uz':'km', 'nt':5000, 'ot':0, 'dt':0.0002, 'lt':'t', 'ut':'s', 'kt':150, 'jsnap':200, 'nb':100, 'frq':45, 'ssou':'y', 'vscale':1, 'hscale':0 } fdmod.param(par) return par
def param(xtarget, ztarget): par = { 'nt': 5000, 'ot': 0, 'dt': 0.0004, 'lt': 'Time', 'ut': 's', 'nx': 1251, 'ox': -2, 'dx': 0.004, 'lx': 'Position', 'ux': 'km', 'nz': 801, 'oz': -1, 'dz': 0.004, 'lz': 'Depth', 'uz': 'km', 'kt': 200, 'nb': 100, 'iweight': 2, 'wweight': 20, 'jsnap': 100 } fdmod.param(par) par['xsou'] = xtarget par['zsou'] = ztarget par['nzq'] = 240 par['ozq'] = par['zsou'] - par['nzq'] / 2 * par['dz'] par['dzq'] = par['dz'] par['nxq'] = 240 par['oxq'] = par['xsou'] - par['nxq'] / 2 * par['dx'] par['dxq'] = par['dx'] par['xminq'] = par['oxq'] par['xmaxq'] = par['oxq'] + (par['nxq'] - 1) * par['dxq'] par['zminq'] = par['ozq'] par['zmaxq'] = par['ozq'] + (par['nzq'] - 1) * par['dzq'] par['ff'] = 0 par['aa'] = 2.0 par['ru'] = 0.05 par['rv'] = 0.05 return par
def param(): par = { 'nt': 1000, 'dt': 0.0005, 'ot': 0, 'lt': 'time', 'ut': 's', 'nx': 1000, 'dx': 2.0, 'ox': 0, 'lx': 'position', 'ux': 'm', 'nz': 200, 'dz': 2.0, 'oz': 0, 'lz': 'depth', 'uz': 'm', 'kt': 50, # wavelet delay 'frq': 50, 'jsnap': 4, 'vprt': 0, 'test': 0, 'nb': 100, 'oanga': 0, 'nanga': 60, 'danga': 3., # SS angle 1 'oangb': 0, 'nangb': 2, 'dangb': 1, # SS angle 2 'nl': 100, 'dl': 1.0, # SS line length 'sig': 1 # SS gaussian decay } par['kx'] = par['nx'] / 2 - 75 par['mx'] = par['nx'] / 2 - 50 par['kz'] = par['nz'] / 2 - 25 par['mz'] = par['nz'] / 2 + 25 # add F-D modeling parameters fdmod.param(par) return par
def param(): par = { 'nt':2001,'ot':0, 'dt':0.0005, 'lt':'t', 'ut':'s', 'nx':13601, 'ox':8.00, 'dx':0.001249, 'lx':'x', 'ux':'km', 'ny':100, 'oy':8.00, 'dy':0.001249, 'ly':'y', 'uy':'km', 'nz':2801, 'oz':0.50, 'dz':0.001249, 'lz':'z', 'uz':'km', 'kt':200, 'frq':15, 'jsnap':250, 'jdata':8, 'nb':20, 'ng':400,'dg':0.2,'og':-40, 'wclip':0.5, 'wweight':5, 'iweight':25 } par['jz']=4 par['jx']=4 par['jy']=4 par['xmax']=14.0 par['zmax']=3.5 par['ymax']=9.0 par['dz']=par['dz'] * par['jz'] par['dx']=par['dx'] * par['jx'] par['dy']=par['dy'] * par['jy'] par['nz']=int( (par['zmax'] -par['oz'])/par['dz'] )+1 par['nx']=int( (par['xmax'] -par['ox'])/par['dx'] )+1 par['ny']=int( (par['ymax'] -par['oy'])/par['dy'] )+2 fdmod.param(par) par['labelattr']=par['labelattr']+''' titlesz=12 labelsz=6 bartype=h font=4 barlabelsz=6 barlabelfat=3 wantaxis=y wantlabel=y wanttitle=n parallel2=n d2num=1 o2num=1 n2tic=3 wantaxis=y wantlabel=y wanttitle=n ''' par['xsou']=9.5 par['zsou']=par['oz'] par['zrec']=par['oz'] par['ftap']=100 par['ntap']=par['nx']-par['ftap'] par['kbem']=680 par['lbem']=721 par['nqz']=par['nz'] par['nqx']=par['nx'] par['dqz']=par['dz'] par['dqx']=par['dx'] par['oqz']=par['oz'] par['oqx']=par['ox'] par['fw']=par['nt']*par['dt'] par['kw']=par['nt']/2+1 par['dw']=1/(par['nt']*par['dt']) par['nw']=150 par['jw']=1 par['ow']=5*par['dw'] par['verb']='y' par['nrmax']=3 par['dtmax']=0.0001 par['models']=['0','1'] par['jtframe'] = 50 par['ntframe'] = par['nt']/par['jdata']/par['jtframe'] par['jzframe'] = 100 par['nzframe'] = par['nz']/par['jzframe'] par['jwframe'] = 10 par['nwframe'] = par['nw']/par['jwframe'] return par
def param(): par = { 'nt': 2001, 'ot': 0, 'dt': 0.0005, 'lt': 't', 'ut': 's', 'nx': 13601, 'ox': 8.00, 'dx': 0.001249, 'lx': 'x', 'ux': 'km', 'ny': 100, 'oy': 8.00, 'dy': 0.001249, 'ly': 'y', 'uy': 'km', 'nz': 2801, 'oz': 0.50, 'dz': 0.001249, 'lz': 'z', 'uz': 'km', 'kt': 200, 'frq': 15, 'jsnap': 250, 'jdata': 8, 'nb': 20, 'ng': 400, 'dg': 0.2, 'og': -40, 'wclip': 0.5, 'wweight': 5, 'iweight': 25 } par['jz'] = 4 par['jx'] = 4 par['jy'] = 4 par['xmax'] = 14.0 par['zmax'] = 3.5 par['ymax'] = 9.0 par['dz'] = par['dz'] * par['jz'] par['dx'] = par['dx'] * par['jx'] par['dy'] = par['dy'] * par['jy'] par['nz'] = int((par['zmax'] - par['oz']) / par['dz']) + 1 par['nx'] = int((par['xmax'] - par['ox']) / par['dx']) + 1 par['ny'] = int((par['ymax'] - par['oy']) / par['dy']) + 2 fdmod.param(par) par['labelattr'] = par['labelattr'] + ''' titlesz=12 labelsz=6 bartype=h font=4 barlabelsz=6 barlabelfat=3 wantaxis=y wantlabel=y wanttitle=n parallel2=n d2num=1 o2num=1 n2tic=3 wantaxis=y wantlabel=y wanttitle=n ''' par['xsou'] = 9.5 par['zsou'] = par['oz'] par['zrec'] = par['oz'] par['ftap'] = 100 par['ntap'] = par['nx'] - par['ftap'] par['kbem'] = 680 par['lbem'] = 721 par['nqz'] = par['nz'] par['nqx'] = par['nx'] par['dqz'] = par['dz'] par['dqx'] = par['dx'] par['oqz'] = par['oz'] par['oqx'] = par['ox'] par['fw'] = par['nt'] * par['dt'] par['kw'] = par['nt'] / 2 + 1 par['dw'] = 1 / (par['nt'] * par['dt']) par['nw'] = 150 par['jw'] = 1 par['ow'] = 5 * par['dw'] par['verb'] = 'y' par['nrmax'] = 3 par['dtmax'] = 0.0001 par['models'] = ['0', '1'] par['jtframe'] = 50 par['ntframe'] = par['nt'] / par['jdata'] / par['jtframe'] par['jzframe'] = 100 par['nzframe'] = par['nz'] / par['jzframe'] par['jwframe'] = 10 par['nwframe'] = par['nw'] / par['jwframe'] return par