Add Active cell input file. Allow for Inactive, Active-Static and Active-Dynamic cells [0, 1, -1]

Fix MAG and GRAV test scripts.
This commit is contained in:
D Fournier
2016-06-06 12:29:23 -07:00
parent 7f7ce5e25b
commit 375a18c53a
31 changed files with 323004 additions and 190957 deletions
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 785 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

+33 -29
View File
@@ -6,7 +6,7 @@ import os
home_dir = '.'
#inpfile = 'PYGRAV3D_inv.inp'
dsep = '\\'
dsep = os.path.sep
plt.close('all')
@@ -17,7 +17,7 @@ vmax = 0.3
#%%
# Read input file
#[mshfile, obsfile, topofile, mstart, mref, wgtfile, chi, alphas, bounds, lpnorms] = PF.Gravity.read_GRAVinv_inp(home_dir + dsep + inpfile)
driver = PF.GravityDriver.GravityDriver_Inv('PYGRAV3D_inv.inp')
driver = PF.GravityDriver.GravityDriver_Inv(home_dir + dsep + 'PYGRAV3D_inv.inp')
mesh = driver.mesh
survey = driver.survey
@@ -33,8 +33,12 @@ nC = len(actv)
# Create active map to go from reduce set to full
actvMap = Maps.InjectActiveCells(mesh, actv, -100)
# Create reduced identity map
idenMap = Maps.IdentityMap(nP=nC)
# Create static map
static = driver.staticCells
dynamic = driver.dynamicCells
staticCells = Maps.InjectActiveCells(None, dynamic, driver.m0[static], nC=nC)
mstart = driver.m0[dynamic]
# Get index of the center
@@ -46,13 +50,13 @@ midy = int(mesh.nCy/2)
PF.Gravity.plot_obs_2D(survey,'Observed Data')
#%% Run inversion
prob = PF.Gravity.GravityIntegral(mesh, mapping = idenMap, actInd = actv)
prob = PF.Gravity.GravityIntegral(mesh, mapping = staticCells, actInd = actv)
prob.solverOpts['accuracyTol'] = 1e-4
survey.pair(prob)
# Write out the predicted file and generate the forward operator
pred = prob.fields(driver.m0)
pred = prob.fields(mstart)
PF.Gravity.writeUBCobs(home_dir + dsep + 'Pred0.dat',survey,pred)
@@ -81,60 +85,57 @@ else:
#%% Create inversion objects
reg = Regularization.Sparse(mesh, indActive=actv, mapping=idenMap)
reg.mref = driver.mref
reg = Regularization.Sparse(mesh, indActive=actv, mapping=staticCells)
reg.mref = driver.mref[dynamic]
reg.cell_weights = wr*mesh.vol[actv]
opt = Optimization.ProjectedGNCG(maxIter=100 ,lower=-2.,upper=2., maxIterLS = 20, maxIterCG= 10, tolCG = 1e-3)
opt = Optimization.ProjectedGNCG(maxIter=100 ,lower=driver.bounds[0],upper=driver.bounds[1], maxIterLS = 20, maxIterCG= 10, tolCG = 1e-3)
dmis = DataMisfit.l2_DataMisfit(survey)
dmis.Wd = 1./wd
invProb = InvProblem.BaseInvProblem(dmis, reg, opt)
#beta = Directives.BetaSchedule(coolingFactor=1, coolingRate=1)
#update_beta = Directives.Scale_Beta(tol = 0.05, coolingRate=5)
betaest = Directives.BetaEstimate_ByEig()
IRLS = Directives.Update_IRLS( norms=driver.lpnorms, eps_p=driver.eps[0], eps_q=driver.eps[1], f_min_change = 1e-2)
IRLS = Directives.Update_IRLS( norms=driver.lpnorms, eps=driver.eps, f_min_change = 1e-4, minGNiter=3)
update_Jacobi = Directives.Update_lin_PreCond()
inv = Inversion.BaseInversion(invProb, directiveList=[IRLS,betaest,update_Jacobi])
# Run inversion
mrec = inv.run(driver.m0)
m_out = actvMap*mrec
# Write result
Mesh.TensorMesh.writeModelUBC(mesh,'SimPEG_inv_l2l2.sus',m_out)
mrec = inv.run(mstart)
# Plot predicted
pred = prob.fields(mrec)
#PF.Magnetics.plot_obs_2D(rxLoc,pred,wd,'Predicted Data')
#PF.Magnetics.plot_obs_2D(rxLoc,(d-pred),wd,'Residual Data')
survey.dobs = pred
PF.Gravity.plot_obs_2D(survey,'Observed Data')
print "Final misfit:" + str(np.sum( ((d-pred)/wd)**2. ) )
#%% Plot out a section of the model
yslice = midx
m_out = actvMap*reg.l2model
m_out[m_out==-100] = np.nan
m_out = actvMap*staticCells*reg.l2model
# Write result
Mesh.TensorMesh.writeModelUBC(mesh,'SimPEG_inv_l2l2.sus',m_out)
Mesh.TensorMesh.writeModelUBC(mesh,'SimPEG_inv_l2l2.den',m_out)
# Nan aircells for plotting
m_out[m_out==-100] = np.nan
plt.figure()
ax = plt.subplot(221)
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-5, clim = (mrec.min(), mrec.max()))
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-10, clim = (mrec.min(), mrec.max()))
plt.plot(np.array([mesh.vectorCCx[0],mesh.vectorCCx[-1]]), np.array([mesh.vectorCCy[yslice],mesh.vectorCCy[yslice]]),c='w',linestyle = '--')
plt.title('Z: ' + str(mesh.vectorCCz[-5]) + ' m')
plt.xlabel('x');plt.ylabel('z')
plt.gca().set_aspect('equal', adjustable='box')
ax = plt.subplot(222)
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-8, clim = (mrec.min(), mrec.max()))
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-15, clim = (mrec.min(), mrec.max()))
plt.plot(np.array([mesh.vectorCCx[0],mesh.vectorCCx[-1]]), np.array([mesh.vectorCCy[yslice],mesh.vectorCCy[yslice]]),c='w',linestyle = '--')
plt.title('Z: ' + str(mesh.vectorCCz[-8]) + ' m')
plt.title('Z: ' + str(mesh.vectorCCz[-15]) + ' m')
plt.xlabel('x');plt.ylabel('z')
plt.gca().set_aspect('equal', adjustable='box')
@@ -151,7 +152,7 @@ plt.hist(reg.l2model,100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model values - Smooth')
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*reg.l2model,100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*reg.l2model),100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model gradient values - Smooth')
@@ -159,19 +160,22 @@ plt.title('Histogram of model gradient values - Smooth')
yslice = midx
m_out = actvMap*mrec
m_out = actvMap*staticCells*mrec
# Write result
Mesh.TensorMesh.writeModelUBC(mesh,'SimPEG_inv_lplq.den',m_out)
m_out[m_out==-100] = np.nan
plt.figure()
ax = plt.subplot(221)
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-5, clim = (mrec.min(), mrec.max()))
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-10, clim = (mrec.min(), mrec.max()))
plt.plot(np.array([mesh.vectorCCx[0],mesh.vectorCCx[-1]]), np.array([mesh.vectorCCy[yslice],mesh.vectorCCy[yslice]]),c='w',linestyle = '--')
plt.title('Z: ' + str(mesh.vectorCCz[-5]) + ' m')
plt.xlabel('x');plt.ylabel('z')
plt.gca().set_aspect('equal', adjustable='box')
ax = plt.subplot(222)
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-8, clim = (mrec.min(), mrec.max()))
mesh.plotSlice(m_out, ax = ax, normal = 'Z', ind=-15, clim = (mrec.min(), mrec.max()))
plt.plot(np.array([mesh.vectorCCx[0],mesh.vectorCCx[-1]]), np.array([mesh.vectorCCy[yslice],mesh.vectorCCy[yslice]]),c='w',linestyle = '--')
plt.title('Z: ' + str(mesh.vectorCCz[-8]) + ' m')
plt.xlabel('x');plt.ylabel('z')
@@ -189,7 +193,7 @@ plt.hist(mrec,100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model values - Compact')
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*mrec,100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*mrec),100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model gradient values - Compact')
@@ -9,7 +9,7 @@ import numpy as np
#home_dir = 'C:\Egnyte\Private\craigm\PHD\LdM\Gravity\Bouguer\SIMPEG\models\\all_models\\density_-1.2_0.3'
home_dir = '.\\'
inpfile = 'PYGRAV3D_inv_LdM_Craig.inp'
inpfile = 'PYGRAV3D_inv.inp'
#inpfile = 'PYGRAV3D_inv_checkerboard.inp'
dsep = '\\'
@@ -21,8 +21,8 @@ plt.close('all')
beta_in = 1e-2
# Plotting parameter
vmin = -1.2
vmax = 1.2
vmin = -0.1
vmax = 0.5
#weight exponent for default weighting
wgtexp = 3. #dont forget the "."
@@ -35,18 +35,24 @@ survey = driver.survey
rxLoc = survey.srcField.rxList[0].locs
d = survey.dobs
wd = survey.std
ndata = survey.srcField.rxList[0].locs.shape[0]
actv = driver.activeCells
nC = len(actv)
active = driver.activeCells
nC = len(active)
# Create active map to go from reduce set to full
actvMap = Maps.InjectActiveCells(mesh, actv, -100)
activeMap = Maps.InjectActiveCells(mesh, active, -100)
# Create static map
static = driver.staticCells
dynamic = driver.dynamicCells
staticCells = Maps.InjectActiveCells(None, dynamic, driver.m0[static], nC=nC)
mstart = driver.m0[dynamic]
# Create reduced identity map
idenMap = Maps.IdentityMap(nP=nC)
#idenMap = Maps.IdentityMap(nP=nC)
# Get index of the center
midx = int(mesh.nCx/2)
@@ -57,29 +63,29 @@ midy = int(mesh.nCy/2)
#PF.Gravity.plot_obs_2D(survey,'Observed Data')
#%% Run inversion
prob = PF.Gravity.GravityIntegral(mesh, mapping = idenMap, actInd = actv)
prob = PF.Gravity.GravityIntegral(mesh, mapping = staticCells, actInd = active)
prob.solverOpts['accuracyTol'] = 1e-4
survey.pair(prob)
# Write out the predicted file and generate the forward operator
pred = prob.fields(driver.m0)
pred = prob.fields(mstart)
# Load weighting file
if driver.wgtfile == 'DEFAULT':
wr = PF.Magnetics.get_dist_wgt(mesh, rxLoc, actv, wgtexp, np.min(mesh.hx)/4.)
if driver.wgtfile == 'DEFAULT':
wr = PF.Magnetics.get_dist_wgt(mesh, rxLoc, active, wgtexp, np.min(mesh.hx)/4.)
wr = wr**2.
else:
wr = Mesh.TensorMesh.readModelUBC(mesh, home_dir + dsep + wgtfile)
wr = wr[actv]
wr = Mesh.TensorMesh.readModelUBC(mesh, home_dir + dsep + wgtfile)
wr = wr[active]
wr = wr**2.
#%% Plot depth weighting
plt.figure()
ax = plt.subplot(211)
datwgt=mesh.plotSlice(actvMap*wr, ax = ax, normal = 'Y', ind=midx+1 ,clim = (-1e-1, wr.max()), pcolorOpts={'cmap':'jet'})
datwgt=mesh.plotSlice(activeMap*wr, ax = ax, normal = 'Y', ind=midx+1 ,clim = (-1e-1, wr.max()), pcolorOpts={'cmap':'jet'})
plt.title('Distance weighting')
plt.xlabel('x');plt.ylabel('z')
plt.gca().set_aspect('equal', adjustable='box')
@@ -95,10 +101,10 @@ plt.savefig(home_dir + dsep + 'Weighting_' +str(wgtexp) +'.png', dpi=300)
#%% Create inversion objects
reg = Regularization.Sparse(mesh, indActive=actv, mapping=idenMap)
reg.mref = driver.mref
reg.cell_weights = wr*mesh.vol[actv]
eps_p = driver.eps[0]
reg = Regularization.Sparse(mesh, indActive = active, mapping = staticCells)
reg.mref = driver.mref[dynamic]
reg.cell_weights = wr*mesh.vol[active]
eps_p = driver.eps[0]
eps_q = driver.eps[1]
opt = Optimization.ProjectedGNCG(maxIter=100 ,lower=-2.,upper=2., maxIterLS = 20, maxIterCG= 10, tolCG = 1e-3)
@@ -108,14 +114,14 @@ invProb = InvProblem.BaseInvProblem(dmis, reg, opt)
#beta = Directives.BetaSchedule(coolingFactor=1, coolingRate=1)
#update_beta = Directives.Scale_Beta(tol = 0.05, coolingRate=5)
betaest = Directives.BetaEstimate_ByEig()
IRLS = Directives.Update_IRLS( norms=driver.lpnorms, eps_p=eps_p, eps_q=eps_q, f_min_change = 1e-2)
IRLS = Directives.Update_IRLS( norms=driver.lpnorms, eps=driver.eps, f_min_change = 1e-2)
update_Jacobi = Directives.Update_lin_PreCond()
inv = Inversion.BaseInversion(invProb, directiveList=[IRLS,betaest,update_Jacobi])
# Run inversion
mrec = inv.run(driver.m0)
mrec = inv.run(mstart)
m_out = actvMap*reg.l2model
m_out = activeMap*staticCells*reg.l2model
# Write result
@@ -134,7 +140,7 @@ pred = prob.fields(mrec)
#PF.Magnetics.plot_obs_2D(rxLoc,pred,wd,'Predicted Data')
#PF.Magnetics.plot_obs_2D(rxLoc,(d-pred),wd,'Residual Data')
print "Final misfit:" + str(np.sum( ((d-pred)/wd)**2. ) )
print "Final misfit:" + str(np.sum( ((d-pred)/wd)**2. ) )
print "Misfit sum(obs-calc)/nobs: %.3f mGal" %np.divide(np.sum(np.abs(d-pred)), len(d))
print "RMS misfit: %.3f mGal" %np.sqrt(np.divide(np.sum((d-pred)**2),len(d)))
@@ -187,7 +193,7 @@ plt.xlabel('Density (g/cc$^3$)')
plt.title('Histogram of model values - Smooth')
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*reg.l2model,100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*reg.l2model),100)
plt.yscale('log', nonposy='clip')
plt.xlim(reg.l2model.mean() - 2.*(reg.l2model.std()), reg.l2model.mean() + 2.*(reg.l2model.std()))
plt.xlabel('Density (g/cc$^3$)')
@@ -201,18 +207,18 @@ PF.Magnetics.plot_obs_2D(rxLoc,pred_compact,'Predicted Data', vmin = np.min(d),
plt.savefig(home_dir + str('\Figure3_' +str(wgtexp) + '_' + str(eps_p) + '_' + str(eps_q) +'.png'), dpi=300, bb_inches='tight')
PF.Magnetics.plot_obs_2D(rxLoc,d,'Observed Data')
plt.savefig(home_dir + str('\Figure4.png'), dpi=300, bb_inches='tight')
print "\nFinal misfit:" + str(np.sum( ((d-pred_compact)/wd)**2. ) )
print "\nFinal misfit:" + str(np.sum( ((d-pred_compact)/wd)**2. ) )
print "Misfit sum(obs-calc)/nobs: %.3f mGal" %np.divide(np.sum(np.abs(d-pred_compact)), len(d))
print "RMS misfit: %.3f mGal" %np.sqrt(np.divide(np.sum((d-pred_compact)**2),len(d)))
#%% Plot out a section of the compact model
m_out = actvMap*mrec
m_out = activeMap*staticCells*mrec
Mesh.TensorMesh.writeModelUBC(mesh,'SimPEG_inv_l0l2_' +str(wgtexp) + '_' + str(eps_p) + '_' + str(eps_q) +'.den',m_out)
yslice = midx
yslice = midx+1
m_out[m_out==-100]=np.nan # set "air" to nan
print "\nMax density:" + str(np.nanmax(m_out))
@@ -260,7 +266,7 @@ plt.xlabel('Density (g/cc$^3$)')
plt.title('Histogram of model values - Sparse lp:'+str(driver.lpnorms[0]))
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*mrec,100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*mrec),100)
#plt.xlim(mrec.mean() - 4.*(mrec.std()), mrec.mean() + 4.*(mrec.std()))
plt.xlabel('Density (g/cc$^3$)')
@@ -272,4 +278,4 @@ plt.savefig(home_dir + str('\Figure6_' +str(wgtexp) + '_' + str(eps_p) + '_' + s
plt.figure(figsize=(10,8))
residual = d - pred_compact
plt.hist(residual, 100)
plt.savefig(home_dir + str('\Figure7_residuals.png'), dpi=300, bb_inches='tight')
plt.savefig(home_dir + str('\Figure7_residuals.png'), dpi=300, bb_inches='tight')
@@ -7,9 +7,9 @@ import numpy as np
home_dir = 'C:\Egnyte\Private\craigm\PHD\LdM\Gravity\Bouguer\SIMPEG\models\surface_layer_model_-500'
home_dir = '.\\'
inpfile = 'PYGRAV3D_inv_LdM_surface_layer_fixed.inp'
inpfile = 'PYGRAV3D_inv.inp'
dsep = '\\'
os.chdir(home_dir)
@@ -35,57 +35,24 @@ wgtexp = 3. #dont forget the "."
fixedcell = -0.5
#%%
# Read input file
[mshfile, obsfile, topofile, mstart, mref, wgtfile, chi, alphas, bounds, lpnorms] = PF.Gravity.read_GRAVinv_inp(home_dir + dsep + inpfile)
driver = PF.GravityDriver.GravityDriver_Inv(home_dir + dsep + 'PYGRAV3D_inv.inp')
mesh = driver.mesh
survey = driver.survey
# Load mesh file
mesh = Mesh.TensorMesh.readUBC(mshfile)
# Load in observation file
survey = PF.Gravity.readUBCgravObs(obsfile)
# Get obs location and data
rxLoc = survey.srcField.rxList[0].locs
d = survey.dobs
wd = survey.std
ndata = survey.srcField.rxList[0].locs.shape[0]
# Load in topofile or create flat surface
if topofile == 'null':
# All active
actv = np.asarray(range(mesh.nC))
else:
topo = np.genfromtxt(topofile,skip_header=1)
# Find the active cells
actv = PF.Magnetics.getActiveTopo(mesh,topo,'N')
actv = driver.activeCells
nC = len(actv)
# Create active map to go from reduce set to full
actvMap = Maps.InjectActiveCells(mesh, actv, -100)
# Creat reduced identity map
#idenMap = Maps.IdentityMap(nP = nC)
# Load starting model file
if isinstance(mstart, float):
mstart = np.ones(nC) * mstart
else:
mstart = Mesh.TensorMesh.readModelUBC(mesh,mstart)
mstart = mstart[actv]
# Extract cells under topography and create new index for inactive
#m0 = Mesh.TensorMesh.readModelUBC(mesh, mstart)
#m0 = m0[actv]
ind_act = mstart!= fixedcell
actvCells = Maps.InjectActiveCells(None, ind_act, fixedcell, nC=nC)
ind_act = driver.staticCells
staticCells = Maps.InjectActiveCells(None, ind_act, driver.m0[ind_act==False], nC=nC)
mstart = mstart[ind_act]
@@ -106,7 +73,7 @@ midy = int(mesh.nCy/2)
#PF.Gravity.plot_obs_2D(survey,'Observed Data')
#%% Run inversion
prob = PF.Gravity.GravityIntegral(mesh, mapping = actvCells, actInd = actv)
prob = PF.Gravity.GravityIntegral(mesh, mapping = staticCells, actInd = actv)
prob.solverOpts['accuracyTol'] = 1e-4
survey.pair(prob)
@@ -159,7 +126,7 @@ plt.savefig(home_dir + dsep + 'Weighting_' +str(wgtexp) +'.png', dpi=300)
print '\nRun smooth inversion \n'
# First start with an l2 (smooth model) regularization
reg = Regularization.Simple(mesh, indActive = actv, mapping = actvCells)
reg = Regularization.Simple(mesh, indActive = actv, mapping = staticCells)
reg.mref = mref
reg.wght = wr
@@ -193,7 +160,7 @@ m0 = mstart
# Run inversion
mrec = inv.run(m0)
m_out = actvMap*actvCells*mrec
m_out = actvMap*staticCells*mrec
# Write result
Mesh.TensorMesh.writeModelUBC(mesh,'SimPEG_inv_l2l2_' +str(wgtexp) + '.den', m_out)
@@ -258,7 +225,7 @@ plt.xlabel('Density (g/cc$^3$)')
plt.title('Histogram of model values - Smooth')
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*(actvCells*mrec),100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*mrec),100)
plt.yscale('log', nonposy='clip')
plt.xlim(mrec.mean() - 2.*(mrec.std()), mrec.mean() + 2.*(mrec.std()))
plt.xlabel('Density (g/cc$^3$)')
@@ -272,7 +239,7 @@ print '\nRun compact inversion \n'
phim = invProb.phi_m_last
phid = invProb.phi_d
reg = Regularization.Sparse(mesh, indActive = actv, mapping = actvCells)
reg = Regularization.Sparse(mesh, indActive = actv, mapping = staticCells)
reg.recModel = mrec
reg.mref = mref
reg.wght = wr
@@ -317,7 +284,7 @@ m0 = mrec
# Run inversion
mrec = inv.run(m0)
m_out = actvMap*actvCells*mrec
m_out = actvMap*staticCells*mrec
Mesh.TensorMesh.writeModelUBC(mesh,'SimPEG_inv_l0l2_' +str(wgtexp) + '_' + str(eps_p) + '_' + str(eps_q) +'.den',m_out)
@@ -387,7 +354,7 @@ plt.xlabel('Density (g/cc$^3$)')
plt.title('Histogram of model values - Sparse lp:'+str(lpnorms[0]))
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*(actvCells*mrec),100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*mrec),100)
#plt.xlim(mrec.mean() - 4.*(mrec.std()), mrec.mean() + 4.*(mrec.std()))
plt.xlabel('Density (g/cc$^3$)')
plt.yscale('log', nonposy='clip')
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -1,11 +1,12 @@
Mesh_10m.msh ! Mesh file
Grav.dat ! Obsfile
Gaussian.topo ! Topofile | null
VALUE 0.0 ! Starting model
ModelStart.den ! Starting model
VALUE 0.0 ! Reference model
ActiveCells.dat ! [ Active file (0:Inactive | 1: Active-Dynamic | -1: Active-Static) ] || [ VALUE ### (from starting model) ] || [ DEFAULT (all Active-Dynamic)]
DEFAULT ! Cell based weight file
1 ! target chi factor | DEFAULT=1
1 1 1 1 ! alpha s, x ,y ,z
VALUE -1 1 ! Lower and Upper Bounds for p-component
VALUE 0 1 1 1 2 ! lp-norm for amplitude inversion FILE pqxqyqzr.dat ! Norms VALUE p, qx, qy, qz, r | FILE m-by-5 matrix
VALUE 1e-2 1e-3 ! Threshold value for the norm on model and model gradient VALUE eps_p, eps_q | DEFAULT
DEFAULT ! Threshold value for the norm on model and model gradient VALUE eps_p, eps_q | DEFAULT
File diff suppressed because it is too large Load Diff
@@ -1,617 +0,0 @@
616
1.050000e+02 1.550000e+02 2.408312e+02 8.699375e-03 2.000000e-03
1.150000e+02 1.550000e+02 2.440469e+02 9.811662e-03 2.000000e-03
1.250000e+02 1.550000e+02 2.471986e+02 1.102523e-02 2.000000e-03
1.350000e+02 1.550000e+02 2.502569e+02 1.230640e-02 2.000000e-03
1.450000e+02 1.550000e+02 2.531923e+02 1.361237e-02 2.000000e-03
1.550000e+02 1.550000e+02 2.559753e+02 1.488528e-02 2.000000e-03
1.650000e+02 1.550000e+02 2.585770e+02 1.607121e-02 2.000000e-03
1.750000e+02 1.550000e+02 2.609695e+02 1.713245e-02 2.000000e-03
1.850000e+02 1.550000e+02 2.631267e+02 1.804632e-02 2.000000e-03
1.950000e+02 1.550000e+02 2.650244e+02 1.880933e-02 2.000000e-03
2.050000e+02 1.550000e+02 2.666411e+02 1.944187e-02 2.000000e-03
2.150000e+02 1.550000e+02 2.679578e+02 1.997736e-02 2.000000e-03
2.250000e+02 1.550000e+02 2.689593e+02 2.045576e-02 2.000000e-03
2.350000e+02 1.550000e+02 2.696337e+02 2.091268e-02 2.000000e-03
2.450000e+02 1.550000e+02 2.699729e+02 2.137452e-02 2.000000e-03
2.550000e+02 1.550000e+02 2.699729e+02 2.185203e-02 2.000000e-03
2.650000e+02 1.550000e+02 2.696337e+02 2.233853e-02 2.000000e-03
2.750000e+02 1.550000e+02 2.689593e+02 2.280835e-02 2.000000e-03
2.850000e+02 1.550000e+02 2.679578e+02 2.321635e-02 2.000000e-03
2.950000e+02 1.550000e+02 2.666411e+02 2.350100e-02 2.000000e-03
3.050000e+02 1.550000e+02 2.650244e+02 2.359380e-02 2.000000e-03
3.150000e+02 1.550000e+02 2.631267e+02 2.342950e-02 2.000000e-03
3.250000e+02 1.550000e+02 2.609695e+02 2.295876e-02 2.000000e-03
3.350000e+02 1.550000e+02 2.585770e+02 2.216118e-02 2.000000e-03
3.450000e+02 1.550000e+02 2.559753e+02 2.105420e-02 2.000000e-03
3.550000e+02 1.550000e+02 2.531923e+02 1.969369e-02 2.000000e-03
3.650000e+02 1.550000e+02 2.502569e+02 1.816297e-02 2.000000e-03
3.750000e+02 1.550000e+02 2.471986e+02 1.655348e-02 2.000000e-03
1.050000e+02 1.650000e+02 2.427601e+02 9.727037e-03 2.000000e-03
1.150000e+02 1.650000e+02 2.460869e+02 1.109189e-02 2.000000e-03
1.250000e+02 1.650000e+02 2.493475e+02 1.259082e-02 2.000000e-03
1.350000e+02 1.650000e+02 2.525115e+02 1.417977e-02 2.000000e-03
1.450000e+02 1.650000e+02 2.555483e+02 1.579232e-02 2.000000e-03
1.550000e+02 1.650000e+02 2.584275e+02 1.734457e-02 2.000000e-03
1.650000e+02 1.650000e+02 2.611190e+02 1.876032e-02 2.000000e-03
1.750000e+02 1.650000e+02 2.635942e+02 1.998648e-02 2.000000e-03
1.850000e+02 1.650000e+02 2.658260e+02 2.099280e-02 2.000000e-03
1.950000e+02 1.650000e+02 2.677892e+02 2.178443e-02 2.000000e-03
2.050000e+02 1.650000e+02 2.694617e+02 2.240013e-02 2.000000e-03
2.150000e+02 1.650000e+02 2.708240e+02 2.289886e-02 2.000000e-03
2.250000e+02 1.650000e+02 2.718600e+02 2.334616e-02 2.000000e-03
2.350000e+02 1.650000e+02 2.725577e+02 2.379862e-02 2.000000e-03
2.450000e+02 1.650000e+02 2.729086e+02 2.429829e-02 2.000000e-03
2.550000e+02 1.650000e+02 2.729086e+02 2.486506e-02 2.000000e-03
2.650000e+02 1.650000e+02 2.725577e+02 2.549431e-02 2.000000e-03
2.750000e+02 1.650000e+02 2.718600e+02 2.615426e-02 2.000000e-03
2.850000e+02 1.650000e+02 2.708240e+02 2.678409e-02 2.000000e-03
2.950000e+02 1.650000e+02 2.694617e+02 2.729680e-02 2.000000e-03
3.050000e+02 1.650000e+02 2.677892e+02 2.758967e-02 2.000000e-03
3.150000e+02 1.650000e+02 2.658260e+02 2.755802e-02 2.000000e-03
3.250000e+02 1.650000e+02 2.635942e+02 2.711665e-02 2.000000e-03
3.350000e+02 1.650000e+02 2.611190e+02 2.622229e-02 2.000000e-03
3.450000e+02 1.650000e+02 2.584275e+02 2.488799e-02 2.000000e-03
3.550000e+02 1.650000e+02 2.555483e+02 2.318678e-02 2.000000e-03
3.650000e+02 1.650000e+02 2.525115e+02 2.123786e-02 2.000000e-03
3.750000e+02 1.650000e+02 2.493475e+02 1.917733e-02 2.000000e-03
1.050000e+02 1.750000e+02 2.445174e+02 1.089525e-02 2.000000e-03
1.150000e+02 1.750000e+02 2.479454e+02 1.257157e-02 2.000000e-03
1.250000e+02 1.750000e+02 2.513052e+02 1.443051e-02 2.000000e-03
1.350000e+02 1.750000e+02 2.545655e+02 1.641078e-02 2.000000e-03
1.450000e+02 1.750000e+02 2.576947e+02 1.841316e-02 2.000000e-03
1.550000e+02 1.750000e+02 2.606614e+02 2.031780e-02 2.000000e-03
1.650000e+02 1.750000e+02 2.634348e+02 2.201065e-02 2.000000e-03
1.750000e+02 1.750000e+02 2.659854e+02 2.341157e-02 2.000000e-03
1.850000e+02 1.750000e+02 2.682850e+02 2.448678e-02 2.000000e-03
1.950000e+02 1.750000e+02 2.703080e+02 2.525725e-02 2.000000e-03
2.050000e+02 1.750000e+02 2.720313e+02 2.579213e-02 2.000000e-03
2.150000e+02 1.750000e+02 2.734350e+02 2.618855e-02 2.000000e-03
2.250000e+02 1.750000e+02 2.745027e+02 2.654720e-02 2.000000e-03
2.350000e+02 1.750000e+02 2.752216e+02 2.695443e-02 2.000000e-03
2.450000e+02 1.750000e+02 2.755831e+02 2.747264e-02 2.000000e-03
2.550000e+02 1.750000e+02 2.755831e+02 2.813471e-02 2.000000e-03
2.650000e+02 1.750000e+02 2.752216e+02 2.894005e-02 2.000000e-03
2.750000e+02 1.750000e+02 2.745027e+02 2.985075e-02 2.000000e-03
2.850000e+02 1.750000e+02 2.734350e+02 3.078824e-02 2.000000e-03
2.950000e+02 1.750000e+02 2.720313e+02 3.163485e-02 2.000000e-03
3.050000e+02 1.750000e+02 2.703080e+02 3.224142e-02 2.000000e-03
3.150000e+02 1.750000e+02 2.682850e+02 3.244573e-02 2.000000e-03
3.250000e+02 1.750000e+02 2.659854e+02 3.210562e-02 2.000000e-03
3.350000e+02 1.750000e+02 2.634348e+02 3.113619e-02 2.000000e-03
3.450000e+02 1.750000e+02 2.606614e+02 2.953886e-02 2.000000e-03
3.550000e+02 1.750000e+02 2.576947e+02 2.741092e-02 2.000000e-03
3.650000e+02 1.750000e+02 2.545655e+02 2.492491e-02 2.000000e-03
3.750000e+02 1.750000e+02 2.513052e+02 2.228314e-02 2.000000e-03
1.050000e+02 1.850000e+02 2.460835e+02 1.219901e-02 2.000000e-03
1.150000e+02 1.850000e+02 2.496018e+02 1.425707e-02 2.000000e-03
1.250000e+02 1.850000e+02 2.530500e+02 1.656703e-02 2.000000e-03
1.350000e+02 1.850000e+02 2.563960e+02 1.904267e-02 2.000000e-03
1.450000e+02 1.850000e+02 2.596076e+02 2.154309e-02 2.000000e-03
1.550000e+02 1.850000e+02 2.626524e+02 2.389251e-02 2.000000e-03
1.650000e+02 1.850000e+02 2.654988e+02 2.591841e-02 2.000000e-03
1.750000e+02 1.850000e+02 2.681164e+02 2.750129e-02 2.000000e-03
1.850000e+02 1.850000e+02 2.704766e+02 2.860300e-02 2.000000e-03
1.950000e+02 1.850000e+02 2.725528e+02 2.927297e-02 2.000000e-03
2.050000e+02 1.850000e+02 2.743215e+02 2.963033e-02 2.000000e-03
2.150000e+02 1.850000e+02 2.757621e+02 2.982855e-02 2.000000e-03
2.250000e+02 1.850000e+02 2.768578e+02 3.001789e-02 2.000000e-03
2.350000e+02 1.850000e+02 2.775956e+02 3.032229e-02 2.000000e-03
2.450000e+02 1.850000e+02 2.779668e+02 3.082928e-02 2.000000e-03
2.550000e+02 1.850000e+02 2.779668e+02 3.158715e-02 2.000000e-03
2.650000e+02 1.850000e+02 2.775956e+02 3.260165e-02 2.000000e-03
2.750000e+02 1.850000e+02 2.768578e+02 3.383103e-02 2.000000e-03
2.850000e+02 1.850000e+02 2.757621e+02 3.517975e-02 2.000000e-03
2.950000e+02 1.850000e+02 2.743215e+02 3.649394e-02 2.000000e-03
3.050000e+02 1.850000e+02 2.725528e+02 3.756451e-02 2.000000e-03
3.150000e+02 1.850000e+02 2.704766e+02 3.814891e-02 2.000000e-03
3.250000e+02 1.850000e+02 2.681164e+02 3.801821e-02 2.000000e-03
3.350000e+02 1.850000e+02 2.654988e+02 3.701774e-02 2.000000e-03
3.450000e+02 1.850000e+02 2.626524e+02 3.512216e-02 2.000000e-03
3.550000e+02 1.850000e+02 2.596076e+02 3.245988e-02 2.000000e-03
3.650000e+02 1.850000e+02 2.563960e+02 2.928500e-02 2.000000e-03
3.750000e+02 1.850000e+02 2.530500e+02 2.589943e-02 2.000000e-03
1.050000e+02 1.950000e+02 2.474409e+02 1.361651e-02 2.000000e-03
1.150000e+02 1.950000e+02 2.510374e+02 1.613214e-02 2.000000e-03
1.250000e+02 1.950000e+02 2.545621e+02 1.899787e-02 2.000000e-03
1.350000e+02 1.950000e+02 2.579825e+02 2.209962e-02 2.000000e-03
1.450000e+02 1.950000e+02 2.612655e+02 2.523764e-02 2.000000e-03
1.550000e+02 1.950000e+02 2.643779e+02 2.814896e-02 2.000000e-03
1.650000e+02 1.950000e+02 2.672876e+02 3.057396e-02 2.000000e-03
1.750000e+02 1.950000e+02 2.699634e+02 3.233584e-02 2.000000e-03
1.850000e+02 1.950000e+02 2.723760e+02 3.339213e-02 2.000000e-03
1.950000e+02 1.950000e+02 2.744984e+02 3.384416e-02 2.000000e-03
2.050000e+02 1.950000e+02 2.763063e+02 3.389061e-02 2.000000e-03
2.150000e+02 1.950000e+02 2.777790e+02 3.376532e-02 2.000000e-03
2.250000e+02 1.950000e+02 2.788990e+02 3.368327e-02 2.000000e-03
2.350000e+02 1.950000e+02 2.796533e+02 3.381201e-02 2.000000e-03
2.450000e+02 1.950000e+02 2.800326e+02 3.426693e-02 2.000000e-03
2.550000e+02 1.950000e+02 2.800326e+02 3.511322e-02 2.000000e-03
2.650000e+02 1.950000e+02 2.796533e+02 3.636463e-02 2.000000e-03
2.750000e+02 1.950000e+02 2.788990e+02 3.797921e-02 2.000000e-03
2.850000e+02 1.950000e+02 2.777790e+02 3.984870e-02 2.000000e-03
2.950000e+02 1.950000e+02 2.763063e+02 4.178252e-02 2.000000e-03
3.050000e+02 1.950000e+02 2.744984e+02 4.350037e-02 2.000000e-03
3.150000e+02 1.950000e+02 2.723760e+02 4.465226e-02 2.000000e-03
3.250000e+02 1.950000e+02 2.699634e+02 4.488142e-02 2.000000e-03
3.350000e+02 1.950000e+02 2.672876e+02 4.392264e-02 2.000000e-03
3.450000e+02 1.950000e+02 2.643779e+02 4.169861e-02 2.000000e-03
3.550000e+02 1.950000e+02 2.612655e+02 3.837439e-02 2.000000e-03
3.650000e+02 1.950000e+02 2.579825e+02 3.432473e-02 2.000000e-03
3.750000e+02 1.950000e+02 2.545621e+02 3.000183e-02 2.000000e-03
1.050000e+02 2.050000e+02 2.485739e+02 1.510182e-02 2.000000e-03
1.150000e+02 2.050000e+02 2.522356e+02 1.814747e-02 2.000000e-03
1.250000e+02 2.050000e+02 2.558243e+02 2.167883e-02 2.000000e-03
1.350000e+02 2.050000e+02 2.593068e+02 2.555595e-02 2.000000e-03
1.450000e+02 2.050000e+02 2.626493e+02 2.949671e-02 2.000000e-03
1.550000e+02 2.050000e+02 2.658182e+02 3.311197e-02 2.000000e-03
1.650000e+02 2.050000e+02 2.687807e+02 3.601228e-02 2.000000e-03
1.750000e+02 2.050000e+02 2.715050e+02 3.793456e-02 2.000000e-03
1.850000e+02 2.050000e+02 2.739614e+02 3.884049e-02 2.000000e-03
1.950000e+02 2.050000e+02 2.761223e+02 3.891959e-02 2.000000e-03
2.050000e+02 2.050000e+02 2.779631e+02 3.848912e-02 2.000000e-03
2.150000e+02 2.050000e+02 2.794624e+02 3.789228e-02 2.000000e-03
2.250000e+02 2.050000e+02 2.806028e+02 3.742200e-02 2.000000e-03
2.350000e+02 2.050000e+02 2.813707e+02 3.729294e-02 2.000000e-03
2.450000e+02 2.050000e+02 2.817570e+02 3.764819e-02 2.000000e-03
2.550000e+02 2.050000e+02 2.817570e+02 3.856623e-02 2.000000e-03
2.650000e+02 2.050000e+02 2.813707e+02 4.006947e-02 2.000000e-03
2.750000e+02 2.050000e+02 2.806028e+02 4.212125e-02 2.000000e-03
2.850000e+02 2.050000e+02 2.794624e+02 4.460758e-02 2.000000e-03
2.950000e+02 2.050000e+02 2.779631e+02 4.730731e-02 2.000000e-03
3.050000e+02 2.050000e+02 2.761223e+02 4.986451e-02 2.000000e-03
3.150000e+02 2.050000e+02 2.739614e+02 5.179647e-02 2.000000e-03
3.250000e+02 2.050000e+02 2.715050e+02 5.257176e-02 2.000000e-03
3.350000e+02 2.050000e+02 2.687807e+02 5.175914e-02 2.000000e-03
3.450000e+02 2.050000e+02 2.658182e+02 4.918940e-02 2.000000e-03
3.550000e+02 2.050000e+02 2.626493e+02 4.506732e-02 2.000000e-03
3.650000e+02 2.050000e+02 2.593068e+02 3.993836e-02 2.000000e-03
3.750000e+02 2.050000e+02 2.558243e+02 3.447183e-02 2.000000e-03
1.050000e+02 2.150000e+02 2.494692e+02 1.657621e-02 2.000000e-03
1.150000e+02 2.150000e+02 2.531825e+02 2.020364e-02 2.000000e-03
1.250000e+02 2.150000e+02 2.568218e+02 2.449411e-02 2.000000e-03
1.350000e+02 2.150000e+02 2.603533e+02 2.928618e-02 2.000000e-03
1.450000e+02 2.150000e+02 2.637429e+02 3.420118e-02 2.000000e-03
1.550000e+02 2.150000e+02 2.669565e+02 3.867855e-02 2.000000e-03
1.650000e+02 2.150000e+02 2.699606e+02 4.213023e-02 2.000000e-03
1.750000e+02 2.150000e+02 2.727234e+02 4.417469e-02 2.000000e-03
1.850000e+02 2.150000e+02 2.752143e+02 4.480084e-02 2.000000e-03
1.950000e+02 2.150000e+02 2.774056e+02 4.433000e-02 2.000000e-03
2.050000e+02 2.150000e+02 2.792724e+02 4.324514e-02 2.000000e-03
2.150000e+02 2.150000e+02 2.807928e+02 4.202631e-02 2.000000e-03
2.250000e+02 2.150000e+02 2.819493e+02 4.105517e-02 2.000000e-03
2.350000e+02 2.150000e+02 2.827280e+02 4.059277e-02 2.000000e-03
2.450000e+02 2.150000e+02 2.831197e+02 4.080158e-02 2.000000e-03
2.550000e+02 2.150000e+02 2.831197e+02 4.176505e-02 2.000000e-03
2.650000e+02 2.150000e+02 2.827280e+02 4.351334e-02 2.000000e-03
2.750000e+02 2.150000e+02 2.819493e+02 4.602149e-02 2.000000e-03
2.850000e+02 2.150000e+02 2.807928e+02 4.917818e-02 2.000000e-03
2.950000e+02 2.150000e+02 2.792724e+02 5.274213e-02 2.000000e-03
3.050000e+02 2.150000e+02 2.774056e+02 5.628755e-02 2.000000e-03
3.150000e+02 2.150000e+02 2.752143e+02 5.918564e-02 2.000000e-03
3.250000e+02 2.150000e+02 2.727234e+02 6.069202e-02 2.000000e-03
3.350000e+02 2.150000e+02 2.699606e+02 6.014912e-02 2.000000e-03
3.450000e+02 2.150000e+02 2.669565e+02 5.724081e-02 2.000000e-03
3.550000e+02 2.150000e+02 2.637429e+02 5.220764e-02 2.000000e-03
3.650000e+02 2.150000e+02 2.603533e+02 4.582334e-02 2.000000e-03
3.750000e+02 2.150000e+02 2.568218e+02 3.904765e-02 2.000000e-03
1.050000e+02 2.250000e+02 2.501165e+02 1.792863e-02 2.000000e-03
1.150000e+02 2.250000e+02 2.538671e+02 2.214366e-02 2.000000e-03
1.250000e+02 2.250000e+02 2.575429e+02 2.723102e-02 2.000000e-03
1.350000e+02 2.250000e+02 2.611099e+02 3.302249e-02 2.000000e-03
1.450000e+02 2.250000e+02 2.645335e+02 3.904061e-02 2.000000e-03
1.550000e+02 2.250000e+02 2.677793e+02 4.450854e-02 2.000000e-03
1.650000e+02 2.250000e+02 2.708137e+02 4.856805e-02 2.000000e-03
1.750000e+02 2.250000e+02 2.736041e+02 5.068488e-02 2.000000e-03
1.850000e+02 2.250000e+02 2.761201e+02 5.090222e-02 2.000000e-03
1.950000e+02 2.250000e+02 2.783334e+02 4.972460e-02 2.000000e-03
2.050000e+02 2.250000e+02 2.802189e+02 4.784310e-02 2.000000e-03
2.150000e+02 2.250000e+02 2.817546e+02 4.589326e-02 2.000000e-03
2.250000e+02 2.250000e+02 2.829227e+02 4.434959e-02 2.000000e-03
2.350000e+02 2.250000e+02 2.837092e+02 4.350819e-02 2.000000e-03
2.450000e+02 2.250000e+02 2.841048e+02 4.353322e-02 2.000000e-03
2.550000e+02 2.250000e+02 2.841048e+02 4.450796e-02 2.000000e-03
2.650000e+02 2.250000e+02 2.837092e+02 4.646693e-02 2.000000e-03
2.750000e+02 2.250000e+02 2.829227e+02 4.939724e-02 2.000000e-03
2.850000e+02 2.250000e+02 2.817546e+02 5.320034e-02 2.000000e-03
2.950000e+02 2.250000e+02 2.802189e+02 5.762526e-02 2.000000e-03
3.050000e+02 2.250000e+02 2.783334e+02 6.218955e-02 2.000000e-03
3.150000e+02 2.250000e+02 2.761201e+02 6.612435e-02 2.000000e-03
3.250000e+02 2.250000e+02 2.736041e+02 6.846167e-02 2.000000e-03
3.350000e+02 2.250000e+02 2.708137e+02 6.828188e-02 2.000000e-03
3.450000e+02 2.250000e+02 2.677793e+02 6.507469e-02 2.000000e-03
3.550000e+02 2.250000e+02 2.645335e+02 5.910062e-02 2.000000e-03
3.650000e+02 2.250000e+02 2.611099e+02 5.140639e-02 2.000000e-03
3.750000e+02 2.250000e+02 2.575429e+02 4.329021e-02 2.000000e-03
1.050000e+02 2.350000e+02 2.505080e+02 1.902566e-02 2.000000e-03
1.150000e+02 2.350000e+02 2.542811e+02 2.376254e-02 2.000000e-03
1.250000e+02 2.350000e+02 2.579790e+02 2.958497e-02 2.000000e-03
1.350000e+02 2.350000e+02 2.615674e+02 3.633584e-02 2.000000e-03
1.450000e+02 2.350000e+02 2.650117e+02 4.345350e-02 2.000000e-03
1.550000e+02 2.350000e+02 2.682770e+02 4.992846e-02 2.000000e-03
1.650000e+02 2.350000e+02 2.713296e+02 5.459254e-02 2.000000e-03
1.750000e+02 2.350000e+02 2.741368e+02 5.674079e-02 2.000000e-03
1.850000e+02 2.350000e+02 2.766679e+02 5.648464e-02 2.000000e-03
1.950000e+02 2.350000e+02 2.788945e+02 5.454128e-02 2.000000e-03
2.050000e+02 2.350000e+02 2.807913e+02 5.182869e-02 2.000000e-03
2.150000e+02 2.350000e+02 2.823363e+02 4.914221e-02 2.000000e-03
2.250000e+02 2.350000e+02 2.835114e+02 4.703298e-02 2.000000e-03
2.350000e+02 2.350000e+02 2.843026e+02 4.581478e-02 2.000000e-03
2.450000e+02 2.350000e+02 2.847007e+02 4.564345e-02 2.000000e-03
2.550000e+02 2.350000e+02 2.847007e+02 4.659324e-02 2.000000e-03
2.650000e+02 2.350000e+02 2.843026e+02 4.869864e-02 2.000000e-03
2.750000e+02 2.350000e+02 2.835114e+02 5.195559e-02 2.000000e-03
2.850000e+02 2.350000e+02 2.823363e+02 5.627910e-02 2.000000e-03
2.950000e+02 2.350000e+02 2.807913e+02 6.141810e-02 2.000000e-03
3.050000e+02 2.350000e+02 2.788945e+02 6.684790e-02 2.000000e-03
3.150000e+02 2.350000e+02 2.766679e+02 7.168410e-02 2.000000e-03
3.250000e+02 2.350000e+02 2.741368e+02 7.476565e-02 2.000000e-03
3.350000e+02 2.350000e+02 2.713296e+02 7.493779e-02 2.000000e-03
3.450000e+02 2.350000e+02 2.682770e+02 7.149806e-02 2.000000e-03
3.550000e+02 2.350000e+02 2.650117e+02 6.471227e-02 2.000000e-03
3.650000e+02 2.350000e+02 2.615674e+02 5.588432e-02 2.000000e-03
3.750000e+02 2.350000e+02 2.579791e+02 4.662537e-02 2.000000e-03
1.050000e+02 2.450000e+02 2.506390e+02 1.973230e-02 2.000000e-03
1.150000e+02 2.450000e+02 2.544197e+02 2.484061e-02 2.000000e-03
1.250000e+02 2.450000e+02 2.581250e+02 3.120525e-02 2.000000e-03
1.350000e+02 2.450000e+02 2.617206e+02 3.869321e-02 2.000000e-03
1.450000e+02 2.450000e+02 2.651717e+02 4.668984e-02 2.000000e-03
1.550000e+02 2.450000e+02 2.684435e+02 5.399194e-02 2.000000e-03
1.650000e+02 2.450000e+02 2.715022e+02 5.915683e-02 2.000000e-03
1.750000e+02 2.450000e+02 2.743151e+02 6.132492e-02 2.000000e-03
1.850000e+02 2.450000e+02 2.768512e+02 6.066492e-02 2.000000e-03
1.950000e+02 2.450000e+02 2.790823e+02 5.807989e-02 2.000000e-03
2.050000e+02 2.450000e+02 2.809829e+02 5.468171e-02 2.000000e-03
2.150000e+02 2.450000e+02 2.825310e+02 5.139590e-02 2.000000e-03
2.250000e+02 2.450000e+02 2.837084e+02 4.882997e-02 2.000000e-03
2.350000e+02 2.450000e+02 2.845013e+02 4.730120e-02 2.000000e-03
2.450000e+02 2.450000e+02 2.849001e+02 4.695304e-02 2.000000e-03
2.550000e+02 2.450000e+02 2.849001e+02 4.784636e-02 2.000000e-03
2.650000e+02 2.450000e+02 2.845013e+02 5.000952e-02 2.000000e-03
2.750000e+02 2.450000e+02 2.837084e+02 5.344154e-02 2.000000e-03
2.850000e+02 2.450000e+02 2.825310e+02 5.806444e-02 2.000000e-03
2.950000e+02 2.450000e+02 2.809829e+02 6.362712e-02 2.000000e-03
3.050000e+02 2.450000e+02 2.790823e+02 6.957772e-02 2.000000e-03
3.150000e+02 2.450000e+02 2.768512e+02 7.495865e-02 2.000000e-03
3.250000e+02 2.450000e+02 2.743151e+02 7.848830e-02 2.000000e-03
3.350000e+02 2.450000e+02 2.715022e+02 7.886686e-02 2.000000e-03
3.450000e+02 2.450000e+02 2.684435e+02 7.527199e-02 2.000000e-03
3.550000e+02 2.450000e+02 2.651717e+02 6.797572e-02 2.000000e-03
3.650000e+02 2.450000e+02 2.617206e+02 5.844707e-02 2.000000e-03
3.750000e+02 2.450000e+02 2.581250e+02 4.849373e-02 2.000000e-03
1.050000e+02 2.550000e+02 2.505080e+02 1.994464e-02 2.000000e-03
1.150000e+02 2.550000e+02 2.542811e+02 2.520154e-02 2.000000e-03
1.250000e+02 2.550000e+02 2.579790e+02 3.179745e-02 2.000000e-03
1.350000e+02 2.550000e+02 2.615674e+02 3.962153e-02 2.000000e-03
1.450000e+02 2.550000e+02 2.650117e+02 4.804544e-02 2.000000e-03
1.550000e+02 2.550000e+02 2.682770e+02 5.577527e-02 2.000000e-03
1.650000e+02 2.550000e+02 2.713296e+02 6.122440e-02 2.000000e-03
1.750000e+02 2.550000e+02 2.741368e+02 6.343705e-02 2.000000e-03
1.850000e+02 2.550000e+02 2.766679e+02 6.259204e-02 2.000000e-03
1.950000e+02 2.550000e+02 2.788945e+02 5.968460e-02 2.000000e-03
2.050000e+02 2.550000e+02 2.807913e+02 5.593163e-02 2.000000e-03
2.150000e+02 2.550000e+02 2.823363e+02 5.233032e-02 2.000000e-03
2.250000e+02 2.550000e+02 2.835114e+02 4.951558e-02 2.000000e-03
2.350000e+02 2.550000e+02 2.843026e+02 4.780490e-02 2.000000e-03
2.450000e+02 2.550000e+02 2.847007e+02 4.733203e-02 2.000000e-03
2.550000e+02 2.550000e+02 2.847007e+02 4.814662e-02 2.000000e-03
2.650000e+02 2.550000e+02 2.843026e+02 5.026818e-02 2.000000e-03
2.750000e+02 2.550000e+02 2.835114e+02 5.368927e-02 2.000000e-03
2.850000e+02 2.550000e+02 2.823363e+02 5.832827e-02 2.000000e-03
2.950000e+02 2.550000e+02 2.807913e+02 6.393007e-02 2.000000e-03
3.050000e+02 2.550000e+02 2.788945e+02 6.993202e-02 2.000000e-03
3.150000e+02 2.550000e+02 2.766679e+02 7.535884e-02 2.000000e-03
3.250000e+02 2.550000e+02 2.741368e+02 7.890994e-02 2.000000e-03
3.350000e+02 2.550000e+02 2.713296e+02 7.926954e-02 2.000000e-03
3.450000e+02 2.550000e+02 2.682770e+02 7.560738e-02 2.000000e-03
3.550000e+02 2.550000e+02 2.650117e+02 6.820847e-02 2.000000e-03
3.650000e+02 2.550000e+02 2.615674e+02 5.857505e-02 2.000000e-03
3.750000e+02 2.550000e+02 2.579791e+02 4.853885e-02 2.000000e-03
1.050000e+02 2.650000e+02 2.501165e+02 1.962030e-02 2.000000e-03
1.150000e+02 2.650000e+02 2.538671e+02 2.476949e-02 2.000000e-03
1.250000e+02 2.650000e+02 2.575429e+02 3.122760e-02 2.000000e-03
1.350000e+02 2.650000e+02 2.611099e+02 3.889153e-02 2.000000e-03
1.450000e+02 2.650000e+02 2.645335e+02 4.715893e-02 2.000000e-03
1.550000e+02 2.650000e+02 2.677793e+02 5.478282e-02 2.000000e-03
1.650000e+02 2.650000e+02 2.708137e+02 6.022048e-02 2.000000e-03
1.750000e+02 2.650000e+02 2.736041e+02 6.250966e-02 2.000000e-03
1.850000e+02 2.650000e+02 2.761201e+02 6.177780e-02 2.000000e-03
1.950000e+02 2.650000e+02 2.783334e+02 5.897860e-02 2.000000e-03
2.050000e+02 2.650000e+02 2.802189e+02 5.530960e-02 2.000000e-03
2.150000e+02 2.650000e+02 2.817546e+02 5.176463e-02 2.000000e-03
2.250000e+02 2.650000e+02 2.829227e+02 4.897063e-02 2.000000e-03
2.350000e+02 2.650000e+02 2.837092e+02 4.724657e-02 2.000000e-03
2.450000e+02 2.650000e+02 2.841048e+02 4.672441e-02 2.000000e-03
2.550000e+02 2.650000e+02 2.841048e+02 4.744984e-02 2.000000e-03
2.650000e+02 2.650000e+02 2.837092e+02 4.943386e-02 2.000000e-03
2.750000e+02 2.650000e+02 2.829227e+02 5.265515e-02 2.000000e-03
2.850000e+02 2.650000e+02 2.817546e+02 5.701701e-02 2.000000e-03
2.950000e+02 2.650000e+02 2.802189e+02 6.225742e-02 2.000000e-03
3.050000e+02 2.650000e+02 2.783334e+02 6.782030e-02 2.000000e-03
3.150000e+02 2.650000e+02 2.761201e+02 7.277295e-02 2.000000e-03
3.250000e+02 2.650000e+02 2.736041e+02 7.590280e-02 2.000000e-03
3.350000e+02 2.650000e+02 2.708137e+02 7.601587e-02 2.000000e-03
3.450000e+02 2.650000e+02 2.677793e+02 7.238941e-02 2.000000e-03
3.550000e+02 2.650000e+02 2.645335e+02 6.532399e-02 2.000000e-03
3.650000e+02 2.650000e+02 2.611099e+02 5.621253e-02 2.000000e-03
3.750000e+02 2.650000e+02 2.575429e+02 4.673007e-02 2.000000e-03
1.050000e+02 2.750000e+02 2.494692e+02 1.879447e-02 2.000000e-03
1.150000e+02 2.750000e+02 2.531825e+02 2.359757e-02 2.000000e-03
1.250000e+02 2.750000e+02 2.568218e+02 2.957201e-02 2.000000e-03
1.350000e+02 2.750000e+02 2.603533e+02 3.661365e-02 2.000000e-03
1.450000e+02 2.750000e+02 2.637429e+02 4.417920e-02 2.000000e-03
1.550000e+02 2.750000e+02 2.669565e+02 5.118231e-02 2.000000e-03
1.650000e+02 2.750000e+02 2.699606e+02 5.629954e-02 2.000000e-03
1.750000e+02 2.750000e+02 2.727234e+02 5.866051e-02 2.000000e-03
1.850000e+02 2.750000e+02 2.752143e+02 5.830526e-02 2.000000e-03
1.950000e+02 2.750000e+02 2.774056e+02 5.602097e-02 2.000000e-03
2.050000e+02 2.750000e+02 2.792724e+02 5.285814e-02 2.000000e-03
2.150000e+02 2.750000e+02 2.807928e+02 4.972599e-02 2.000000e-03
2.250000e+02 2.750000e+02 2.819493e+02 4.721877e-02 2.000000e-03
2.350000e+02 2.750000e+02 2.827280e+02 4.565059e-02 2.000000e-03
2.450000e+02 2.750000e+02 2.831197e+02 4.516085e-02 2.000000e-03
2.550000e+02 2.750000e+02 2.831197e+02 4.579836e-02 2.000000e-03
2.650000e+02 2.750000e+02 2.827280e+02 4.756779e-02 2.000000e-03
2.750000e+02 2.750000e+02 2.819493e+02 5.043112e-02 2.000000e-03
2.850000e+02 2.750000e+02 2.807928e+02 5.427250e-02 2.000000e-03
2.950000e+02 2.750000e+02 2.792724e+02 5.881957e-02 2.000000e-03
3.050000e+02 2.750000e+02 2.774056e+02 6.354358e-02 2.000000e-03
3.150000e+02 2.750000e+02 2.752143e+02 6.761114e-02 2.000000e-03
3.250000e+02 2.750000e+02 2.727234e+02 6.998698e-02 2.000000e-03
3.350000e+02 2.750000e+02 2.699606e+02 6.970280e-02 2.000000e-03
3.450000e+02 2.750000e+02 2.669565e+02 6.622704e-02 2.000000e-03
3.550000e+02 2.750000e+02 2.637429e+02 5.987040e-02 2.000000e-03
3.650000e+02 2.750000e+02 2.603533e+02 5.179432e-02 2.000000e-03
3.750000e+02 2.750000e+02 2.568218e+02 4.337758e-02 2.000000e-03
1.050000e+02 2.850000e+02 2.485739e+02 1.756811e-02 2.000000e-03
1.150000e+02 2.850000e+02 2.522356e+02 2.185255e-02 2.000000e-03
1.250000e+02 2.850000e+02 2.558243e+02 2.710533e-02 2.000000e-03
1.350000e+02 2.850000e+02 2.593068e+02 3.321254e-02 2.000000e-03
1.450000e+02 2.850000e+02 2.626493e+02 3.971518e-02 2.000000e-03
1.550000e+02 2.850000e+02 2.658182e+02 4.575280e-02 2.000000e-03
1.650000e+02 2.850000e+02 2.687807e+02 5.030714e-02 2.000000e-03
1.750000e+02 2.850000e+02 2.715050e+02 5.267778e-02 2.000000e-03
1.850000e+02 2.850000e+02 2.739614e+02 5.282390e-02 2.000000e-03
1.950000e+02 2.850000e+02 2.761223e+02 5.129906e-02 2.000000e-03
2.050000e+02 2.850000e+02 2.779631e+02 4.892335e-02 2.000000e-03
2.150000e+02 2.850000e+02 2.794624e+02 4.645518e-02 2.000000e-03
2.250000e+02 2.850000e+02 2.806028e+02 4.442776e-02 2.000000e-03
2.350000e+02 2.850000e+02 2.813707e+02 4.314617e-02 2.000000e-03
2.450000e+02 2.850000e+02 2.817570e+02 4.275783e-02 2.000000e-03
2.550000e+02 2.850000e+02 2.817570e+02 4.331657e-02 2.000000e-03
2.650000e+02 2.850000e+02 2.813707e+02 4.482491e-02 2.000000e-03
2.750000e+02 2.850000e+02 2.806028e+02 4.723090e-02 2.000000e-03
2.850000e+02 2.850000e+02 2.794624e+02 5.040037e-02 2.000000e-03
2.950000e+02 2.850000e+02 2.779631e+02 5.405946e-02 2.000000e-03
3.050000e+02 2.850000e+02 2.761223e+02 5.773115e-02 2.000000e-03
3.150000e+02 2.850000e+02 2.739614e+02 6.072162e-02 2.000000e-03
3.250000e+02 2.850000e+02 2.715050e+02 6.222356e-02 2.000000e-03
3.350000e+02 2.850000e+02 2.687807e+02 6.153243e-02 2.000000e-03
3.450000e+02 2.850000e+02 2.658182e+02 5.832177e-02 2.000000e-03
3.550000e+02 2.850000e+02 2.626493e+02 5.288882e-02 2.000000e-03
3.650000e+02 2.850000e+02 2.593068e+02 4.611380e-02 2.000000e-03
3.750000e+02 2.850000e+02 2.558243e+02 3.902933e-02 2.000000e-03
1.050000e+02 2.950000e+02 2.474409e+02 1.607976e-02 2.000000e-03
1.150000e+02 2.950000e+02 2.510374e+02 1.976018e-02 2.000000e-03
1.250000e+02 2.950000e+02 2.545621e+02 2.419038e-02 2.000000e-03
1.350000e+02 2.950000e+02 2.579825e+02 2.924939e-02 2.000000e-03
1.450000e+02 2.950000e+02 2.612655e+02 3.457584e-02 2.000000e-03
1.550000e+02 2.950000e+02 2.643779e+02 3.954108e-02 2.000000e-03
1.650000e+02 2.950000e+02 2.672876e+02 4.342082e-02 2.000000e-03
1.750000e+02 2.950000e+02 2.699634e+02 4.570327e-02 2.000000e-03
1.850000e+02 2.950000e+02 2.723760e+02 4.630547e-02 2.000000e-03
1.950000e+02 2.950000e+02 2.744984e+02 4.556288e-02 2.000000e-03
2.050000e+02 2.950000e+02 2.763063e+02 4.404763e-02 2.000000e-03
2.150000e+02 2.950000e+02 2.777790e+02 4.233733e-02 2.000000e-03
2.250000e+02 2.950000e+02 2.788990e+02 4.087702e-02 2.000000e-03
2.350000e+02 2.950000e+02 2.796533e+02 3.994809e-02 2.000000e-03
2.450000e+02 2.950000e+02 2.800326e+02 3.970013e-02 2.000000e-03
2.550000e+02 2.950000e+02 2.800326e+02 4.019297e-02 2.000000e-03
2.650000e+02 2.950000e+02 2.796533e+02 4.142705e-02 2.000000e-03
2.750000e+02 2.950000e+02 2.788990e+02 4.334188e-02 2.000000e-03
2.850000e+02 2.950000e+02 2.777790e+02 4.579594e-02 2.000000e-03
2.950000e+02 2.950000e+02 2.763063e+02 4.853257e-02 2.000000e-03
3.050000e+02 2.950000e+02 2.744984e+02 5.114824e-02 2.000000e-03
3.150000e+02 2.950000e+02 2.723760e+02 5.310412e-02 2.000000e-03
3.250000e+02 2.950000e+02 2.699634e+02 5.381973e-02 2.000000e-03
3.350000e+02 2.950000e+02 2.672876e+02 5.282953e-02 2.000000e-03
3.450000e+02 2.950000e+02 2.643779e+02 4.996518e-02 2.000000e-03
3.550000e+02 2.950000e+02 2.612655e+02 4.548661e-02 2.000000e-03
3.650000e+02 2.950000e+02 2.579825e+02 4.001789e-02 2.000000e-03
3.750000e+02 2.950000e+02 2.545621e+02 3.427976e-02 2.000000e-03
1.050000e+02 3.050000e+02 2.460835e+02 1.447201e-02 2.000000e-03
1.150000e+02 3.050000e+02 2.496018e+02 1.754251e-02 2.000000e-03
1.250000e+02 3.050000e+02 2.530500e+02 2.116683e-02 2.000000e-03
1.350000e+02 3.050000e+02 2.563960e+02 2.523018e-02 2.000000e-03
1.450000e+02 3.050000e+02 2.596076e+02 2.946229e-02 2.000000e-03
1.550000e+02 3.050000e+02 2.626524e+02 3.343020e-02 2.000000e-03
1.650000e+02 3.050000e+02 2.654988e+02 3.664512e-02 2.000000e-03
1.750000e+02 3.050000e+02 2.681164e+02 3.875291e-02 2.000000e-03
1.850000e+02 3.050000e+02 2.704766e+02 3.966383e-02 2.000000e-03
1.950000e+02 3.050000e+02 2.725528e+02 3.955962e-02 2.000000e-03
2.050000e+02 3.050000e+02 2.743215e+02 3.880132e-02 2.000000e-03
2.150000e+02 3.050000e+02 2.757621e+02 3.779493e-02 2.000000e-03
2.250000e+02 3.050000e+02 2.768578e+02 3.688419e-02 2.000000e-03
2.350000e+02 3.050000e+02 2.775956e+02 3.630888e-02 2.000000e-03
2.450000e+02 3.050000e+02 2.779668e+02 3.620911e-02 2.000000e-03
2.550000e+02 3.050000e+02 2.779668e+02 3.664635e-02 2.000000e-03
2.650000e+02 3.050000e+02 2.775956e+02 3.761980e-02 2.000000e-03
2.750000e+02 3.050000e+02 2.768578e+02 3.906756e-02 2.000000e-03
2.850000e+02 3.050000e+02 2.757621e+02 4.085554e-02 2.000000e-03
2.950000e+02 3.050000e+02 2.743215e+02 4.276132e-02 2.000000e-03
3.050000e+02 3.050000e+02 2.725528e+02 4.446581e-02 2.000000e-03
3.150000e+02 3.050000e+02 2.704766e+02 4.557673e-02 2.000000e-03
3.250000e+02 3.050000e+02 2.681164e+02 4.570216e-02 2.000000e-03
3.350000e+02 3.050000e+02 2.654988e+02 4.455673e-02 2.000000e-03
3.450000e+02 3.050000e+02 2.626524e+02 4.207252e-02 2.000000e-03
3.550000e+02 3.050000e+02 2.596076e+02 3.845928e-02 2.000000e-03
3.650000e+02 3.050000e+02 2.563960e+02 3.414187e-02 2.000000e-03
3.750000e+02 3.050000e+02 2.530500e+02 2.960411e-02 2.000000e-03
1.050000e+02 3.150000e+02 2.445174e+02 1.286330e-02 2.000000e-03
1.150000e+02 3.150000e+02 2.479454e+02 1.537271e-02 2.000000e-03
1.250000e+02 3.150000e+02 2.513052e+02 1.828041e-02 2.000000e-03
1.350000e+02 3.150000e+02 2.545655e+02 2.148831e-02 2.000000e-03
1.450000e+02 3.150000e+02 2.576947e+02 2.480036e-02 2.000000e-03
1.550000e+02 3.150000e+02 2.606614e+02 2.792960e-02 2.000000e-03
1.650000e+02 3.150000e+02 2.634348e+02 3.055705e-02 2.000000e-03
1.750000e+02 3.150000e+02 2.659854e+02 3.244136e-02 2.000000e-03
1.850000e+02 3.150000e+02 2.682850e+02 3.350260e-02 2.000000e-03
1.950000e+02 3.150000e+02 2.703080e+02 3.383039e-02 2.000000e-03
2.050000e+02 3.150000e+02 2.720313e+02 3.363891e-02 2.000000e-03
2.150000e+02 3.150000e+02 2.734350e+02 3.319420e-02 2.000000e-03
2.250000e+02 3.150000e+02 2.745027e+02 3.274280e-02 2.000000e-03
2.350000e+02 3.150000e+02 2.752216e+02 3.247345e-02 2.000000e-03
2.450000e+02 3.150000e+02 2.755831e+02 3.250518e-02 2.000000e-03
2.550000e+02 3.150000e+02 2.755831e+02 3.289339e-02 2.000000e-03
2.650000e+02 3.150000e+02 2.752216e+02 3.363749e-02 2.000000e-03
2.750000e+02 3.150000e+02 2.745027e+02 3.468145e-02 2.000000e-03
2.850000e+02 3.150000e+02 2.734350e+02 3.590957e-02 2.000000e-03
2.950000e+02 3.150000e+02 2.720313e+02 3.714307e-02 2.000000e-03
3.050000e+02 3.150000e+02 2.703080e+02 3.814419e-02 2.000000e-03
3.150000e+02 3.150000e+02 2.682850e+02 3.864184e-02 2.000000e-03
3.250000e+02 3.150000e+02 2.659854e+02 3.838378e-02 2.000000e-03
3.350000e+02 3.150000e+02 2.634348e+02 3.720601e-02 2.000000e-03
3.450000e+02 3.150000e+02 2.606614e+02 3.509582e-02 2.000000e-03
3.550000e+02 3.150000e+02 2.576947e+02 3.221210e-02 2.000000e-03
3.650000e+02 3.150000e+02 2.545655e+02 2.883800e-02 2.000000e-03
3.750000e+02 3.150000e+02 2.513052e+02 2.529472e-02 2.000000e-03
1.050000e+02 3.250000e+02 2.427601e+02 1.133669e-02 2.000000e-03
1.150000e+02 3.250000e+02 2.460869e+02 1.336098e-02 2.000000e-03
1.250000e+02 3.250000e+02 2.493475e+02 1.566903e-02 2.000000e-03
1.350000e+02 3.250000e+02 2.525115e+02 1.818275e-02 2.000000e-03
1.450000e+02 3.250000e+02 2.555483e+02 2.076366e-02 2.000000e-03
1.550000e+02 3.250000e+02 2.584275e+02 2.322337e-02 2.000000e-03
1.650000e+02 3.250000e+02 2.611190e+02 2.535788e-02 2.000000e-03
1.750000e+02 3.250000e+02 2.635942e+02 2.700472e-02 2.000000e-03
1.850000e+02 3.250000e+02 2.658260e+02 2.809600e-02 2.000000e-03
1.950000e+02 3.250000e+02 2.677892e+02 2.867004e-02 2.000000e-03
2.050000e+02 3.250000e+02 2.694617e+02 2.884924e-02 2.000000e-03
2.150000e+02 3.250000e+02 2.708240e+02 2.879968e-02 2.000000e-03
2.250000e+02 3.250000e+02 2.718600e+02 2.868793e-02 2.000000e-03
2.350000e+02 3.250000e+02 2.725577e+02 2.865140e-02 2.000000e-03
2.450000e+02 3.250000e+02 2.729086e+02 2.878238e-02 2.000000e-03
2.550000e+02 3.250000e+02 2.729086e+02 2.912579e-02 2.000000e-03
2.650000e+02 3.250000e+02 2.725577e+02 2.968094e-02 2.000000e-03
2.750000e+02 3.250000e+02 2.718600e+02 3.040166e-02 2.000000e-03
2.850000e+02 3.250000e+02 2.708240e+02 3.119605e-02 2.000000e-03
2.950000e+02 3.250000e+02 2.694617e+02 3.192918e-02 2.000000e-03
3.050000e+02 3.250000e+02 2.677892e+02 3.243227e-02 2.000000e-03
3.150000e+02 3.250000e+02 2.658260e+02 3.252519e-02 2.000000e-03
3.250000e+02 3.250000e+02 2.635942e+02 3.205254e-02 2.000000e-03
3.350000e+02 3.250000e+02 2.611190e+02 3.092642e-02 2.000000e-03
3.450000e+02 3.250000e+02 2.584275e+02 2.915945e-02 2.000000e-03
3.550000e+02 3.250000e+02 2.555483e+02 2.686725e-02 2.000000e-03
3.650000e+02 3.250000e+02 2.525115e+02 2.423840e-02 2.000000e-03
3.750000e+02 3.250000e+02 2.493475e+02 2.148640e-02 2.000000e-03
1.050000e+02 3.350000e+02 2.408312e+02 9.941922e-03 2.000000e-03
1.150000e+02 3.350000e+02 2.440469e+02 1.156254e-02 2.000000e-03
1.250000e+02 3.350000e+02 2.471986e+02 1.338630e-02 2.000000e-03
1.350000e+02 3.350000e+02 2.502569e+02 1.535354e-02 2.000000e-03
1.450000e+02 3.350000e+02 2.531923e+02 1.736823e-02 2.000000e-03
1.550000e+02 3.350000e+02 2.559753e+02 1.930648e-02 2.000000e-03
1.650000e+02 3.350000e+02 2.585770e+02 2.103686e-02 2.000000e-03
1.750000e+02 3.350000e+02 2.609695e+02 2.245160e-02 2.000000e-03
1.850000e+02 3.350000e+02 2.631267e+02 2.349602e-02 2.000000e-03
1.950000e+02 3.350000e+02 2.650244e+02 2.418070e-02 2.000000e-03
2.050000e+02 3.350000e+02 2.666411e+02 2.457191e-02 2.000000e-03
2.150000e+02 3.350000e+02 2.679578e+02 2.476979e-02 2.000000e-03
2.250000e+02 3.350000e+02 2.689593e+02 2.488188e-02 2.000000e-03
2.350000e+02 3.350000e+02 2.696337e+02 2.500175e-02 2.000000e-03
2.450000e+02 3.350000e+02 2.699729e+02 2.519563e-02 2.000000e-03
2.550000e+02 3.350000e+02 2.699729e+02 2.549683e-02 2.000000e-03
2.650000e+02 3.350000e+02 2.696337e+02 2.590408e-02 2.000000e-03
2.750000e+02 3.350000e+02 2.689593e+02 2.638174e-02 2.000000e-03
2.850000e+02 3.350000e+02 2.679578e+02 2.686149e-02 2.000000e-03
2.950000e+02 3.350000e+02 2.666411e+02 2.724651e-02 2.000000e-03
3.050000e+02 3.350000e+02 2.650244e+02 2.742183e-02 2.000000e-03
3.150000e+02 3.350000e+02 2.631267e+02 2.727229e-02 2.000000e-03
3.250000e+02 3.350000e+02 2.609695e+02 2.670598e-02 2.000000e-03
3.350000e+02 3.350000e+02 2.585770e+02 2.567965e-02 2.000000e-03
3.450000e+02 3.350000e+02 2.559753e+02 2.421447e-02 2.000000e-03
3.550000e+02 3.350000e+02 2.531923e+02 2.239399e-02 2.000000e-03
3.650000e+02 3.350000e+02 2.502569e+02 2.034502e-02 2.000000e-03
3.750000e+02 3.350000e+02 2.471986e+02 1.821014e-02 2.000000e-03
1.050000e+02 3.450000e+02 2.387514e+02 8.700295e-03 2.000000e-03
1.150000e+02 3.450000e+02 2.418474e+02 9.994043e-03 2.000000e-03
1.250000e+02 3.450000e+02 2.448817e+02 1.143375e-02 2.000000e-03
1.350000e+02 3.450000e+02 2.478261e+02 1.297678e-02 2.000000e-03
1.450000e+02 3.450000e+02 2.506521e+02 1.455633e-02 2.000000e-03
1.550000e+02 3.450000e+02 2.533315e+02 1.609073e-02 2.000000e-03
1.650000e+02 3.450000e+02 2.558362e+02 1.749413e-02 2.000000e-03
1.750000e+02 3.450000e+02 2.581396e+02 1.869352e-02 2.000000e-03
1.850000e+02 3.450000e+02 2.602165e+02 1.964746e-02 2.000000e-03
1.950000e+02 3.450000e+02 2.620435e+02 2.035288e-02 2.000000e-03
2.050000e+02 3.450000e+02 2.635999e+02 2.084311e-02 2.000000e-03
2.150000e+02 3.450000e+02 2.648676e+02 2.117625e-02 2.000000e-03
2.250000e+02 3.450000e+02 2.658318e+02 2.141826e-02 2.000000e-03
2.350000e+02 3.450000e+02 2.664810e+02 2.162950e-02 2.000000e-03
2.450000e+02 3.450000e+02 2.668076e+02 2.185433e-02 2.000000e-03
2.550000e+02 3.450000e+02 2.668076e+02 2.211540e-02 2.000000e-03
2.650000e+02 3.450000e+02 2.664810e+02 2.241087e-02 2.000000e-03
2.750000e+02 3.450000e+02 2.658318e+02 2.271456e-02 2.000000e-03
2.850000e+02 3.450000e+02 2.648676e+02 2.297828e-02 2.000000e-03
2.950000e+02 3.450000e+02 2.635999e+02 2.313594e-02 2.000000e-03
3.050000e+02 3.450000e+02 2.620435e+02 2.311177e-02 2.000000e-03
3.150000e+02 3.450000e+02 2.602165e+02 2.283466e-02 2.000000e-03
3.250000e+02 3.450000e+02 2.581396e+02 2.225286e-02 2.000000e-03
3.350000e+02 3.450000e+02 2.558362e+02 2.134775e-02 2.000000e-03
3.450000e+02 3.450000e+02 2.533315e+02 2.014201e-02 2.000000e-03
3.550000e+02 3.450000e+02 2.506521e+02 1.869606e-02 2.000000e-03
3.650000e+02 3.450000e+02 2.478261e+02 1.709628e-02 2.000000e-03
3.750000e+02 3.450000e+02 2.448817e+02 1.543918e-02 2.000000e-03
1.050000e+02 3.550000e+02 2.365428e+02 7.613911e-03 2.000000e-03
1.150000e+02 3.550000e+02 2.395115e+02 8.647298e-03 2.000000e-03
1.250000e+02 3.550000e+02 2.424211e+02 9.786237e-03 2.000000e-03
1.350000e+02 3.550000e+02 2.452446e+02 1.100079e-02 2.000000e-03
1.450000e+02 3.550000e+02 2.479545e+02 1.224611e-02 2.000000e-03
1.550000e+02 3.550000e+02 2.505237e+02 1.346689e-02 2.000000e-03
1.650000e+02 3.550000e+02 2.529255e+02 1.460571e-02 2.000000e-03
1.750000e+02 3.550000e+02 2.551343e+02 1.561255e-02 2.000000e-03
1.850000e+02 3.550000e+02 2.571258e+02 1.645653e-02 2.000000e-03
1.950000e+02 3.550000e+02 2.588778e+02 1.712919e-02 2.000000e-03
2.050000e+02 3.550000e+02 2.603702e+02 1.764484e-02 2.000000e-03
2.150000e+02 3.550000e+02 2.615858e+02 1.803522e-02 2.000000e-03
2.250000e+02 3.550000e+02 2.625104e+02 1.833890e-02 2.000000e-03
2.350000e+02 3.550000e+02 2.631330e+02 1.859274e-02 2.000000e-03
2.450000e+02 3.550000e+02 2.634461e+02 1.882440e-02 2.000000e-03
2.550000e+02 3.550000e+02 2.634461e+02 1.904792e-02 2.000000e-03
2.650000e+02 3.550000e+02 2.631330e+02 1.926108e-02 2.000000e-03
2.750000e+02 3.550000e+02 2.625104e+02 1.944546e-02 2.000000e-03
2.850000e+02 3.550000e+02 2.615858e+02 1.956845e-02 2.000000e-03
2.950000e+02 3.550000e+02 2.603702e+02 1.958670e-02 2.000000e-03
3.050000e+02 3.550000e+02 2.588778e+02 1.945233e-02 2.000000e-03
3.150000e+02 3.550000e+02 2.571258e+02 1.912335e-02 2.000000e-03
3.250000e+02 3.550000e+02 2.551343e+02 1.857233e-02 2.000000e-03
3.350000e+02 3.550000e+02 2.529255e+02 1.779329e-02 2.000000e-03
3.450000e+02 3.550000e+02 2.505237e+02 1.680720e-02 2.000000e-03
3.550000e+02 3.550000e+02 2.479545e+02 1.565863e-02 2.000000e-03
3.650000e+02 3.550000e+02 2.452446e+02 1.440777e-02 2.000000e-03
3.750000e+02 3.550000e+02 2.424211e+02 1.311967e-02 2.000000e-03
1.050000e+02 3.650000e+02 2.342278e+02 6.675879e-03 2.000000e-03
1.150000e+02 3.650000e+02 2.370632e+02 7.501534e-03 2.000000e-03
1.250000e+02 3.650000e+02 2.398421e+02 8.406384e-03 2.000000e-03
1.350000e+02 3.650000e+02 2.425387e+02 9.366917e-03 2.000000e-03
1.450000e+02 3.650000e+02 2.451270e+02 1.035317e-02 2.000000e-03
1.550000e+02 3.650000e+02 2.475808e+02 1.132872e-02 2.000000e-03
1.650000e+02 3.650000e+02 2.498748e+02 1.225382e-02 2.000000e-03
1.750000e+02 3.650000e+02 2.519843e+02 1.309303e-02 2.000000e-03
1.850000e+02 3.650000e+02 2.538864e+02 1.382311e-02 2.000000e-03
1.950000e+02 3.650000e+02 2.555596e+02 1.443470e-02 2.000000e-03
2.050000e+02 3.650000e+02 2.569850e+02 1.493134e-02 2.000000e-03
2.150000e+02 3.650000e+02 2.581461e+02 1.532861e-02 2.000000e-03
2.250000e+02 3.650000e+02 2.590291e+02 1.564824e-02 2.000000e-03
2.350000e+02 3.650000e+02 2.596237e+02 1.591135e-02 2.000000e-03
2.450000e+02 3.650000e+02 2.599228e+02 1.613371e-02 2.000000e-03
2.550000e+02 3.650000e+02 2.599228e+02 1.632286e-02 2.000000e-03
2.650000e+02 3.650000e+02 2.596237e+02 1.647652e-02 2.000000e-03
2.750000e+02 3.650000e+02 2.590291e+02 1.658239e-02 2.000000e-03
2.850000e+02 3.650000e+02 2.581461e+02 1.661913e-02 2.000000e-03
2.950000e+02 3.650000e+02 2.569850e+02 1.655899e-02 2.000000e-03
3.050000e+02 3.650000e+02 2.555596e+02 1.637349e-02 2.000000e-03
3.150000e+02 3.650000e+02 2.538864e+02 1.603953e-02 2.000000e-03
3.250000e+02 3.650000e+02 2.519843e+02 1.554295e-02 2.000000e-03
3.350000e+02 3.650000e+02 2.498748e+02 1.488428e-02 2.000000e-03
3.450000e+02 3.650000e+02 2.475808e+02 1.408257e-02 2.000000e-03
3.550000e+02 3.650000e+02 2.451270e+02 1.317151e-02 2.000000e-03
3.650000e+02 3.650000e+02 2.425387e+02 1.219236e-02 2.000000e-03
3.750000e+02 3.650000e+02 2.398421e+02 1.118891e-02 2.000000e-03
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

File diff suppressed because it is too large Load Diff
@@ -125,6 +125,8 @@ m0 = np.reshape(m0,(mesh.nCx,mesh.nCy,mesh.nCz), order = 'F')
m0[midx-6,midy,midz+2] = val
m0[midx+7,midy,midz+2] = val
m0 = mkvc(m0)
# Write result
Mesh.TensorMesh.writeModelUBC(mesh,'ModelStart.sus',m0)
# Extract cells under topography and create new index for inactive
m0 = m0[actv]
+24 -18
View File
@@ -2,7 +2,9 @@ from SimPEG import *
import simpegPF as PF
import pylab as plt
import os
#import os
plt.close('all')
driver = PF.MagneticsDriver.MagneticsDriver_Inv('PYMAG3D_inv.inp')
mesh = driver.mesh
@@ -20,8 +22,12 @@ nC = len(actv)
# Create active map to go from reduce set to full
actvMap = Maps.InjectActiveCells(mesh, actv, -100)
# Create reduced identity map
idenMap = Maps.IdentityMap(nP=nC)
# Create static map
static = driver.staticCells
dynamic = driver.dynamicCells
staticCells = Maps.InjectActiveCells(None, dynamic, driver.m0[static], nC=nC)
mstart = driver.m0[dynamic]
# Get magnetization vector for MOF
M_xyz = driver.magnetizationModel
@@ -34,7 +40,7 @@ midy = int(mesh.nCy/2)
PF.Magnetics.plot_obs_2D(rxLoc,d, 'Observed Data')
#%% Run inversion
prob = PF.Magnetics.Problem3D_Integral(mesh, mapping=idenMap, actInd=actv)
prob = PF.Magnetics.Problem3D_Integral(mesh, mapping = staticCells, actInd=actv)
prob.solverOpts['accuracyTol'] = 1e-4
survey.pair(prob)
@@ -42,7 +48,7 @@ dmis = DataMisfit.l2_DataMisfit(survey)
dmis.Wd = 1./wd
# Write out the predicted
pred = prob.fields(driver.m0)
pred = prob.fields(mstart)
PF.Magnetics.writeUBCobs('Pred.dat', survey, pred)
wr = np.sum(prob.G**2.,axis=0)**0.5
@@ -55,26 +61,26 @@ mesh.plotSlice(wr_out, ax=ax, normal='Y', ind=midx ,clim=(-1e-3, wr.max()))
plt.title('Distance weighting')
plt.xlabel('x');plt.ylabel('z')
plt.gca().set_aspect('equal', adjustable='box')
reg = Regularization.Sparse(mesh, indActive=actv, mapping=idenMap)
reg.mref = driver.mref
reg = Regularization.Sparse(mesh, indActive=actv, mapping = staticCells)
reg.mref = driver.mref[dynamic]
reg.cell_weights = wr
#reg.mref = np.zeros(mesh.nC)
eps_p = 5e-5
eps_q = 5e-5
norms = [0., 1., 1., 1.]
#eps_p = 5e-5
#eps_q = 5e-5
#norms = [0., 1., 1., 1.]
opt = Optimization.ProjectedGNCG(maxIter=100 ,lower=-2.,upper=2., maxIterLS = 20, maxIterCG= 10, tolCG = 1e-3)
opt = Optimization.ProjectedGNCG(maxIter=100 ,lower=driver.bounds[0],upper=driver.bounds[1], maxIterLS = 20, maxIterCG= 10, tolCG = 1e-3)
invProb = InvProblem.BaseInvProblem(dmis, reg, opt)
#beta = Directives.BetaSchedule(coolingFactor=1, coolingRate=1)
#update_beta = Directives.Scale_Beta(tol = 0.05, coolingRate=5)
betaest = Directives.BetaEstimate_ByEig()
IRLS = Directives.Update_IRLS( norms=norms, eps_p=eps_p, eps_q=eps_q, f_min_change = 1e-2)
IRLS = Directives.Update_IRLS( norms=driver.lpnorms, eps=driver.eps, f_min_change = 1e-3, minGNiter=6)
update_Jacobi = Directives.Update_lin_PreCond()
inv = Inversion.BaseInversion(invProb, directiveList=[IRLS,betaest,update_Jacobi])
# Run inversion
mrec = inv.run(driver.m0)
mrec = inv.run(mstart)
pred = prob.fields(mrec)
@@ -88,7 +94,7 @@ print "Final misfit:" + str(np.sum( ((d-pred)/wd)**2. ) )
yslice = midx
m_out = actvMap*reg.l2model
m_out = actvMap*staticCells*reg.l2model
m_out[m_out==-100] = np.nan
# Write result
@@ -122,15 +128,15 @@ plt.hist(reg.l2model,100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model values - Smooth')
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*reg.l2model,100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*reg.l2model),100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model gradient values - Smooth')
#%% Plot out a section of the model
yslice = midx
yslice = midx+1
m_out = actvMap*mrec
m_out = actvMap*staticCells*mrec
m_out[m_out==-100] = np.nan
plt.figure()
@@ -160,7 +166,7 @@ plt.hist(mrec,100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model values - Compact')
ax = plt.subplot(122)
plt.hist(reg.regmesh.cellDiffxStencil*mrec,100)
plt.hist(reg.regmesh.cellDiffxStencil*(staticCells*mrec),100)
plt.yscale('log', nonposy='clip')
plt.title('Histogram of model gradient values - Smooth')
File diff suppressed because it is too large Load Diff
+8 -6
View File
@@ -1,11 +1,13 @@
Mesh_10m.msh ! Mesh file
Obs_loc_TMI.obs ! Obsfile
Obs_loc_TMI.obs ! Obsfile
Gaussian.topo ! Topofile | null
VALUE 1e-4 ! Starting model
VALUE 0 ! Reference model
DEFAULT !..\AzmDip.dat ! Magnetization vector model
ModelStart.sus ! Starting model
VALUE 0 ! Reference model
ActiveCells.dat ! [ Active file (0:Inactive | 1: Active-Dynamic | -1: Active-Static) ] || [ VALUE ### (from starting model) ] || [ DEFAULT (all Active-Dynamic)]
DEFAULT !..\AzmDip.dat ! Magnetization vector model
DEFAULT ! Cell based weight file
1 ! target chi factor | DEFAULT=1
1 1 1 1 ! alpha s, x ,y ,z
1 1 1 1 ! alpha s, x ,y ,z
VALUE 0 1 ! Lower and Upper Bounds for p-component
VALUE 0 1 1 1 1 ! lp-norm for amplitude inversion FILE pqxqyqzr.dat ! Norms VALUE p, qx, qy, qz, r | FILE m-by-5 matrix
VALUE 0 1 1 1 1 ! lp-norm for amplitude inversion FILE pqxqyqzr.dat ! Norms VALUE p, qx, qy, qz, r | FILE m-by-5 matrix
DEFAULT ! Threshold value for the norm on model and model gradient VALUE eps_p, eps_q | DEFAULT
+616 -616
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+75 -12
View File
@@ -1,5 +1,5 @@
import re, os
from SimPEG import Mesh, np
from SimPEG import Mesh, np, Utils
import BaseGrav, Gravity
class GravityDriver_Inv(object):
@@ -25,6 +25,7 @@ class GravityDriver_Inv(object):
topofile
start model
ref model
active cells model
weightfile
chi_target
as, ax ,ay, az
@@ -77,28 +78,39 @@ class GravityDriver_Inv(object):
else:
mref = l_input[0].rstrip()
# Line 6
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
staticInput = float(l_input[1])
elif l_input[0]=='DEFAULT':
staticInput = None
else:
staticInput = l_input[0].rstrip()
# Line 7
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input=='DEFAULT':
wgtfile = []
else:
wgtfile = l_input[0].rstrip()
# Line 7
# Line 8
line = fid.readline()
l_input = re.split('[!\s]',line)
chi = float(l_input[0])
# Line 8
# Line 9
line = fid.readline()
l_input = re.split('[!\s]',line)
val = np.array(l_input[0:4])
alphas = val.astype(np.float)
# Line 9
# Line 10
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
@@ -108,7 +120,7 @@ class GravityDriver_Inv(object):
else:
bounds = l_input[0].rstrip()
# Line 10
# Line 11
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
@@ -118,7 +130,7 @@ class GravityDriver_Inv(object):
else:
lpnorms = l_input[0].rstrip()
# Line 11
# Line 12
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
@@ -126,13 +138,14 @@ class GravityDriver_Inv(object):
eps = val.astype(np.float)
else:
eps = l_input[0].rstrip()
eps = [None,None]
self.mshfile = mshfile
self.obsfile = obsfile
self.topofile = topofile
self.mstart = mstart
self._mrefInput = mref
self._staticInput = staticInput
self.wgtfile = wgtfile
self.chi = chi
self.alphas = alphas
@@ -149,7 +162,7 @@ class GravityDriver_Inv(object):
@property
def survey(self):
if getattr(self, '_survey', None) is None:
self._survey = self.readGravityObservations(self.obsfile)
self._survey = self.readGravityObservations(self.basePath + self.obsfile)
return self._survey
@property
@@ -160,9 +173,58 @@ class GravityDriver_Inv(object):
else:
topo = np.genfromtxt(self.basePath + self.topofile, skip_header=1)
# Find the active cells
self._activeCells = Gravity.getActiveTopo(self.mesh,topo,'N')
active = Utils.surface2ind_topo(self.mesh,topo,'N')
inds = np.asarray([inds for inds, elem in enumerate(active, 1) if elem], dtype = int) - 1
self._activeCells = inds
return self._activeCells
@property
def staticCells(self):
if getattr(self, '_staticCells', None) is None:
if getattr(self, '_staticInput', None) is None:
# All cells are dynamic: 1's
self._dynamicCells = np.arange(len(self.m0))
self._staticCells = []
# Cells with specific value are static: 0's
else:
if isinstance(self._staticInput, float):
staticCells = self.m0 == self._staticInput
else:
# Read from file active cells with 0:air, 1:dynamic, -1 static
staticCells = Mesh.TensorMesh.readModelUBC(self.mesh, self.basePath + self._staticInput)
staticCells = staticCells[self.activeCells] == -1
inds = np.asarray([inds for inds, elem in enumerate(staticCells, 1) if elem], dtype = int) - 1
self._staticCells = inds
return self._staticCells
@property
def dynamicCells(self):
if getattr(self, '_dynamicCells', None) is None:
if getattr(self, '_staticInput', None) is None:
# All cells are dynamic: 1's
self._dynamicCells = np.arange(len(self.m0))
# Cells with specific value are static: 0's
else:
if isinstance(self._staticInput, float):
dynamicCells = self.m0 != self._staticInput
else:
# Read from file active cells with 0:air, 1:dynamic, -1 static
dynamicCells = Mesh.TensorMesh.readModelUBC(self.mesh, self.basePath + self._staticInput)
dynamicCells = dynamicCells[self.activeCells] == 1
inds = np.asarray([inds for inds, elem in enumerate(dynamicCells, 1) if elem], dtype = int) - 1
self._dynamicCells = inds
return self._dynamicCells
@property
def nC(self):
@@ -176,7 +238,8 @@ class GravityDriver_Inv(object):
if isinstance(self.mstart, float):
self._m0 = np.ones(self.nC) * self.mstart
else:
self._m0 = Utils.meshutils.readUBCTensorModel(self.basePath + self.mstart,self.mesh)
self._m0 = Mesh.TensorMesh.readModelUBC(self.mesh, self.basePath + self.mstart)
self._m0 = self._m0[self.activeCells]
return self._m0
@@ -187,7 +250,7 @@ class GravityDriver_Inv(object):
if isinstance(self._mrefInput, float):
self._mref = np.ones(self.nC) * self._mrefInput
else:
self._mref = Utils.meshutils.readUBCTensorModel(self.basePath + self._mrefInput, self.mesh)
self._mref = Mesh.TensorMesh.readModelUBC(self.mesh, self.basePath + self._mrefInput)
self._mref = self._mref[self.activeCells]
return self._mref
+84 -11
View File
@@ -1,5 +1,5 @@
import re, os
from SimPEG import Mesh, np
from SimPEG import Mesh, np, Utils
import BaseMag, Magnetics
class MagneticsDriver_Inv(object):
@@ -78,17 +78,29 @@ class MagneticsDriver_Inv(object):
else:
mref = l_input[0].rstrip()
# Line 6
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
staticInput = float(l_input[1])
elif l_input[0]=='DEFAULT':
staticInput = None
else:
staticInput = l_input[0].rstrip()
# Line 7
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input=='DEFAULT':
magfile = []
else:
magfile = l_input[0].rstrip()
# Line 7
# Line 8
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input=='DEFAULT':
@@ -97,18 +109,18 @@ class MagneticsDriver_Inv(object):
else:
wgtfile = l_input[0].rstrip()
# Line 8
# Line 9
line = fid.readline()
l_input = re.split('[!\s]',line)
chi = float(l_input[0])
# Line 9
# Line 10
line = fid.readline()
l_input = re.split('[!\s]',line)
val = np.array(l_input[0:4])
alphas = val.astype(np.float)
# Line 10
# Line 11
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
@@ -118,7 +130,7 @@ class MagneticsDriver_Inv(object):
else:
bounds = l_input[0].rstrip()
# Line 11
# Line 12
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
@@ -128,17 +140,29 @@ class MagneticsDriver_Inv(object):
else:
lpnorms = l_input[0].rstrip()
# Line 13
line = fid.readline()
l_input = re.split('[!\s]',line)
if l_input[0]=='VALUE':
val = np.array(l_input[1:3])
eps = val.astype(np.float)
else:
eps = [None,None]
self.mshfile = mshfile
self.obsfile = obsfile
self.topofile = topofile
self.mstart = mstart
self._mrefInput = mref
self._staticInput = staticInput
self.magfile = magfile
self.wgtfile = wgtfile
self.chi = chi
self.alphas = alphas
self.bounds = bounds
self.lpnorms = lpnorms
self.eps = eps
@property
def mesh(self):
@@ -156,13 +180,62 @@ class MagneticsDriver_Inv(object):
def activeCells(self):
if getattr(self, '_activeCells', None) is None:
if self.topofile == 'null':
self._activeCells = np.arange(mesh.nC)
self._activeCells = np.arange(self.mesh.nC)
else:
topo = np.genfromtxt(self.basePath + self.topofile, skip_header=1)
# Find the active cells
self._activeCells = Magnetics.getActiveTopo(self.mesh,topo,'N')
active = Utils.surface2ind_topo(self.mesh,topo,'N')
inds = np.asarray([inds for inds, elem in enumerate(active, 1) if elem], dtype = int) - 1
self._activeCells = inds
return self._activeCells
@property
def staticCells(self):
if getattr(self, '_staticCells', None) is None:
if getattr(self, '_staticInput', None) is None:
# All cells are dynamic: 1's
self._dynamicCells = np.arange(len(self.m0))
self._staticCells = []
# Cells with specific value are static: 0's
else:
if isinstance(self._staticInput, float):
staticCells = self.m0 == self._staticInput
else:
# Read from file active cells with 0:air, 1:dynamic, -1 static
staticCells = Mesh.TensorMesh.readModelUBC(self.mesh, self.basePath + self._staticInput)
staticCells = staticCells[self.activeCells] == -1
inds = np.asarray([inds for inds, elem in enumerate(staticCells, 1) if elem], dtype = int) - 1
self._staticCells = inds
return self._staticCells
@property
def dynamicCells(self):
if getattr(self, '_dynamicCells', None) is None:
if getattr(self, '_staticInput', None) is None:
# All cells are dynamic: 1's
self._dynamicCells = np.arange(len(self.m0))
# Cells with specific value are static: 0's
else:
if isinstance(self._staticInput, float):
dynamicCells = self.m0 != self._staticInput
else:
# Read from file active cells with 0:air, 1:dynamic, -1 static
dynamicCells = Mesh.TensorMesh.readModelUBC(self.mesh, self.basePath + self._staticInput)
dynamicCells = dynamicCells[self.activeCells] == 1
inds = np.asarray([inds for inds, elem in enumerate(dynamicCells, 1) if elem], dtype = int) - 1
self._dynamicCells = inds
return self._dynamicCells
@property
def nC(self):
@@ -176,7 +249,7 @@ class MagneticsDriver_Inv(object):
if isinstance(self.mstart, float):
self._m0 = np.ones(self.nC) * self.mstart
else:
self._m0 = Utils.meshutils.readUBCTensorModel(self.basePath + self.mstart,self.mesh)
self._m0 = Mesh.TensorMesh.readModelUBC(self.mesh,self.basePath + self.mstart)
self._m0 = self._m0[self.activeCells]
return self._m0
@@ -187,7 +260,7 @@ class MagneticsDriver_Inv(object):
if isinstance(self._mrefInput, float):
self._mref = np.ones(self.nC) * self._mrefInput
else:
self._mref = Utils.meshutils.readUBCTensorModel(self.basePath + self._mrefInput, self.mesh)
self._mref = Mesh.TensorMesh.readModelUBC(self.mesh,self.basePath + self._mrefInput)
self._mref = self._mref[self.activeCells]
return self._mref