Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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
Пример #5
0
def setup(par):

    # ------------------------------------------------------------
    param(par)
    fdmod.param(par)

    # ------------------------------------------------------------
    # shot positions
    # ------------------------------------------------------------
    shotcoord('ss', par)

    # ------------------------------------------------------------
    # slowness models
    # ------------------------------------------------------------
    importvels(par)
Пример #6
0
def setup(par):

    # ------------------------------------------------------------
    param(par)
    fdmod.param(par) 
    
    # ------------------------------------------------------------
    # shot positions
    # ------------------------------------------------------------
    shotcoord('ss',par)

    # ------------------------------------------------------------
    # slowness models
    # ------------------------------------------------------------
    importvels(par)
Пример #7
0
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
Пример #8
0
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
Пример #9
0
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
Пример #10
0
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
Пример #11
0
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