Git Product home page Git Product logo

growclust's Introduction

GrowClust

This repository contains the Fortran90 version of GrowClust, a computer program for the relative relocation of earthquake hypocenters based on waveform cross-correlation data.

The SRC directory contains the source code and makefile to compile it, the EXAMPLE directory contains a dataset and run file to test things out, and this directory contains a detailed user guide in pdf format.

Note: The Fortran90 version of GrowClust is no longer fully maintained in favor of GrowClust3D.jl (https://github.com/dttrugman/GrowClust3D.jl), which has improved robustness and useful functionality. Please give that package a try if you are interested or having issues with this one.

growclust's People

Contributors

dttrugman avatar sean0921 avatar

Stargazers

Emmanuel D. Castillo Taborda avatar  avatar Jun Zhu avatar cxyyy avatar zhangjw avatar  avatar Scott_Fu avatar Zacharie Duputel avatar JiahongLuo avatar  avatar Ming Fang avatar Dinko Sindija avatar Odysseus Galanis avatar Ioannis Spingos avatar  avatar Ioannis Fountoulakis avatar Maria Mesimeri avatar none avatar Liam Toney avatar Oliver Lamb avatar Mehdi Qashqai avatar Egi Suyoga avatar Celeste avatar KMichailos avatar Kasper D. Fischer avatar  avatar  avatar DUNYU LIU avatar Xuzhao Wang avatar Jian Xu avatar  avatar Miao Zhang avatar Edu Suarez  avatar Yanwen Wei avatar gatutdani avatar Scott Staniewicz avatar Min-Seong Seo avatar Eric Beaucé avatar Felix Halpaap avatar  avatar Min Liu avatar Jeremy avatar Jeremy Wong  avatar Florent Aden-Antoniow avatar Claudio Satriano avatar  avatar Xiao Xiao avatar  avatar Genevieve Savard avatar Stephen Hicks avatar Zhongqiu He avatar Matthew Herman avatar Francesco Grigoli avatar  avatar Tom Winder avatar Blaz avatar  avatar  avatar holishing avatar  avatar Diana Roman avatar Lingyuan Meng avatar Derrick Chambers avatar Malcolm White avatar Brendan Meade avatar Charles avatar

Watchers

Charles avatar Dongdong Tian avatar Dylan Mikesell avatar  avatar Calum Chamberlain avatar Jeremy avatar  avatar  avatar Min-Seong Seo avatar Darren Tan avatar

growclust's Issues

Reading xcor-data error -- Ending program: xcor data and station list inconsistent

I would like to inform you about this error that happens during reading the input files.
I have followed the User Guide, Version 1.3 regarding input files, I assume my input files are correct.

 stations list file has this format 
 ASH	63.98710	-22.13600
 FAF         63.90640	-22.21480
 HRG	63.96060	-21.97790
 KLV	        63.91120	-21.95820
 LAG	63.90515	-22.48880
 HDV	63.86992	-21.88390
 STH	63.98632	-22.26519
 MOH	63.91995	-22.05954
 and cross data has this format
 #  122742   122744  0.0
 MOH    -0.02700     0.98287  P 
 MOH    -0.01500     0.94818  S 
 HRG    -0.02700     0.97982  S 
 ELB    -0.04700     0.97546  S 
 FAF     0.03600     0.89260  S 
 #  122742   163683  0.0
 LAT    -0.06900     0.85912  P 
 MOH    -0.07700     0.92606  

And it gives me that Error:
 ==================================================
 Station lookup keys
           1 ASH	6          65 <-->A
           2 ELB	6          69 <-->E
           3 FAF	6          70 <-->F
           4 GEI	6          71 <-->G
           5 HDV	6          72 <-->H
           7 ISS	6          73 <-->I
           8 KLV	6          75 <-->K
           9 LAG	6          76 <-->L
          13 MOH	6          77 <-->M
          14 SEA	6          83 <-->S
  
 Reading xcor-data text file: IN/dt.cc                                                                                            
 ERROR: station not found, stname = MOH  
 Ending program: xcor data and station list inconsistent

Thanks

Clustering algorithm gives very different clusters when (all) depths are Zero

Thanks a lot for developing Growclust and making it available!

I just stumbled a bit across one issue when I was trying to relocate a dataset where the event depths are very unsure - i.e., most are either set to 0 or 15 km depth. But as I have reason to suspect that they're all in one tiny cluster, I tried to make sure that growclust treats them like that by setting the depths of all events to Zero.

This also works in the example, for demonstration:

  1. Using the event locations from the example, Growclust relocates 732 out of 1616 events
  2. If I manually change the depth of all events to 0 (for example because the depths are very uncertain and because one suspects them to be incorrect for a number of events)
cd GrowClust/EXAMPLE/IN
cp evlist.txt evlist_original.txt
awk '{printf "%4i %02i %02i %2i %02i %06.3f %9.5f %10.5f %7.3f %7.2f %6.3f %6.3f %6.3f %9i\n", $1, $2, $3, $4, $5, $6, $7, $8, 0, $10, $11, $12, $13, $14 }' evlist_original.txt >| evlist.txt
cd ..
growclust ssprings.inp
  • now Growclust shows that only 208 out of 1616 events could be relocated
  1. If I change the depth of only the first event to 1 km, and all other events get 0 km depth, then Growclust is able to relocate 485 out of 1616 events
  2. If I change the depth of all events to 1 km then Growclust is able to relocate 795 out of 1616 events

After setting the depth to 0 km for all events, I would have expected that slightly more events would fall into clusters for which events can be relocated. That seems to be true for case 4, but somehow setting all the depths to 0 km.

I understand from the Manual that depths close at or close to Zero can be tricky and require extra care; so for my case it's probably safe to just set all events to 1 km depth for the start. But I was a bit surprised how big a difference depths of 0 km make for the clustering.

Do you have an idea about what's going on here?
Would it be good to produce a warning or error when something like this happens?

bootstrap distribution column specs dont match those described in manual

The column specs defined in the manual for the bootstrap distribution appear to be inconsistent with those output after running the example case provided with GrowClust.

For example, the second line from out.growclust_boot in the example directory reads:

       1    956586  39.66202 -119.68910   7.756       1     710 718.40     712     721  39.66224 -119.68938   7.712   0.019   0.308   0.004   0.137   0.545   0.007

but the manual (page 18) indicates the following for the first few columns:

The event header lines (nq total within the file) contain the following fields:
• qID, eID: event serial ID number (range: 1 to nq), event ID (non-serial, e.g. a CUSPID or EVID)
• yr, mon, day, hr, min, sec: relocated event origin time
• latR, lonR, depR: relocated event latitude, longitude and depth (decimal degrees and km)

The main discrepancy is the lack of time fields.

compilation on Ubuntu 16.04

I recently cloned GrowClust and compiled following the instructions in the PDF included with the repo. Everything appeared to work fine. However, when I tried running the example I got the following error:

error while loading shared libraries: libgfortran.so.4: cannot open shared object file: No such file or directory

I found this SO post which indicates it is because gfortran-4 is needed, which is part of gcc-7. The gcc version for Ubuntu 16.04 is 4, so it is rather outdated. According to this page a PPA from some "jonathonf" has to be added or the OS needs to be updated to Ubuntu 18.04 to install gcc-7. I ended up adding the PPA and installing gfortran-4. I then had to change the makefile to use gfortran-4. The example seems to run fine now.

I don't know enough about fortran to know if the code can be adapted to be compatible with both gfortran-3 and gfortran-4. If not, a small blurb about this in the documentation may be useful to new users, as Ubuntu 16.04 is a common operating system.

File formatting issue with larger station distances

When larger station distances are used, the f8.* formatting in the vel_subs.f90 table creation routine causes the created table to fail (no more spaces between table entries). Changing these and other relevant formats to f9.* fixed the problem.

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.