Giter Club home page Giter Club logo

simpeg-research / astic-2020-jointinversion Goto Github PK

View Code? Open in Web Editor NEW
22.0 3.0 14.0 19.45 MB

Collection of scripts to reproduce the results of Astic et al. (2020): forward modelling and joint inversion of potential fields data with petrophysical information (Petrophysically and geologically guided inversion: PGI)

License: MIT License

Python 0.13% TypeScript 78.97% Jupyter Notebook 20.90%
jupyter-notebooks inversions multi-physics-inversions geology-surfaces

astic-2020-jointinversion's People

Contributors

bluetyson avatar thast avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

astic-2020-jointinversion's Issues

How can I create Geology surfaces files (*.ts *.vtp, and *.vtu files extensions in the Geology surface folder) for my study area?

I want to reproduce the results of the simPEG joint inversion technique with potential field data sets (gravity and magnetic) of my study area. But I do not know how to create geology surface feature files (*.ts *.vtp, and *.vtu files extensions in the Geology surface folder) for my study area. Please tell me which software should I use for creating geology surface files.

Any help would be appreciated

"jupyter" is not recognized

Hi,

I am Fian and I am interested in your work. I have cloned the GIT into my system, and when I tried to run it, it gives

'jupyter' is not recognized as an internal or external command,
operable program or batch file.

I have tried several things:

  1. Copied the jupyter into the pgijoint-env folder,
  2. Adding the Python Home Path to my System's Environment Variables,
  3. Reinstalled Jupyter (which it says that it is already in my system).

I have ran out of ideas, can you offer me any other solution?

I couldn't recreate the ocTree mesh input file exactly

  1. I tried to recreate the ocTree mesh data file used in the Joint PGI of Gravity and Magnetic without petrophysical information code. However, I was unable to create the precise ocTree mesh file. Please specify the exact parameters for reproducing the Octree mesh data file.
    I have attached the code for creating an ocTree mesh file and cross-sections and XY plots of the ocTree mesh.
    ####### create octree mesh file

Import Modules

import numpy as np
from scipy.interpolate import LinearNDInterpolator
import matplotlib as mpl
import matplotlib.pyplot as plt

from discretize import TreeMesh
from discretize.utils import mkvc, refine_tree_xyz
from SimPEG.utils import plot2Ddata, model_builder, surface2ind_topo
from SimPEG import maps
from SimPEG.potential_fields import gravity

######### load topogaphy data #########################

data1 = np.genfromtxt('TOPO_AOI_KIMBERLITE_CANADA_15JUL21.dat')

x_topo1=data1[:, 0]
x_topo2= np.transpose(x_topo1)
y_topo1=data1[:, 1]
y_topo2= np.transpose(y_topo1)
z_topo1=data1[:, 2]
z_topo2= np.transpose(z_topo1)

x_topo, y_topo, z_topo = mkvc(x_topo2), mkvc(y_topo2), mkvc(z_topo2)
xyz_topo = np.c_[x_topo, y_topo, z_topo ]

#Defining an OcTree Mesh

dx = 25 # minimum cell width (base mesh cell width) in x
dy = 25 # minimum cell width (base mesh cell width) in y
dz = 25 # minimum cell width (base mesh cell width) in z

x_length = 800.0 # domain width in x
y_length = 800.0 # domain width in y
z_length = 800.0 # domain width in z

Compute number of base mesh cells required in x and y

nbcx = 2 ** int(np.round(np.log(x_length / dx) / np.log(2.0)))
nbcy = 2 ** int(np.round(np.log(y_length / dy) / np.log(2.0)))
nbcz = 2 ** int(np.round(np.log(z_length / dz) / np.log(2.0)))

Define the base mesh

hx = [(dx, nbcx)]
hy = [(dy, nbcy)]
hz = [(dz, nbcz)]

#mesh = TreeMesh([hx, hy, hz])
mesh = TreeMesh([hx, hy, hz], x0="CCN")

xc = 400 + 556900
yc = 400 + 7133200
zc = 440.9

x0_new = np.r_[mesh.x0[0] + xc, mesh.x0[1] + yc, mesh.x0[2] + zc]

mesh.x0 = x0_new

Refine based on surface topography

mesh = refine_tree_xyz(
mesh, xyz_topo, octree_levels=[2, 2], method="surface", finalize=False
)

Refine box based on region of interest

xp, yp, zp = np.meshgrid([557000.0, 557600.0], [7133300.0, 7133900.0], [50.0, 400.0])
xyz = np.c_[mkvc(xp), mkvc(yp), mkvc(zp)]
mesh = refine_tree_xyz(mesh, xyz, octree_levels=[2, 2], method="box", finalize=False)

mesh.finalize()

mesh.writeUBC('mesh_file1.ubc')
image

  1. I was unable to construct correct output quasi-geological model or density/susceptibility contrast on cross-sections and XY plots, and 2D density probability plot using the Joint PGI of Gravity and Magnetic without petrophysical information code with the ocTree mesh file that I created using the preceding script (remaining input files and settings are the same). Please find the attached figures.
    cross_plots_v315jul21
    denssity_probability_15jul21

  2. I noticed no quasi-geological model or density/susceptibility contrast on cross-sections and XY plots, and the points on the density probability plot are scattered, I am not sure why.

Is it possible to apply this strategy to reasonably big areas (regional scale)?

PGI multi-physics inversion utilising a dynamic Gaussian mixture model (GMM) technique was implemented on extremely small scale area (600 m 600 m) potential field data sets in this work (Astic et al., 2020). Is it possible to apply this strategy to reasonably big areas (regional scale)? If so, what assumptions should I think about?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.