Code Monkey home page Code Monkey logo

gisola's Introduction



Visit the Wiki for more information on:

  • Methodology
  • Installation
  • Configuration
  • Usage
  • Plugins/Modules and Tools
  • Contribution

Citation Nikolaos Triantafyllis, Ioannis E. Venetis, Ioannis Fountoulakis, Erion‐Vasilis Pikoulis, Efthimios Sokos, Christos P. Evangelidis; Gisola: A High‐Performance Computing Application for Real‐Time Moment Tensor Inversion. Seismological Research Letters 2021; doi: https://doi.org/10.1785/0220210153

Gisola presentation received the Virtual Outstanding Student and PhD candidate Presentation (vOSPP) Award 2021! #egu2021 https://www.egu.eu/awards-medals/ospp-award/2021/

Gisola presented in EGU General Assembly 2021 and FOSSCOMM 2021
Watch presentation here: https://www.youtube.com/watch?v=wqoSDMYNqMY (in Greek)

Use Cases









  • Recinto Universitario de Mayagüez (Puerto Rico Strong Motion Program) [Experimental] - https://smp.uprm.edu


MT Stress Inversion Calcuator FDSNWS-event driven see #42

Introducing a cutting-edge web app for stress inversion calculations using STRESSINVERSE, accessing Moment Tensors via FDSNWS-event in the integrated utility of Gisola, tailored for predefined geographic regions. This tool offers real-time updates and flexibility for researchers.

image image

gisola's People

Contributors

nikost avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar

gisola's Issues

Error running gisola with event and no waveform plot

Discussed in #30

Originally posted by vdionicio February 23, 2022
Dear @nikosT,

I'm tring to run gisola with a particular event like this:

./gisola.py --event SGC2022dugzug -c ../test/config_sgc.yaml -l log_cron

the program is running well but at the end it gave me this error:

2022-02-23 19:49:48,261 INFO Function 'calculateInversions' executed 290.32 seconds
/home/sgc-geo46333/anaconda3/envs/gisola/lib/python3.9/site-packages/obspy/io/quakeml/core.py:1109: UserWarning: 'smi:org.gfz-potsdam.de/geofon/RMHP(10)>>BW(4,1,5)' is not a valid QuakeML URI. It will be in the final file but note that the file will not be a valid QuakeML file.
warnings.warn(msg % obj.id)
2022-02-23 19:49:51,872 INFO Function 'gatherResults' executed 3.61 seconds
2022-02-23 19:49:58,946 ERROR Fatal Error occurred
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/sgc-geo46333/anaconda3/envs/gisola/lib/python3.9/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/home/sgc-geo46333/anaconda3/envs/gisola/lib/python3.9/multiprocessing/pool.py", line 48, in mapstar
return list(map(*args))
File "/home/sgc-geo46333/Gisola-main/src/plot.py", line 943, in caller
func()
File "/home/sgc-geo46333/Gisola-main/src/plot.py", line 430, in streams
tr=config.st.select(station=sta, channel=cha)[0]
File "/home/sgc-geo46333/anaconda3/envs/gisola/lib/python3.9/site-packages/obspy/core/stream.py", line 649, in getitem
return self.traces.getitem(index)
IndexError: list index out of range
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/sgc-geo46333/Gisola-main/src/./gisola.py", line 236, in
plot.allplots()
File "/home/sgc-geo46333/Gisola-main/src/config.py", line 181, in inner
func(*args, **kwargs)
File "/home/sgc-geo46333/Gisola-main/src/plot.py", line 958, in allplots
res=p.map(caller, functions)
File "/home/sgc-geo46333/anaconda3/envs/gisola/lib/python3.9/multiprocessing/pool.py", line 364, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/home/sgc-geo46333/anaconda3/envs/gisola/lib/python3.9/multiprocessing/pool.py", line 771, in get
raise self._value
IndexError: list index out of range
2022-02-23 19:49:58,947 INFO Moving to next event, if any

When I open the list_all.html and get into the solution, I can not see the the waveforms image

Captura de pantalla de 2022-02-23 15-12-59

I hope you can give suggestions to solve the problem.

Thanks a lot.

Best wishes,

Viviana

FMVAR value sometimes gets NULL value

Describe the bug
FMVAR value sometimes gets NULL value.

Expected behavior
It should have a float value.

Additional context
Any PR that solves it, is welcomed.

