geoscixyz / em-apps Goto Github PK
View Code? Open in Web Editor NEWInteractive applications for electromagnetics in geophysics
Home Page: http://em.geosci.xyz
License: MIT License
Interactive applications for electromagnetics in geophysics
Home Page: http://em.geosci.xyz
License: MIT License
The nested folder structure is difficult to navigate. To overcome this, I propose bringing all notebooks into the notebooks
directory. In this case, we need a reasonable naming convention to be able to easily navigate through the apps. Overall, I think the naming convention in the dcApps is intuitive and easy to navigate, so I suggest we use
Physics_Model(_Assumption).ipynb
eg. for the DC apps, the Physics
is DC
, the Model
is Plate
or Cylinder
and the Assumption
is 2D
or 2_5D
(assumption might not be applicable in all cases).
thoughts @sgkang, @thast, @micmitch, @dccowan ?
can we put all images in the images folder instead of including them in the notebooks folder?
to make sure that people can navigate to the apps from the index notebook, the index notebook should contain the title of the app and a short description of the app (can include an image!). Links are relative links eg:
[DC_Cylinder_2D.ipynb](notebooks/DC_Cylinder_2D.ipynb)
Similar to #39. The notebook FDEM_vmd_sounding_over_sphere.ipynb provides a good starting point
TDEM_UXO.ipynb
After installing cvxopt in Python 3.7, the UXO-notebook still fails with the following error:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~/anaconda3/lib/python3.7/site-packages/ipywidgets/widgets/interaction.py in update(self, *args)
254 value = widget.get_interact_value()
255 self.kwargs[widget._kwarg] = value
--> 256 self.result = self.f(**self.kwargs)
257 show_inline_matplotlib_plots()
258 if self.auto_display and self.result is not None:
~/anaconda3/lib/python3.7/site-packages/geoscilabs/em/UXO_TEM_Widget.py in fcnImageUXOWidget(psi, theta, phi, k1, alpha1, beta1, gamma1, k2, alpha2, beta2, gamma2, k3, alpha3, beta3, gamma3, tn)
1507 # Orientation plot
1508 ax1.add_collection3d(
-> 1509 Poly3DCollection(v1, facecolors="k", linewidths=0.25, edgecolors="k")
1510 )
1511 ax1.add_collection3d(
~/anaconda3/lib/python3.7/site-packages/mpl_toolkits/mplot3d/art3d.py in __init__(self, verts, zsort, *args, **kwargs)
595 and _edgecolors properties.
596 """
--> 597 super().__init__(verts, *args, **kwargs)
598 self.set_zsort(zsort)
599 self._codes3d = None
~/anaconda3/lib/python3.7/site-packages/matplotlib/collections.py in __init__(self, verts, sizes, closed, **kwargs)
1044 Collection.__init__(self, **kwargs)
1045 self.set_sizes(sizes)
-> 1046 self.set_verts(verts, closed)
1047 self.stale = True
1048
~/anaconda3/lib/python3.7/site-packages/mpl_toolkits/mplot3d/art3d.py in set_verts(self, verts, closed)
650 def set_verts(self, verts, closed=True):
651 """Set 3D vertices."""
--> 652 self.get_vector(verts)
653 # 2D verts will be updated at draw time
654 PolyCollection.set_verts(self, [], False)
~/anaconda3/lib/python3.7/site-packages/mpl_toolkits/mplot3d/art3d.py in get_vector(self, segments3d)
634 for p in segments3d:
635 points.extend(p)
--> 636 ei = si + len(p)
637 segis.append((si, ei))
638 si = ei
TypeError: object of type 'zip' has no len()
Linear inverse problem in app form
boxcar + gaussian
decaying exponentials
App for a horizontal magnetic dipole over a halfspace (TDEM)
geoscilabs
is not in the environment, I had to install it additionally.
It would throw an error in at least the following notebooks (maybe in more):
ModuleNotFoundError: No module named 'geoscilabs'
The link TDEM_Inductivesource.ipynb
in the index.ipynb
ends up in a 404 : Not Found
error.
The links to both Binder and Azure in the readme both don't work and need updating.
The em apps are great and I will start using them in my class this week!
The only app that I cannot find and would be useful is to calculate resistivity sounding curves for 1D layered models (using either Wenner and or Schlumberger measurements). I have a matlab code that calculates these curves for arbitrary layered models that I could contribute.
Can "Type" in this app be organized: angle, reflection, transmission? This parallels the fact we introduce Snell's law, followed by the Fresnel equations.
We should introduce magnetic permeability and dielectric permittivity. That way, we can extend this app to the wave regime and no just the quasi-static.
I was exploring the app TDEM_HorizontalLoop_LayeredEarth. The parameters that I used are summarized in the following figure.
How come there is no Jx component, if the induced current is flowing in a circular fashion, as shown below?
If only Jy exists, then current would only flow in y direction, then the current would not flow in a circular manner.
(I have the exact same problem with the app FDEM_VMD_LayeredEarth.ipynb)
em_examples
Time Domain EM sounding over a sphere with a vertical magnetic dipole source and step-off waveform (eventually, it would be fun to play with other waveforms... but that is out-of-scope for now). This can be built from the tutorial notebook showing a TDEM_vmd_sounding_over_sphere.ipynb in the simpeg/em_notebooks:
In the past I constructed many exercises using apps, but now I can't find the apps anymore. I used the following sequence:
Thanks @dccowan for your work on these! I have gone through the notebooks with @dougoldenburg and @sgkang and here is the synthesis of that conversation
Two notebooks should suffice for explaining the 2 loop example:
<a href="http://em.geosci.xyz">text to link</a>
a few requests on layout / visualization...
for layout, could you please
em_examples
is not in the environment.yml, so the following notebook fails and needs installation of em_examples
: http://localhost:8889/notebooks/notebooks/GPR_Attenuation.ipynb
Dear,
I followed instructions regarding running em-apps on Azure Notebooks but it didn't work. There's the output. Should I have some "!pip install ..." somewhere?
I could ran previous version of em-apps (cloned from Lindsey personal repo) very sound. What can I be doing wrong?
Thanks in advance,
Leonardo
The EM_ThreeLoopModel.ipynb notebook would also be valuable to have in em_apps. Lets copy it over here.
em_examples
repositoryem_examples
so that there is only one copy of the python code being maintained (and delete the code from gpgLabs)In the plots that we manually update, the button that does the update says "Run Interact", but all of our instructions say that the button says "Run Plot". This has the potential to cause confusion.
So either, the instructions should be updated to say "Run Interact" or the button updated to say "Run Plot"
cc @thast
This should be a temporary issue.
The command
conda env create -f environment.yml
will now install a Python 3.8 environment. However, not all the dependencies are capable of that yet. So, for instance, the notebook http://localhost:8888/notebooks/notebooks/em/TDEM_UXO.ipynb will fail, because cvxopt
cannot be installed in Python 3.8 yet,
try:
import cvxopt
except ImportError:
import sys
!{sys.executable} -m pip install cvxopt
So maybe we could fix the version currently with something like
conda env create python=3.7 -f environment.yml
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.