Skip to content

Commit 54681dd

Browse files
Release v1.0 (#8)
* Update changelog * Improve modeling README * Add "Known Issues" section to main README * Add release table to main README * Add and update links * Add and update references * General: fix typos, improve formulation, usw.
1 parent a6c3547 commit 54681dd

File tree

6 files changed

+88
-88
lines changed

6 files changed

+88
-88
lines changed

003_modeling/README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Instruction: How to perform a modeling run for a single seismological recording station
22

3-
- created: Michael Grund (ORCID 0000-0001-8759-2018)\
3+
- Created: Michael Grund (ORCID 0000-0001-8759-2018)\
44
https://github.com/michaelgrund/sws_tools
5-
- re-written: Yvonne Fröhlich (ORCID 0000-0002-8566-0619)\
5+
- Re-written: Yvonne Fröhlich (ORCID 0000-0002-8566-0619)\
66
https://github.com/yvonnefroehlich/sws-plotting-and-modeling
77

8-
_Details_: [Supporting Information](https://academic.oup.com/gji/article/223/3/1525/5893297#supplementary-data) of [Grund & Ritter (2020)](https://doi.org/10.1093/gji/ggaa388.)
8+
_Details_: [Supporting Information](https://academic.oup.com/gji/article/223/3/1525/5893297#supplementary-data) of [Grund & Ritter (2020)](https://doi.org/10.1093/gji/ggaa388).
99

1010

1111
## Requirements
@@ -14,45 +14,45 @@ _Details_: [Supporting Information](https://academic.oup.com/gji/article/223/3/1
1414
- Deep Learning Toolbox
1515
- Mapping Toolbox
1616

17-
- _MATLAB Seismic Anisotropy Toolbox_ (MSAT) by [Walker & Wookey (2012)](https://doi.org/10.1016/j.cageo.2012.05.031)
17+
- _MATLAB Seismic Anisotropy Toolkit_ (MSAT) by [Walker & Wookey (2012)](https://doi.org/10.1016/j.cageo.2012.05.031)
1818
- Download it from (last access 2022/07/05)
19-
- https://www1.gly.bris.ac.uk/MSAT/
19+
- https://www1.gly.bris.ac.uk/MSAT/ _or_
2020
- https://github.com/andreww/MSAT
2121
- Install MSAT
2222
- Add the whole MSAT package to your _MATLAB_ path
2323
- If you want to get familiar with the modeling in MSAT and the behavior of different settings
2424
change to the directory `MSAT/examples/splitting_model/` in which the script `split_model.m` is located.
25-
This script is described in the publication Walker & Wookey (2012).
25+
This script is described in the publication [Walker & Wookey (2012)](https://doi.org/10.1016/j.cageo.2012.05.031).
2626
You can play around with different parameters and see how these affect the splitting parameters.
2727

2828

2929
## Forward Calculation
3030

31-
_Please note_: For small stepsizes computation time and structure size increases significantly.
31+
_Please note_: For small stepsizes, computation time and structure size increase significantly
3232

3333
- Precompute splitting parameters for the different model types: **`SWS_modeling_precomp_models_main.m`**
3434

3535
|step_phi / deg|step_dt / s|step_dips / deg|step_dddir / deg|size / GB|publication|
3636
|---|---|---|---|---|---|
3737
|45 |1.00|15|45|0.008|provided TEST_data|
38-
|5 |0.25|5 |5 |4.7 |Ritter, Fröhlich, Sanz Alonso, Grund (2022)|
39-
|5 |0.20|5 |5 |6.6 |Grund & Ritter (2020)|
38+
|5 |0.25|5 |5 |4.7 |[Ritter, Fröhlich, Sanz Alonso & Grund (2022)](https://doi.org/10.1007/s10950-022-10112-w)|
39+
|5 |0.20|5 |5 |6.6 |[Grund & Ritter (2020)](https://doi.org/10.1093/gji/ggaa388)|
4040

4141
- All models of all model types are merged in a single nested _MATLAB_ structure with fields:
4242
- 1 | `modout.phi_eff`: effective or apparent phi values over backazimuth
4343
- 2 | `modout.dt_eff`: effective or apparent dt values over backazimuth
4444
- 3 | `modout.mod_paras`: model parameters depending on model type
45-
- one horizontal layer see `SWS_modeling_precomp_singlelayer.m` _or_
46-
- two horizontal layers see `SWS_modeling_precomp_twolayers.m` _or_
47-
- one dippping layer see `SWS_modeling_precomp_dippinglayer.m`, `SWS_modeling_calc_dipping.m`
45+
- One horizontal layer see `SWS_modeling_precomp_singlelayer.m` _or_
46+
- Two horizontal layers see `SWS_modeling_precomp_twolayers.m` _or_
47+
- One dippping layer see `SWS_modeling_precomp_dippinglayer.m`, `SWS_modeling_calc_dipping.m`
4848
- 4 | `modout.type`: string corresponding to the model type
49-
- one horizontal layer as 'single_layer' _or_
50-
- two horizontal layers as 'two_layers' _or_
51-
- one dipping layer as 'dipping'
49+
- One horizontal layer as 'single_layer' _or_
50+
- Two horizontal layers as 'two_layers' _or_
51+
- One dipping layer as 'dipping'
5252

5353
## Comparison & Visualization
5454

55-
_Please note_: SWS data input is expected to be in standard _SplitLab_ and/or _StackSplit_ output format (`SWS_modeling_read_data.m`).
55+
_Please note_: SWS data input is expected to be in standard _SplitLab_ and/or _StackSplit_ output format (`SWS_modeling_read_data.m`)
5656

5757
- The observed SWS data is compared against all pre-computed models of all model types: **`SWS_modeling_calc_misfit.m`**
5858
- The root mean square error (RMSE) between the observed and pre-computed splitting parameters is calculated

003_modeling/SWS_modeling_calc_misfit.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@
652652
res_phi(kk,1) = abs( find_theo_phi - meas_phiSC(kk,2) );
653653

654654
% if there is a residuum > 90, calc 180-res_phi to consider
655-
% the flip from -90° to +90°
655+
% the flip from -90 deg to +90 deg
656656
if res_phi(kk,1) > 90
657657
res_phi(kk,1) = 180-res_phi(kk,1);
658658
end

003_modeling/SWS_modeling_plot_results.m

Lines changed: 41 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ function SWS_modeling_plot_results( ...
8080
%--------------------------------------------------------------------------
8181
% BAZ range to plot
8282

83-
% % Ritter et al. 2022 Journal of Seismology
83+
% % Ritter et al. (2022) Journal of Seismology
8484
% baz2plot_start = 0;
8585
% baz2plot_end = 100;
8686

@@ -95,7 +95,7 @@ function SWS_modeling_plot_results( ...
9595
leg_symb_simw_split = 'square';
9696
leg_symb_simw_null = 'square';
9797

98-
% % Ritter et al. 2022 Journal of Seismology
98+
% % Ritter et al. (2022) Journal of Seismology
9999
% % -> only stack splits in NE quadrant
100100
% leg_symb_stack_split = 'diamond';
101101

@@ -120,7 +120,7 @@ function SWS_modeling_plot_results( ...
120120

121121

122122
%==========================================================================
123-
%% shift phi -90°-90° -> 0°-180°
123+
%% shift phi -90 deg to 90 deg -> 0 deg to 180 deg
124124
%==========================================================================
125125
% >>> adjust stations for your needs <<<
126126

@@ -427,7 +427,7 @@ function SWS_modeling_plot_results( ...
427427
%......................................................................
428428
% plot RMSE values
429429

430-
% standard for plot backazimuth 0°-360°
430+
% standard for plot backazimuth 0 deg to 360 deg
431431
str_rms = ['RMSE_{tot} = ' num2str(models_2plot(1).RMSE,'%4.2f'), ...
432432
', RMSE_{\phi} = ' num2str(models_2plot(1).RMSE_phi,'%4.2f') '\circ', ...
433433
', RMSE_{\delta{\itt}} = ' num2str(models_2plot(1).RMSE_dt,'%4.2f') ' s'];
@@ -438,18 +438,19 @@ function SWS_modeling_plot_results( ...
438438
'Color',colmod_bf_1, 'BackgroundColor','white', ...
439439
'FaceAlpha',0.7)
440440

441-
% % Ritter et al. 2022, Journal of Seismology
442-
% % plot backazimuth 0°-110°
443-
% str_rms = {['RMSE_{tot} = ' num2str(models_2plot(1).RMSE,'%4.2f')], ...
444-
% ['RMSE_{\phi} = ' num2str(models_2plot(1).RMSE_phi,'%4.2f') '\circ'], ...
445-
% ['RMSE_{\delta{\itt}} = ' num2str(models_2plot(1).RMSE_dt,'%4.2f') ' s']};
446-
% annotation('textbox', [0.140 0.595 0 0], ...
447-
% 'String',str_rms, 'FitBoxToText','on', 'Margin',1, ...
448-
% 'HorizontalAlignment','left', ...
449-
% 'VerticalAlignment','bottom', ...
450-
% 'Color',colmod_bf_1, 'BackgroundColor','white', ...
451-
% 'FaceAlpha',0.7)
452-
441+
% % Ritter et al. (2022), Journal of Seismology
442+
% % plot backazimuth 0 deg to 110 deg
443+
%{
444+
str_rms = {['RMSE_{tot} = ' num2str(models_2plot(1).RMSE,'%4.2f')], ...
445+
['RMSE_{\phi} = ' num2str(models_2plot(1).RMSE_phi,'%4.2f') '\circ'], ...
446+
['RMSE_{\delta{\itt}} = ' num2str(models_2plot(1).RMSE_dt,'%4.2f') ' s']};
447+
annotation('textbox', [0.140 0.595 0 0], ...
448+
'String',str_rms, 'FitBoxToText','on', 'Margin',1, ...
449+
'HorizontalAlignment','left', ...
450+
'VerticalAlignment','bottom', ...
451+
'Color',colmod_bf_1, 'BackgroundColor','white', ...
452+
'FaceAlpha',0.7)
453+
%}
453454

454455
%==========================================================================
455456
% subplot - panel 2 - dt
@@ -666,7 +667,7 @@ function SWS_modeling_plot_results( ...
666667
end
667668
% multi splits = stack splits
668669
else
669-
% Ritter et al. 2022 Journal of Seismology
670+
% Ritter et al. (2022) Journal of Seismology
670671
% no single splits in NE quadrant after stack,
671672
% so no entry in legend for single splits
672673
% and only entry for stack splits
@@ -776,7 +777,7 @@ function SWS_modeling_plot_results( ...
776777

777778
% multi splits = stack splits
778779
else
779-
% Ritter et al. 2022 Journal of Seismology
780+
% Ritter et al. (2022) Journal of Seismology
780781
% no single splits in NE quadrant after stack,
781782
% so no entry in legend for single splits
782783
% and only entry for stack splits
@@ -878,7 +879,7 @@ function SWS_modeling_plot_results( ...
878879

879880
if strcmp({staname_split},'BFO') && baz2plot_end==100
880881
% BAZ range to plot 0 deg to 100 deg
881-
% -> Ritter et al. 2022 Journal of Seismology
882+
% -> Ritter et al. (2022) Journal of Seismology
882883
h_leg_split.Position = [0.195 0.360 0.065 0.1];
883884
else
884885
% BAZ range to plot 0 deg to 360 deg
@@ -1242,31 +1243,28 @@ function SWS_modeling_plot_results( ...
12421243

12431244
%--------------------------------------------------------------------------
12441245
% % plot polyons around clusters
1245-
% % Ritter et al. 2022 Journal of Seismology
12461246

1247-
% % BFO
1248-
% if strcmp(staname_split,"BFO")==1 && ...
1249-
% modrange_upp==100 && ...
1250-
% strcmp(data_used,"multiWS")==1 &&
1251-
%
1252-
% x_pol_1 = [0.35 0.35 0.9 1.15 1.15 0.6];
1253-
% y_pol_1 = [ -90 -75 -50 -50 -60 -90];
1254-
% pol_1 = polyshape(x_pol_1,y_pol_1);
1255-
%
1256-
% x_pol_2 = [0.9 0.35 0.35 1.2 1.9 1.9 1.4 0.9 0.9 1.9 1.9 0.9];
1257-
% y_pol_2 = [-35 -15 25 45 45 35 35 15 -25 -25 -35 -35] ;
1258-
% pol_2 = polyshape(x_pol_2,y_pol_2);
1259-
%
1260-
% x_pol_3 = [ 1 0.40 0.40 0.9 1.7 2.6 2.6 1];
1261-
% y_pol_3 = [50 70 90 90 60 60 50 50];
1262-
% pol_3 = polyshape(x_pol_3,y_pol_3);
1263-
%
1264-
% plot(pol_1, 'FaceColor','r', 'EdgeColor','k', 'Facealpha',0.25)
1265-
% plot(pol_2, 'FaceColor','b', 'EdgeColor','k', 'Facealpha',0.25)
1266-
% plot(pol_3, 'FaceColor','r', 'EdgeColor','k', 'Facealpha',0.25)
1267-
%
1268-
% disp('BFOpolyons')
1269-
% end
1247+
% Ritter et al. (2022) Journal of Seismology
1248+
% BFO, BAZ 30 deg to 110 deg, horiztonal tow-layer model
1249+
%{
1250+
x_pol_1 = [0.35 0.35 0.9 1.15 1.15 0.6];
1251+
y_pol_1 = [ -90 -75 -50 -50 -60 -90];
1252+
pol_1 = polyshape(x_pol_1,y_pol_1);
1253+
1254+
x_pol_2 = [0.9 0.35 0.35 1.2 1.9 1.9 1.4 0.9 0.9 1.9 1.9 0.9];
1255+
y_pol_2 = [-35 -15 25 45 45 35 35 15 -25 -25 -35 -35] ;
1256+
pol_2 = polyshape(x_pol_2,y_pol_2);
1257+
1258+
x_pol_3 = [ 1 0.40 0.40 0.9 1.7 2.6 2.6 1];
1259+
y_pol_3 = [50 70 90 90 60 60 50 50];
1260+
pol_3 = polyshape(x_pol_3,y_pol_3);
1261+
1262+
plot(pol_1, 'FaceColor','r', 'EdgeColor','k', 'Facealpha',0.25)
1263+
plot(pol_2, 'FaceColor','b', 'EdgeColor','k', 'Facealpha',0.25)
1264+
plot(pol_3, 'FaceColor','r', 'EdgeColor','k', 'Facealpha',0.25)
1265+
1266+
disp('BFOpolyons')
1267+
%}
12701268

12711269
%--------------------------------------------------------------------------
12721270
% RMSE color-coding

003_modeling/SWS_modeling_plot_stereo_synthetic.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ function SWS_modeling_plot_stereo_synthetic( ...
9292
% schematic sketches
9393
lengthbar_lay = 0.145;
9494

95-
% Ritter et al. 2022 Journal of Seismology
95+
% Ritter et al. (2022) Journal of Seismology
9696
col_lay_upp = [255 165 079] ./256; % orange
9797
col_lay_low = [0.8 0.8 0.8]; % light gray
9898
col_lay_one = [255 165 079] ./256; % orange
@@ -355,7 +355,7 @@ function SWS_modeling_plot_stereo_synthetic( ...
355355
% in direction of downdip-dir and perpendicular to it
356356
% >>> only valid for assuming the fast axis plunges with dip direction <<<
357357

358-
% first plot nulls in downdipdir +-180°
358+
% first plot nulls in downdipdir +-180 deg
359359
bazi_nulls = [downdipdir downdipdir+180];
360360
inc_nulls = [10 10];
361361
for k = 1:2
@@ -364,8 +364,8 @@ function SWS_modeling_plot_stereo_synthetic( ...
364364
'MarkerSize',marks, 'linewidth',linewcirc);
365365
end
366366

367-
% second find positions where bar orientation exact +-90° baz
368-
% >>> for dipdir 90, 270° the nulls are not correctly shown <<<
367+
% second find positions where bar orientation exact +-90 deg BAZ
368+
% >>> for dipdir 90, 270 deg the nulls are not correctly shown <<<
369369
if downdipdir < 90
370370
first = azim_rounded_all + 90;
371371
firstmin = min(first);

README.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,11 @@ _MATLAB_ functions for visualization and modeling of shear wave splitting observ
99
## Citation
1010

1111
If you make use of this material, please acknowledge the relating publications in which framework these functions were implemented:
12-
13-
<!---
14-
- **_Fröhlich, Yvonne, Grund, Michael & Ritter, Joachim R. R. (2022)_**. Laterally and vertically varying seismic anisotropy in the lithosphere-asthenosphere system revealed from SK(K)S splitting at neighboring sites in the Upper Rhine Graben area, Central Europe. in preparation for *Geophysical Journal International*.
15-
-->
1612
- [**_Ritter, Joachim R. R., Fröhlich, Yvonne, Sanz Alonso, Yasmin & Grund, Michael (2022)_**](https://doi.org/10.1007/s10950-022-10112-w). Short-scale laterally varying SK(K)S shear wave splitting at BFO, Germany – implications for the determination of anisotropic structures. *Journal of Seismology*. https://doi.org/10.1007/s10950-022-10112-w.
1713
- [**_Grund, Michael & Ritter, Joachim R. R. (2020)_**](https://doi.org/10.1093/gji/ggaa388). Shear-wave splitting beneath Fennoscandia – evidence for dipping structures and laterally varying multilayer anisotropy. *Geophysical Journal International*, 223, 1525-1547. https://doi.org/10.1093/gji/ggaa388.
1814
- [**_Grund, Michael (2019)_**](https://doi.org/10.5445/IR/1000091425). Exploring geodynamics at different depths with shear wave splitting. *Dissertation*, Karlsruhe Institute of Technology (KIT). https://doi.org/10.5445/IR/1000091425.
1915

20-
<!---
21-
Furthermore you can cite the [Zenodo Doi]() given above.
22-
-->
16+
Furthermore you can cite the Zenodo DOI.
2317

2418

2519
## Content
@@ -76,7 +70,7 @@ _Details_: [Supporting Information](https://academic.oup.com/gji/article/223/3/1
7670
- Joint fitting of fast polarization direction and delay time, separate fitting of the fast polarization direction
7771
- **Result visualization**
7872
- Backazimuthal variation of the splitting parameters (forward calculation and observation)
79-
- Model type distribution (histogram)
73+
- Model type distribution (bar plot)
8074
- Model parameter distribution (scatter plot)
8175
- Stereoplot of synthetic splitting parameters (polar plot)
8276
- **Result data**
@@ -96,8 +90,8 @@ _Tested with_: R2022a, R2021a,b under Linux and Windows
9690
- Mapping Toolbox
9791
- [_MATLAB Seismic Anisotropy Toolkit_ (MSAT)](https://www1.gly.bris.ac.uk/MSAT/) ([**_Walker & Wookey 2012_**](https://doi.org/10.1016/j.cageo.2012.05.031))
9892
- **Data**: Shear wave splitting observations
99-
- Output *.txt files (_nulls_, _splits_) of _SplitLab_ versions 1.5.0 (original) or 1.2.1 (**_Porritt 2014_**)
100-
- Output *.mat structure and *.txt files (STACK, SIMW) of _StackSplit_
93+
- Output *.txt files (_nulls_, _splits_) of _SplitLab_ version 1.5.0 ([**_Wüstefeld et al. 2008_**](https://doi.org/10.1016/j.cageo.2007.08.002)) or 1.2.1 (**_Porritt 2014_**)
94+
- Output *.mat structure and *.txt files (STACK, SIMW) of _StackSplit_ ([**_Grund 2017_**](https://doi.org/10.1016/j.cageo.2017.04.015))
10195
- **Colormaps** (optional): Color-coding of the fast polarization direction and the root mean square error
10296
- [MatPlotLib Perceptually Uniform Colormaps](https://de.mathworks.com/matlabcentral/fileexchange/62729-matplotlib-perceptually-uniform-colormaps)\
10397
version v2.1.3, MATLAB File Exchange, last access 2022 June 26
@@ -109,17 +103,25 @@ _Tested with_: R2022a, R2021a,b under Linux and Windows
109103

110104
## Releases
111105

112-
- dev ([main branch](https://github.com/yvonnefroehlich/sws-visualization-and-modeling/tree/main))
113-
<!---
114-
- [v1.0]()
115-
-->
106+
|release|publication|
107+
|---|---|
108+
|dev |reflects [main branch](https://github.com/yvonnefroehlich/sws-visualization-and-modeling/tree/main)|
109+
|v1.0|related to [Ritter, Fröhlich, Sanz Alonso & Grund (2022)](https://doi.org/10.1007/s10950-022-10112-w)|
116110

117111
For details of the individual releases as well as for changes and differences compared to [sws_tools](https://github.com/michaelgrund/sws_tools) by [Michael Grund](https://github.com/michaelgrund) see the [changelog](https://github.com/yvonnefroehlich/sws-visualization-and-modeling/blob/main/changelog.md).
118112

119113

114+
## Known Issues
115+
116+
- Modeling of multi-event analysis: Only using either STACK or SIMW results is supported
117+
- Model parameter distribution for one dipping layer: Under development, not fully tested
118+
- Synthetic stereoplot for one dipping layer: Backazimuths of predicted nulls are partly wrong
119+
- Synthetic stereoplot for one dipping layer: Gray arrow is partly not exactly placed in the center
120+
121+
120122
## Contributing
121123

122-
For bug reports, suggestions or recommendations feel free to open an issue or submit a pull request directly here on GitHub.
124+
For bug reports, suggestions or recommendations feel free to open an issue or submit a pull request directly here on [GitHub](https://github.com/yvonnefroehlich/sws-visualization-and-modeling/tree/main).
123125

124126

125127
## References

0 commit comments

Comments
 (0)