response called after rotate in stream.py

hello, there is a minor issue when dealing with 12Z etc channels in stream.py.

currently they are rotated FIRST (which rotates 12Z to a ZNE frame), and then the inventory is used to remove the response AFTERWARDS. this will cause an inventory error because the newly rotated "ZNE" channels are not in the inventory, only the original "12Z". the solution is to simply just rotate after removing the response.

another related issue involves the "components" kwarg in rotate(). I don't think this is necessary anymore in obspy, and in fact it seems to cause a lot of additional issues. rotating frames works fine just with st.rotate(method="->ZNE", inventory=inv)

Magnitudetype of Watcher needs a proper value

Setting the value to null at the Magnitudetype at the Watcher configuration seems that is not working properly. You should use a valid type (depending also on the source of events, e.g. MLh). In any case please, test it before using it by:

  • running python3 ./gisola.py --real-time
  • and also set Playback to seconds before a known event to see if the mechanism of the watcher is able to catch it, instead of waiting for new events

difficulty matching observed and synthetic waveforms

Hi again-

We have not been able to get nice correlations between synthetic and observed waveforms in Gisola. Using the same data / events in Isola (or other similar codes) generally works very well with high correlation fits so it is not clear what is going wrong.

Looking at the waveforms plotted in the output webpage, the synthetic data appears to be correct / matches the independently filtered observed data, but the observed waveforms in Gisola are significantly longer and look "more stretched out" than they should be. In the below image our filter is [0.01, 0.04, 0.12, 0.14] but it shows a signal 200+ seconds long. In reality it is only 40-50 seconds at most, similar to the synthetic prediction.

gisola_example

The event in this example is a mag 5.6, 19km deep, with stations between 25-83 km away. For simplicity we are only using one frequency filter band (as above) our velocity model is below. It has proven to produce very good fits using other (older) MT codes so I wouldn't suspect that is the problem, unless it is malformed somehow.

Crustal model                       model
depth of layer top(km)   Vp(km/s)    Vs(km/s)    Rho(g/cm**3)
0.0 2.60 1.49 1.08 300 150
2.0 3.54 1.77 1.48 300 150
4.0 4.46 2.19 1.86 300 150
6.0 5.45 2.78 2.27 300 150
8.0 5.79 3.05 2.41 300 150
10.0 6.20 3.38 2.58 300 150
12.0 6.48 3.62 2.70 300 150
14.0 6.81 3.81 2.84 300 150
16.0 7.04 3.96 2.93 300 150
18.0 7.22 4.12 3.01 300 150
20.0 7.30 4.14 3.04 300 150
22.0 7.17 4.13 2.99 300 150
24.0 6.89 4.10 2.87 300 150
26.0 6.66 4.07 2.78 300 150
28.0 6.51 4.04 2.71 300 150
30.0 6.44 4.03 2.68 300 150
32.0 6.59 4.05 2.74 300 150
34.0 6.82 4.08 2.84 300 150
36.0 7.10 4.13 2.96 300 150
38.0 7.37 4.24 3.07 300 150
40.0 7.65 4.39 3.19 300 150
42.0 7.75 4.46 3.23 300 150
44.0 7.85 4.51 3.27 300 1000
56.0 7.92 4.54 3.30 300 1000

To isolate the issue I have allowed only one inversion time window [3.6, 6.9, 245.76] and timeshift [3.6, 6.9, [-67, 10, 167]] option. (I also noticed that despite the event being a 5.6, the window was always 245 seconds when it should have been 409, but I think that may be a separate issue.)

Any ideas what is happening, or have you experienced anything similar? Any help appreciated, thanks!

Log DC plotting fallback

Is your feature request related to a problem? Please describe.
In some rare cases the ObsPy can not plot a full MT beachball, then Gisola falls back to DC plotting but without noticing the user in the log.

Describe the solution you'd like
Add statement in the procedure's log file.

Beachballs out of range in plotting

Describe the bug
When plotting a large range of x-y-z axis, figures might cut out beachballs representation from plot (see the last column).

Screenshots

Not all MT solutions as being stored

Describe the bug
All MTs solutions are being acknowledged in order to retrieve the best, however, not all MT solutions as being stored when processing is done. Specifically, are stored:

  • all the grid's points MTs calculation for the best timeshift only
  • all MTs for all timeshifts that the correlation >= 90%*max_corr

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.