⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sconstruct

📁 国外免费地震资料处理软件包
💻
字号:
## Fast Gaussian random field generation with FFTs## James W. Jennings Jr.# Research Scientist# # Bureau of Economic Geology# John A. and Katherine G. Jackson School of Geosciences# University of Texas at Austin# University Station, Box X# Austin, TX 78713-8924# # 512-471-1534 (voice)# 512-471-0140 (fax)# mailto:jim.jennings@beg.utexas.edu# http://www.beg.utexas.edu/staffinfo/jennings01.htm# # July 2005## $Id: SConstruct 1744 2006-03-15 10:07:03Z jennings $### Setting up#from rsfproj import *import rfield## Set up 1D, 2D, and 3D example random field parameter dictionaries#real_par = [{},{},{}]               # realization parametersreal_par[0] = {'name':'ex1D_', 'nr':3, 'seed':1}real_par[1] = {'name':'ex2D_', 'nr':3, 'seed':1}real_par[2] = {'name':'ex3D_', 'nr':3, 'seed':1}grid_par = [{},{},{}]               # grid parametersgrid_par[0] = {'nx':1024, 'ny':   1, 'nz':   1,               'dx':   1, 'dy':   1, 'dz':   1}                  grid_par[1] = {'nx':1024, 'ny': 512, 'nz':   1,               'dx':   1, 'dy':   1, 'dz':   1}                  grid_par[2] = {'nx': 256, 'ny': 256, 'nz':  16,               'dx':   4, 'dy':   2, 'dz':  16}                  covar_par = {'taper_switch':1,      # covariance taper switch             'alpha':1,             # covariance shape parameter             'oriu':[ 5,1,0],       # covariance range orientation vectors             'oriv':[-1,5,0],              'oriw':[ 0,0,1],             'ru'  :100,            # covariance range parameters             'rv'  :20,                'rw'  :20}## Build the random fields#for i in range(3):     rfield.rfield(real_par[i],grid_par[i],covar_par)## Plot the results.#results = ['dist','covar','pspec_real','aspec_real']           plots = range(3)for i in range(3):    plots[i] = results    for j in range(real_par[i]['nr']):        plots[i] = plots[i] + ['sim_%02d_real' % (j+1)]    plots[i] = map(lambda x: real_par[i]['name']+x,plots[i])    #          # 1D plots# if (grid_par[0]['nx'] > 50):    circles = ''else:    circles = 'symbol="o" symbolsz=10'    for i in (plots[0]):    Result (i,'graph title="%s" %s label2=""' % (i,circles))#          # 2D plots	#              screen_ratio  = ( float(grid_par[1]['ny']*grid_par[1]['dy'])                 /float(grid_par[1]['nx']*grid_par[1]['dx']) )screen_height = 10if (screen_height/screen_ratio > 13):    screen_height = 13*screen_ratiofor i in (plots[1]):    Result (i,            '''            grey title="%s" transp=n yreverse=n            pclip=100 color=E wantscalebar=y gainpanel=a            screenratio=%g screenht=%g            ''' % (i,screen_ratio,screen_height)           )#          # 3D plots#          for i in (plots[2]):    Result (i,            '''            transp plane=12 | transp plane=13 | reverse which=1 |            byte bar=bar.rsf gainpanel=all pclip=100 wantscalebar=y |            grey3 title="%s"             color=E movie=0 flat=y scalebar=y bar=bar.rsf            frame1=%d frame2=%d frame3=%d point1=0.5 point2=0.5 > $TARGET &&            rm -f bar.rsf            ''' % (i,grid_par[2]['nz']/2-1,                     grid_par[2]['nx']/2,                     grid_par[2]['ny']/2) , stdout=0           )End ()

⌨️ 快捷键说明

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