=========================================================================== polfre_s1.66el polfre_s1.66el polfre_s1.66el polfre_s1.66el polfre_s1.66el WORKING PG for linear/elliptical particle motion. =========================================================================== ================== Brief description ================== This program computes the degree of polarization (DOP) for three component (3-C) sensors employing sliding data windows as function of time & frequency. The employed DOP strategy has been introduced in Schimmel & Gallart (2003) using analytic signal theory in the t-domain. Later, in Schimmel & Gallart (2004), the DOP strategy has been extended to the tf-domain, but using now a different strategy to compute the polarization attributes. Main reason for changing the way to determine polarization attributes has been to get experiences with other approaches and to show that the DOP strategy is independent on the polarization approach. Thus, this program uses an eigen approach (eigen values and eigen vectors) to construct the DOP following the time-domain definition. For the extension to the tf-domain a freq-dependent Gaussian window is used. ============ References: ============ If this program has helped you in your research then please refer in your publications to the 2 publications listed below. Schimmel & Gallart, Degree of polarization filter for frequency-dependent signal enhancement through noise suppression, Bull.Seism.Soc.Am., 94, 1016-1035, doi: 10.1785/0120030178, 2004. Schimmel, M., Stutzmann, E., Ardhuin, F., Gallart, J., Polarized Earth's Ambient Microseismic Noise , Geochem. Geophys. Geosyst., doi:10.1029/2011GC003661, 2011. Schimmel & Gallart (2004) for the main theory and Schimmel et al. (2011) for its adaptation (e.g., elliptical degree of polarization) and application to study seismic noise. Thanks. ============================== The file/directory structure: ============================== polfre_s1.66el.f : Source code of program to compute polarization attributes for 3-c seismograms. include_pol.h : include file for polfre_s1.66el.f with array dimensions. makefile : makefile Example1_quake/ : Directory with simple example using a 3-C earthquake data. Example2_noise/ : This directory contains arbitrarily chosen test data. Data are segmented into 2h segments. The total length is about 10 days (there are different randomly chosen 10-day noise periods). Different analyses are shown/proposed in different sub-directories. NOTE, the objective of the examples 1 & 2 is to show how the program runs and how the output looks like. Other examples can be found in the different publications. ================ How to proceed: ================ (1) Adapt paths in the makefile. The SAC library is the only library used. Type "make polfre_s1.66el" to compile the program. The program is faster with ifort than with gfortran. Presently, a warning appears with ifort (polfre_s1.66el.f(913): remark #8290: Recommended relationship ....) which is not a problem. (2) Execute "polfre_s1.66el" without any argument to obtain a short description of the possible arguments. (Sorry, program looks still complicated, there are many things which I can/should simplify and clean. I hope to do it soon.) (3) Examples have been set up so that you can easily extend them to a large data base. The best is to have a look at the examples. Understand "run_polfre.cmd" and just execute it by typing "run_polfre.cmd". The generated output file is "azi_dopm.asc". When processing large volumes of data then I gather the output files in a single file per day. Output sample: 2009 150 0 0 0 0.0000 -71.869 0.066406250000 0.81936 6913.00000 0.3075 -71.981 0.066406250000 0.83948 6914.00000 0.3034 -72.106 0.066406250000 0.85370 6915.00000 0.2993 ... 122.866 0.224609375000 0.80178 6279.00000 0.4655 2009 150 2 0 0 0.0000 -41.431 0.161987304688 0.80608 3659.00000 0.2647 -42.194 0.161987304688 0.81839 3660.00000 0.2907 -42.892 0.161987304688 0.82470 3661.00000 0.3104 ... 1st line : date and begin time of trace (year,jday,hour,min,sec,msec) 2nd ... nth line: BAZ in deg, freq in Hz, elliptical DOP, time in sec from trace begin, linearity n+1 th line : same date as 1st line, but new begin time for segmented data. ... =========================== Some other general remarks: =========================== (1) Thanks for your interest in using this approach. I hope this program is useful to you. Please, note I can not take any warranties. I.e., use this program on your own risk. Please, do not hesitate to contact me for any questions, bugs, improvements, collaborations, nice results, ... (We can also collaborate to make adaptations/changes for special problems, ....) Please, do not further re-distribute this program. I want to improve it, further bugs are easier to control. Many thanks & good luck !!! (2) The computations are not fast. It is convenient to work on some test data first where signals and noise have the same characteristics as in the final data set. This way one can play more efficiently with the parameters. The program contains many parameters since it is a research/working program which has been used for very different types of applications. Some of the parameters could be removed or hard coded. At the end only few parameters are useful. Further, the program can generate a lot of output. It is wise to limit the output, e.g., increasing dopm or wlenf or pow or decreasing ell or nfr. (3) Segmentation faults may occur if the dimensions are too large. Decrease the dimensions in include_pol.h until it works. ================= More references: ================= The polarization approach has been used for filtering in Schimmel and Gallart (2003,2004,2005) and for signal characterization in Stutzmann et al. (2009), Schimmel et al. (2011), Obrebski et al., (2012), Sergeant et al. (2013), Davy et al., (2015), Agurto-Detzel et al. (2016). REFERENCES for methodology and examples: Obrebski, M.J., Ardhuin, F., Stutzmann, E., Schimmel, M., How moderate sea states can generate loud seismic noise in the deep ocean , Geophys. Res. Lett., 39, L11601, doi: 10.1029/2012GL051896, 2012. Schimmel M., and J. Gallart, The use of instantaneous polarization attributes for seismic signal detection and image enhancement , Geophys.J.Int.,, 155, 653-668, doi:10.1046/j.1365-246X.2003.02077.x, 2003. Schimmel & Gallart, Degree of polarization filter for frequency-dependent signal enhancement through noise suppression, Bull.Seism.Soc.Am., 94, 1016-1035, doi: 10.1785/0120030178, 2004. Schimmel & Gallart, The inverse S Transform in filters with time-frequency localization , IEEE Transactions on Signal Processing, 53 (11), 4417-4422, doi:10.1109/TSP.2005.857065, 2005. Stutzmann, E., Schimmel, M., Patau, G., Maggi, A., Global climate imprint on seismic noise , Geochem. Geophys. Geosyst., 10, Q11004, doi:10.1029/2009GC002619, 2009 Schimmel, M., Stutzmann, E., Ardhuin, F., Gallart, J., Polarized Earth's Ambient Microseismic Noise , Geochem. Geophys. Geosyst., doi:10.1029/2011GC003661, 2011. Sergeant A., Stutzmann E., Maggi A., Schimmel M., Ardhuin F., Obrebski M., Frequency-dependent noise sources in the North Atlantic Ocean, Geochem. Geophys. Geosyst., 14, doi:10.1002/2013GC004905, 2013. Davy, C., Stutzmann, E., Barruol, G., Fontaine, FR, Schimmel, M., Sources of secondary microseisms in the Indian Ocean, Geophys. J. Int., 202, 1180-1189, doi: 10.1093/gji/ggv221, 2015. Agurto-Detzel, H., Bianchi, M, Assumpção, M., Schimmel, M., Collação, B., Ciardelli, C., Barbosa, J.R., Calhau, J., The tailings dam failure of 5 November 2015 in SE Brazil and its preceding seismic sequence, Geophys. Res. Lett.,, doi: 10.1002/2016GL069257, 2016 (PDFs can be downloaded from my home-page.) =============== Contact/author: =============== Martin Schimmel 02/10/2015 (schimmel@ictja.csic.es) Institute of Earth Sciences Jaume Almera - CSIC Lluis Sole i Sabaris s/n 08028 Barcelona, Spain.