From 3f2867508e1a7c1fa55546b3471f1d84280139ce Mon Sep 17 00:00:00 2001 From: Luca De Siena Date: Tue, 4 Jun 2024 14:25:41 +0200 Subject: [PATCH 1/3] Changing to .png and commenting bin + Changed output format to png, tiff was occupying too much space + Cleaning descriptions in functions --- bin/Murat_body.m | 4 ++++ bin/Murat_codaCheck.m | 10 ++++++++-- bin/Murat_inversion.m | 4 ++-- bin/Murat_lsqlinQmean.m | 33 +++++++++++++++++++-------------- bin/Murat_plot.m | 14 +++++++------- bin/Murat_saveFigures.m | 8 ++++---- bin/Murat_saveFigures_2panels.m | 8 ++++---- 7 files changed, 48 insertions(+), 33 deletions(-) diff --git a/bin/Murat_body.m b/bin/Murat_body.m index 5734f3a..d3f4751 100644 --- a/bin/Murat_body.m +++ b/bin/Murat_body.m @@ -20,18 +20,22 @@ % energyRatioBodyCoda_i: energy ratio between body and coda waves % energyRatioCodaNoise_i: energy ratio between coda waves and noise +% Redefine windows with sampling for noise and direct waves int = bodyWindow*srate_i; lc = length(cursorCodaStart_i:cursorCodaEnd_i); cursor0 = floor(startNoise*srate_i); cursor0_1 = floor(cursor0 + int); cursor2 = floor(cursorPick_i + int-1); +% Direct wave normalised by window length spamp =... trapz(sp_i(cursorPick_i:cursor2,:))/int; +% Noise pre-pick normalised by window length spampn =... trapz(sp_i(cursor0:cursor0_1,:))/int; +% Coda normalised by window length spampc =... trapz(sp_i(cursorCodaStart_i:cursorCodaEnd_i,:))/lc; diff --git a/bin/Murat_codaCheck.m b/bin/Murat_codaCheck.m index 5a0df08..bc3778b 100644 --- a/bin/Murat_codaCheck.m +++ b/bin/Murat_codaCheck.m @@ -25,18 +25,22 @@ % cursorCodaStart_i: coda starting time after check on trace % cursorCodaEnd_i: coda end time after check on trace +%Define envelope duration t00 = tempis(1); lengthTempis = length(tempis); +% Method peak is generally valid for active seismics if isequal(peakDelayMethod,'Peak') tCoda_i =... (pktime_i-originTime_i)+peakDelay_i; - + +% Method constant is the most used in small local tomography elseif isequal(peakDelayMethod,'Constant') tCoda_i = tCm; - + +% Method travel is the standard at the regional scale elseif isequal(peakDelayMethod,'Travel') tCoda_i =... @@ -44,12 +48,14 @@ end +% Define the indexes along the seismogram cursorCodaStart_i =... floor((originTime_i - t00 + tCoda_i) * srate_i - 1); cursorCodaEnd_i =... floor(cursorCodaStart_i + tWm * srate_i - 1); +% Some seismograms are not long enough so you consider a shorter window if cursorCodaEnd_i > lengthTempis cursorCodaEnd_i = lengthTempis; end diff --git a/bin/Murat_inversion.m b/bin/Murat_inversion.m index db4e34a..9cb8ff7 100644 --- a/bin/Murat_inversion.m +++ b/bin/Murat_inversion.m @@ -130,7 +130,7 @@ modv_Qc(rcQc_k,4,k) = mQc; saveas(LcQc,fullfile(FPath, FLabel,'Tests/LCurve',FName)); - saveas(LcQc,fullfile(FPath, FLabel,'Tests/LCurve',FName),'tif'); + saveas(LcQc,fullfile(FPath, FLabel,'Tests/LCurve',FName),'png'); close(LcQc) %% @@ -181,7 +181,7 @@ modv_Q(rcQ_k,4,k) = mQ; saveas(LcCN,fullfile(FPath, FLabel,'Tests/LCurve',FName)); - saveas(LcCN,fullfile(FPath, FLabel,'Tests/LCurve',FName),'tif'); + saveas(LcCN,fullfile(FPath, FLabel,'Tests/LCurve',FName),'png'); close(LcCN) %% Checkerboards and spike inputs and checkerboard inversion diff --git a/bin/Murat_lsqlinQmean.m b/bin/Murat_lsqlinQmean.m index 434a758..931b9a2 100644 --- a/bin/Murat_lsqlinQmean.m +++ b/bin/Murat_lsqlinQmean.m @@ -3,30 +3,32 @@ % function [d1, const_Qc_k, constQmean_k, equationQ] =... % Murat_lsqlinQmean(tCm,tWm,Q_k,cf_k,sped,luntot_k,time0_k,rapsp_k) % -% INVERTS with weighted tikhonov and creates L-curve and data for Q. +% INVERTS with minimum least squares to obtain average Q % % Input parameters: -% tCm: lapse time -% tWm: coda window -% Q_k: inverse Qc +% tCm: starting coda time +% tWm: coda window length +% Q_k: average coda attenuation % cf_k: central frequency % sped: spectral decay -% luntot_k: total ray length -% time0_k: total travel time -% rapsp_k: energy ratio -% -% Output parameters: -% d1: data for average Q inversion -% const_Qc_k: constant for average Q inversion depending on Qc -% constQmean_k: average geometrical spreading and Q -% equationQ: sum of all three terms of the CN equation +% luntot_k: total length per frequency +% time0_k: travel time per frequency +% rapsp_k: energy ratio per frequency % +% Output parameters: +% d1: data for the inversion - variations from average +% const_Qc_k: constant obtained using the average source-station Qc +% constQmean_k: contains geometrical spreading, Q, uncertainties +% equationQ: equation to be compared with data in test + %% % Data creation for the true inversion, removing the pre-calculated % parameters. + +% Include info on Qc const_Qc_k = (tCm+tWm/2).^-sped... .*exp(-2*pi*Q_k*cf_k.*(tCm+tWm/2)); - +% Data vector for inversion of average Q d0 =... log(rapsp_k)/2/pi/cf_k + log(const_Qc_k)/2/pi/cf_k; @@ -35,13 +37,16 @@ cova = (G'*G)^(-1)*G'*cov(d0)*G*(G'*G)^(-1); +% Storing inverted parameters constQmean_k(:,1) = lsqlin(G,d0(:,1)); constQmean_k(:,2) = sqrt(diag(cova)); +% Calculate data vector for average Q and geometrical spreading d1 = d0 + ... constQmean_k(1,1)*log(luntot_k)/2/pi/cf_k... + time0_k*constQmean_k(2,1); +% Equation for average Q to fit data equationQ = -log(const_Qc_k)... -constQmean_k(1,1)*log(luntot_k)... -2*pi*cf_k*time0_k*constQmean_k(2,1); diff --git a/bin/Murat_plot.m b/bin/Murat_plot.m index 5fce938..58d5e54 100644 --- a/bin/Murat_plot.m +++ b/bin/Murat_plot.m @@ -71,7 +71,7 @@ storeFolder = 'Tests'; pathFolder =... fullfile(FPath,FLabel,storeFolder,FName_Cluster); - saveas(clustering,pathFolder,'tif'); + saveas(clustering,pathFolder,'png'); close(clustering) end @@ -105,7 +105,7 @@ ending,evestaz_pd,x,y,z,FName_peakDelay); pathFolder =... fullfile(FPath,FLabel,storeFolder,FName_peakDelay); - saveas(rays_peakDelay,pathFolder,'tif'); + saveas(rays_peakDelay,pathFolder,'png'); close(rays_peakDelay) %% @@ -117,7 +117,7 @@ Murat_imageRays(rma_Q,origin,ending,evestaz_Q,x,y,z,FName_Q); pathFolder =... fullfile(FPath, FLabel, storeFolder, FName_Q); - saveas(rays_Q,pathFolder,'tif'); + saveas(rays_Q,pathFolder,'png'); close(rays_Q) %% @@ -163,7 +163,7 @@ Qc_analysis = Murat_imageCheckQc(Qm_k,RZZ_k,... residualQc_k,luntot_Qc,Ac,sizeTitle,Qc_title,QcM); saveas(Qc_analysis, fullfile(FPath,FLabel,storeFolder,... - ['Qc_analysis_' fcName '_Hz']),'tif'); + ['Qc_analysis_' fcName '_Hz']),'png'); saveas(Qc_analysis, fullfile(FPath,FLabel,storeFolder,... ['Qc_analysis_' fcName '_Hz'])); close(Qc_analysis) @@ -179,7 +179,7 @@ pd_analysis = Murat_imageCheckPeakDelay(... time0PD,fitrobust_k,peakData_k,sizeTitle,pd_title); saveas(pd_analysis, fullfile(FPath,FLabel,storeFolder,... - ['PD_analysis_' fcName '_Hz']),'tif'); + ['PD_analysis_' fcName '_Hz']),'png'); saveas(pd_analysis, fullfile(FPath,FLabel,storeFolder,... ['PD_analysis_' fcName '_Hz'])); close(pd_analysis) @@ -208,7 +208,7 @@ Murat_imageCheckCN(equationQ,residualQ_k,d1,spreadAverageQ,... luntot_k,time0_k,energyRatio_k,A_k,Edirect_k,CN_title); saveas(CN_analysis, fullfile(FPath,FLabel,storeFolder,... - ['CN_analysis_' fcName '_Hz']),'tif'); + ['CN_analysis_' fcName '_Hz']),'png'); saveas(CN_analysis, fullfile(FPath,FLabel,storeFolder,... ['CN_analysis_' fcName '_Hz'])); close(CN_analysis) @@ -447,5 +447,5 @@ QcFrequency = Murat_imageQcFrequency(cf,... averageQcFrequency,sizeTitle,Qcf_title); FName = 'Qc_vs_frequency'; -saveas(QcFrequency, fullfile(FPath,FLabel,storeFolder,FName),'tif'); +saveas(QcFrequency, fullfile(FPath,FLabel,storeFolder,FName),'png'); close all diff --git a/bin/Murat_saveFigures.m b/bin/Murat_saveFigures.m index 1821eef..b272906 100644 --- a/bin/Murat_saveFigures.m +++ b/bin/Murat_saveFigures.m @@ -4,7 +4,7 @@ function Murat_saveFigures(figureName,Path) % % Input Parameters: % figureName: Matlab 3D plot -% Path: name of sections (tif) and figure (fig) +% Path: name of sections (png) and figure (fig) % % Output: % Three sections and 1 3D figure @@ -13,11 +13,11 @@ function Murat_saveFigures(figureName,Path) saveas(figureName,Path); view(90,0) ytickangle(45) -saveas(figureName,[Path '_SN'], 'tif'); +saveas(figureName,[Path '_SN'], 'png'); view(0,0) xtickangle(45) -saveas(figureName,[Path '_WE'], 'tif'); +saveas(figureName,[Path '_WE'], 'png'); view(0,90) -saveas(figureName,[Path '_H'], 'tif'); +saveas(figureName,[Path '_H'], 'png'); close(figureName) end \ No newline at end of file diff --git a/bin/Murat_saveFigures_2panels.m b/bin/Murat_saveFigures_2panels.m index 2190927..a03fba1 100644 --- a/bin/Murat_saveFigures_2panels.m +++ b/bin/Murat_saveFigures_2panels.m @@ -4,7 +4,7 @@ function Murat_saveFigures_2panels(figureName,Path) % % Input Parameters: % figureName: Matlab 3D plot -% Path: name of sections (tif) and figure (fig) +% Path: name of sections (png) and figure (fig) % % Output: % Three sections and 1 3D figure with 2 panels @@ -18,7 +18,7 @@ function Murat_saveFigures_2panels(figureName,Path) ax2 = subplot(1,2,2); view(ax2,90,0) ytickangle(45) -saveas(figureName,[Path '_SN'], 'tif'); +saveas(figureName,[Path '_SN'], 'png'); ax1 = subplot(1,2,1); view(ax1,0,0) @@ -26,13 +26,13 @@ function Murat_saveFigures_2panels(figureName,Path) ax2 = subplot(1,2,2); view(ax2,0,0) xtickangle(45) -saveas(figureName,[Path '_WE'], 'tif'); +saveas(figureName,[Path '_WE'], 'png'); ax1 = subplot(1,2,1); view(ax1,0,90) ax2 = subplot(1,2,2); view(ax2,0,90) -saveas(figureName,[Path '_H'], 'tif'); +saveas(figureName,[Path '_H'], 'png'); close(figureName) From c9904fed6e51d5754b023ba086718920f8dfabc5 Mon Sep 17 00:00:00 2001 From: Luca De Siena Date: Wed, 5 Jun 2024 11:15:34 +0200 Subject: [PATCH 2/3] Restructuring Murat.mat + Separating Murat.mat fields + remobing dataParallelized.m --- MuRAT3.mlx | Bin 5030 -> 4972 bytes Murat_inputMSH.mlx | Bin 561702 -> 561970 bytes Murat_inputRomania.mlx | Bin 478337 -> 478604 bytes Murat_inputToba.mlx | Bin 401399 -> 401664 bytes bin/Murat_data.m | 33 +++++++++-------- bin/Murat_declustering.m | 48 ++++++++++++------------ bin/Murat_inversion.m | 45 +++++++++++------------ bin/Murat_plot.m | 58 ++++++++++++++--------------- bin/Murat_selection.m | 77 +++++++++++++++++++-------------------- 9 files changed, 128 insertions(+), 133 deletions(-) diff --git a/MuRAT3.mlx b/MuRAT3.mlx index 54e425947ef40381a60f50adfdeb6c7d5edfd4b2..678843b0d606ed2663eacbbb56d58ca7e5e4ac27 100644 GIT binary patch delta 3046 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 delta 3125 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 DM?1ZZ diff --git a/Murat_inputMSH.mlx b/Murat_inputMSH.mlx index ce796a6dd66cd9057619a5695b5b8e044ec7790a..8e596b0bda8145aa8a50a78f8089d9633649267c 100644 GIT binary patch delta 9532 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 T{_YGEBN2>&XcqUE_vwECp0$n4 delta 9339 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

=RFkm3yjMbXd*8BS`V|yyk%&g^fJf4 z21W9-6Q~0%G26Jsza+cqYBLeyM%`D3eDM7j>9Ox5qvTFYBGT3veBigc8NlsWW%Ovf zt5@w0xhSdPK>|os%wIbRq-Qg*e-&W;H1hTpb}$T3N9cckXWM0-K8k!VvCU%LY>Kao%qSh2N^<-Wahj4VTIdA zxFAR`BaYlvx}MPpMdwrTjF7Y`^vsT_c@4x5vk7o&tG((18lcqbO+ zQzP`A=PS2=sOKLb?^?1f_Y54c3aW;wO88uYe4QAbU3#C`s7^6cMF_s z>7-@;h9haHYS21z(sUS#CtV-3P9+<`2T!0t!(=5T2iNc+AC%9fcd8Vt~9%C*_ z6dLdAWeRnUf5R_CK6nf2xNTU%9xD(QQF7$kvwKmPk#v~t-p+eY*V?8)oB?Ik@}?}1 z(E?^4x?K^;GyqQ`{Bh+xgWrOyWgae_Rt|SN=hEwQGa10RKV{7t-0%zK@Txc3eY${l@uM#{NzbAmE1^_=2mPYA$p5D_{*#_Ivq9C#&$P&YMv?F{g84}>cUM|i^8dZ&rT z*JUWY$I^3dv6)^?UgTE`{tjE7G02es_z>`X7MEs~*jp|_H2*Rb7R=~OwTSDUGUc6Y z6s>PZq%B0FuJFf6I)oh&1x${T(;l|j`t&cl95FJ4D?77DYzMZ@?(u}ZbzS)vn!T65b7L zwTFoFGiTAlT*YWxl%UhSpo;c~db8rpI|vKTv=;pZIOVhL01-O8-V{KHtFzk8ldS#q z92f~(0k`9=5%dL;Q3Q*C6Sh6S^GT5khg15xWvHUAdazfBxmd3xkoQfln{ndUDPc>( zP`0rjh5SnSQd>ah*PwsEgFeRNfL@`*TDpEbOgVTL*uONIbeaSh6oUU|&wM%!_;mX7 zS^`g3O@I*sf~BVM97h=TcdkET;6eJ=Z7wf8@8+R^EGNig{T7UI9y^q|kW1T%^GXP6uRzcTYb XCMu@qCczM-BPPQTL#fC8Lp1t7NJx|w diff --git a/Murat_inputRomania.mlx b/Murat_inputRomania.mlx index c86a5823b48f98f6ec27486491dfe506714b35d2..2a6ecbfcd8cc8ee8ceee748b95b5c33403295f45 100644 GIT binary patch delta 9575 zcmZ{K1yCJPw(Y&x#e%zgaCZpq?m>gQyM~JfcXxLU5H4;ZNN|F?ySwus*Ac{Q`E zPM_+oy;fJRvrpCO+AA=FI68~C-WkZp1ONcw{|<6M>ka<~Ef4@8fdK%J09XJ+7jrvT z7Uq9kfdI6>DgPdgsX#^`{{O<;W8$aQ{-)4D|D^z6B`rgdV*Mvv(i7Ac_cxcK?ax)WFwuNoxN6dAMw0kmH=t_gfUq zK)`abxLsn)57R+j*=2=+Mj51XoW#l~gtwb>K1)w`ps~2gird~;Qv~=!RcG$Vx&Gb3 zzG0V=fd@n1&}ApCfW_E?abKg~^5p=Fhmd|}t%rxd_v7`+eFAINm=R!um zvy*n6^qho(x5hQ}X0IouaP}3R|A)cb4ALdh13ik!{PqexN4x>iufK^MLG46OcQ3mW z>c{o_0~9x2jIn+!;{)Jy-D70--AzRd4JI(b#R5KmE#`!EKJn4B)s{f2QQFpdKZ4|q z$$o=zIjX*rTLuT=Q0CZ&&+1 zmy15N$`7JH`q!bJ6mj7+b$m|%gcL}!w&SRSuc{EPgf z44KDJyJO4=7YBo{SxIwy%}By0-8%@a`aaoig|T=L#VJjF^7CDFbVuQ@YabLiwA)T| zd^&$h>r}scDhB%q8g+UOUTkNfroHwy{-P`GtYe#T-apW6w8wia5V{q*Gt4v0{l2}X zdEV|Ld_?$aaa;~gI)5!(e~ux(SM~+_eV!kfN|@q5!fg{0YCRz}V9ORhHZZtd|9W7M zlimGX>x^<2b5`|vFw{AAJkIwRHJ`-fqHOYPvvJW8zb-CT_pw0P8w~+RKpma!Y>^S; z%TE6|lM_>WASjg3-kLinc&=*g_)gTH+cHR6mR6=7IMD%yblFyAjcsoSza48OoJ>qS zeNF?T^@30Ga!GUazmjgc@mtibdb=l+?(VD(zU=~(u5x3k&*!5kDr$?3K4GU&aTx|r z61p7k`RkxZ)tM*CdbE?d9)*56rdE3o{GPpljfzxSaK4@|h1X9OU63(Yw)Ja#vFy0& zxJavL)!!ZL)B#N@z%A2ulH_B|z#^poy>X|(b5_to)8kONb^iiZ_s{lCV8}?DulD58 zn4b7dutpv)x@){?`ZlcWs1(W#j7|J6%wCbfSaG3H+4k@1omdIyG;9a1b5X{om`cKi zkLq^V3VU{GT9D6EK6zZWCsY;%c)jP0cNKpU&fDI=$T#TQ1sh@1(ofLV4rly=)9vsF zlHqlJ1T9G7+tUD_SZD*<=3g2NZNVQT97HLEN)FLkHedx;1LCV zkQBu1^DUl2)3uxalkcgq_J<^V09|!AI@k{yyqQkspYa$S;z$dFz`8De2+9J{pq}Vx z6iCw$4dIYP7|Fvjd;Jb@*@PaSq;TOn{k(u?#_s@sJ2Xu~$*ow3cL#?+(hX|00BRs4 z7@z5^7ivz{byU6RboCJUeqaFpDwLohV+Z~=8QR5Vvmtq%MSgSDPiqc1kQ}oK&ge-1 z8>CguB&%4-8!ZFzmc*1q9FxvlUEuDKON40;N$M>~f zCXWlLay#pTUWuu5a&NPiO;Txr@hObJ%wDh_x#;Jfg~LiseSe*TJ!JqQ6NU6Nhg%T! zea0cH)DFP9=vS!f)=-H50^I{`#9Yai{6|JB@p2}ZFBgELVW(DTY-@)GKY~97KD1pS zWb(Sr$0QlaO$iT5p_7flaNCLQ<%cr<)~&)p0uvNg@nk^Y+)lK8Rp7LEMY@#^Mu%|5 zuq$crq|OPCGsS$|PsL>6>Qo8T%}?tA+!Y~{1{}de0q)j-kEn?B8{|F*`uivw6zRAC z7Q4MC{{RAsOzB4)96Qa>*HB$B7Y18{5j!!|M}Q$2TM@7cNlstF_vlgKRa51?z-3ZH z*mX;G7=EZ`h&B7h3xl%xS1Pd-@%#dxAm%txHvG6TG;yjW9M`HQfY!v5;%2e-JA{sZ zE&AhaZOUcwcN`WeGJfX1l>lYv4fP3QM93fID?rzVfXjQ0YL^e)F)&Imy(*LGOXG&{w5%X`cqYb zsuwRnTaxM))BvN4p7`#=iP-w91@BvGa!4#S61tH}@LkkjLIkotn z0In$9M-|}KC6*Jmo4|a@ii>_p>=a_{h+>LQU{Nl|d9-$3R1ozN?2No=`;z2uttP+~ z>+hg#m?}In){NuS;I(&%r*E|0Z`s%ybF_~DB$WYHAYmtZZVw38&jJGfhZV*w)E{e? zbjJ?&>s%J#1Rm|qj=M^dm1zQF`l}|iYiF%cg)7)hBw*1GZx(v60u}kEog2a4`JU(> z*1N1zu{Ag=L9b{I_DP#+<8%=ATsK~JZE(Z=5JphoOMFk-XjH)A07buj<`r2FxL|4s zlxwyS5|g91LEhOuvT@XVd+m%t^|Kr<9nUQC7+HK_a|!w4INPJ|j##(TdPd==)r_&~ zb2qq)U7>N&L9qVe74i9YZ1>4F?U}_pbl+sIV)X&1SR8g35n3H0Mv#$=2@Dw);;FLO zNAmTB7{IAxz4EVKA$M~v0yzkgEiSRDzg_Ti#3_{ifK?mffs-D^R;%qJSYO)xO5w#e z`a`z+9)1U1o?;6R-yzsO=&aG0{&%hqnHRWu$L*Q5#iZ^j>_ol05AK})#MGht((^_C ztCkRtCqC?i#2LJ^ZmYpKRHRj%Lq>U{%68BkD@5^k9kI%}Rh(@Sx}9?JO>@1z2#J#n z)y}XrwS#kH)F#?;>+E;b!9T-{+mqy$s%#PF{cJ)7YUBFx+&8ai!5mO#uRG@<>+s;c z!sOA>bn+MfpAR$A+js-lQ}J4R?c%N}-)hvO(YETJFqeLvZHR)2KMWfqke#SRmxO_YJR~)XkkGQ{_Q)djR&dk@ zD<5S=%8g&rl1x5c=d1G^8x*Y_rArlEMjZ!pgVDnxhPJ~P{C@&(m9vpW@J;1}EKeJLSD6Iw{dj>xt4(^zm%PE}m-Hsuq9a;}Cyq)r6(;h;Dt zB1p3rpD3C`v6OMUAO>w1(Q=IB>Br=zg!E@KoJh}*pb@7QDSy6l=iXve4QeZ0V-voW zl8wlas{HwHB8+buGQxDmn4Dnefr~(D)ksdvB1A&|Y#+(awEaDTXP9dMfgXEf=}Xlb z#&PLWxNne-97L#G?X);}H~<4%4$)qdp~6*4)Kh^$?gz#Kg=AT!E?8FmIxJSG^zgmn zO;&i=wjP@YYEH%S@r)!#6uo5c!w&<5ZW!P0{F!hI(MCQjKW}XalP5R_%8ZQs%PlK- z!ToH#Y`bGJ(E$SHgP+^ zr$Sst_|Vhfqis2E?pXDlcH0?UUu?NFxCNm43fCs|jqnDwTq&!$sdAz5ZcHk$4UJLX zP1TWyLz(3)eJ&M3X}q`WL8ZcJOfy~N9Ln>pQPUE**L^y{YMC*voFLk}Pa9X?x8+p( zGCegTeFZN%B@fobM5Dh+$BWtc-tiHNUkeThcRjn%8Yrj$k+nWrh^VF#la`cA|Bi|# z5B)14&#SmIS4`dgqRe9-Hy_oX_?f5A_ws4>xlT2{BUfMh(~GN@@zvdTPrv8+y592V zyKU*~`S$g~^{S%wYtJ>eOuvWila~qEbBOEnbeF^JiU;`pw0<^g`P?_D+lOP{?9Il- z;|=n73-RoH{?#~TU`U!;axYxl?W;$?Hgc0@t!>sTEh3J9@J+<4`Q|xc*|uFUs&G5W zEVj(!6}tw1hgfXr-nH6{YFx?$t{R1#a7_>Y7d?T>0eNS5;E)E-S_4B2%|+~9OMQ+q zIe=O)_7!aNWhLMRibRBQ#_^mxx@24zg4IiHhi#pANk#{-h}8 zm?DdZrJ^gJ*;C-?BC{iQ`N=HpKE|*hD_45xjWc*W9kB+CdB=NQ;=CH~ooWtb`dl?e$@EwmNUP6XvM8XDl< zynfoG*ocI5=+XWd+OZvY&d=5+JY7<4nQiZV{`VL_$1^I`YeKpbj+d;On0N6M?}S<+ z8;ZawL4>cB{6xJja^@l*q%!Q+cWgntUAX580=bo;HyL+X>P4$o_^4xqMTTk1nRl6Ic~Yy@Ss(-C)l;6a zpm@KZVFl1n3v@0=nHmiQq3@KpRNn+p1N#QVjgGqLQPzRn^Hr-(>#!dU{6Ds56@!I` zp{Kd%uc`x8uMLFRrN+)+)Izva`HBwU2GFWH%m!zFz;c<2R6vxP9&5;%l1n`{(0nHakM9$2N*-CW6XXE2gZ%W`*%2MkD`*7HXmIm zD$eT*UGkrWNP=0=-?12Hlf#qOalp?Mn3R?SwC!R1bL3wZ@GJURm-2jw7tXFjIg-FB zWk8^%DLezSFO~lzk#h-mElhkAl8K7cPaXo;qLM1X*~>f{-!855ILCxPLPEIL#8#z13!0B@7J$N$sn4XZ2;JW$?^}cEP7@qC@!u z4C0n9?x7=+K3B`_r?sKyf9!7POUEu%_m1>BGHHGi$BDhWaI=553`Y5Ee*Sg&hU&7e zWw5vb_x$jzOMbg)uq?CTx3o$t0~yll0)jqB6Y-+qcfQ8HdPh0AtFecqy}n+g%o=1G zo3D@7mixfmUCJqrU7MCqItg6cH9RCJoJvv>S{1FlL9K)ufZfv8`eoqvec4KFc=B$F z?tqsXQlVzn{iX40d;~NaEE<0LJkF|9$rny2*9(Gb0bR6=nG6!~-LQCzwUn0{OhH;p z+@YQbO0JPlF-caL<`HDexDHimS41h! zFj>IHtpvz7s2!q0Tp47* z-IM<5&lJ~+RC5J3B$Y-n9nWZVBk11vEJ7NS9hcKDyAd3@`6?w~X^J)u8cY@FdUe*e z(j$dKyr2if7DMViCRA{#Nl;cn2KMJD5x%M?wJYYZy#7GMn2{oxD!h%hW`@F@fY0=2 z>2bVk@?YQ2>wWaYG<6I3Zs|+%c8Im)C9`nht4BYjoF63YO6zvRC>muL&=7Ud!uZ7s z;i3VtI{yd}N9+Cu%gdqrfk@5naoG3!edQ@i8c=Y43^pW{du~?)wr%;k0~V|-wB1Vg zB3ekO#I4~TzI0l1>XlAed)Bgf_`SX@UDn2F;!iw0$%Pu%`I1-f5Zts!;a_hpks25l zyGPWrsMVz2vvux5reeT)Hyhmq$UafX+9ZHNyEgda`CoWo9<4iy?x|1>eQ@-a7rUbA zluj*yAbjG222)U#qAaGq&K;08bSuPMx1MQmSIQl6`mrCx59# zn7xLtR6Y}bW{K)FCVipHoubnByW1s@#$jf(W?$JS9Mg&%e>TCAQLd5rQteA7;l>}y zkxEWHthPAtjpAugU8J8~3*NrcVQnHt{fzfsOwkS0_~Cv9cKT;Q|2GJ7iqs*4aNIrVL`9!!A}B&8R~p zvk!5~9Wm%R0+$GlhaID{+&-X8vbsO{wadJArp%X07Uvpjp*OH#1`No13Gai(r{vZr zz33UMO^LECC*m{>|B3bIwjr>4=INTvy#*er;$MjC(pId=u$d=3Z_zAIK zC2xHnGo&>%ntb-BNHZSx9hMxi|%qG!nTjWjUrASJCd}rZ+W;Uy0;|ue0y_wRg9s?e_uEnz72$ zGNUGCI!)W*WbYH#*##~k zAE~Of@^hZH+vX`7PehtQSx2WSVIA#Pew?r?C=d~41$)QvVz?<@zPG-q<10S6e5*dO zThul*-&oXFJ~Y~&S0^2bm#qlfPp&gja`;$?#!Ed$Go$>csrUY`OeaUinT11lx{50I z{)9D~;_*?TnY4M4FUp^ENVxNBOEiN>d3p61(wvpJGN&0oaN&k(W~+!5qKDHp(TdC2 z4r!{)F6){?zxJWi2Um=vd5Su$XTe!fBA_<17-yr0p(<|C(& zha9W=HgFhp8?@dJA3ObQ&!1fuTImDGVW$tOl9%FN8k zd`c3GO6{I?mJFbr@5RvvTf%UTP!Q4Sx41aabnUP2jap(2>=4a;SIO`X;2Ekv(%%^( zw9J|;CNYP#PFw`wiHERTA_VjqB79@(N#6Ge5^f3FZWkVM&&#TEk)zb6d9N@t8)YXC zar)gm-bB>3>85<6aF$h<^JE&@Y2z~uI{QBC7oMAA7fSC=wrT?lo~AXSdOfe-j~(M# zKZ0=1R7T9J^()fWBo24@5jQFZerK`)fIe#Dvr!l!cLzGCr0^WW5A=VIpgOLR;=S(EeCK zD!(mOK;7_Eh9aMUljJ?z{r&k>tW`4sMxDtPWE=&lFL)&kpRS;#%_Lc&999E}QjFp4 z7&`eZNheua3?^jcHqB*g@$UsiQDmm#QnbRG9+Q7>Gj+tkR|#4mAeD{E_38bFB=&}= zNW{i`exgGT7n3kw`lMDJSzF?d?e8R-RU zaj2RxwqjoQW2lT?@nkS%*{pNeAbD1sHL)s4|3Rr#QCcCQ%ugcaK#3(NF*kX|Yn?Sa zIkjp)Zax39=Q)@ADkz?8p+||4Dvfkgt4@Y3cYmdd2#G|lwnxl~A3yu*1E(Waotb=0 z6aI|Cu<5U8F!zVNPi_ytjmg9qA=_H4DYtL)3U;N$v+Y+H^-sL`6|Kp7a;h?(C(_i> z-rf^@_!a9m*I%JKAzi2a^9SC$QvrBgB@k?>$Iqu1@P^SGhLdHFFY;Ci3>L~tGcv`| zVzQ%AJgqJTi1V$YMiOiY1Tr6m`a{_+DkJPF)O|Gh!3Ahbp3KCS?C!B~#!ox;e-I<7 z2vTon>z=3dBP9Z@*;xC0Q;4>M2oiq46cbb>0_HLmy{{mCBa+j46{_7v?`2r((>EMs zw4*ros=sO9%>C)Uwz=g`JTMAHDrf3>?%($ipzC)!<**yx`2LaMmFQ}N3yvfjiDw?3 zK6hp10T1=saT8d)<}V+(MPuX6vpgaXga;s)r9eb`dQWcXlhc2osA&7RH=qoaSeJQE zrgUM=X2Ks!g@}`m%DKZ%w2nBeZ9)=I&_)O?<1|xAKK(qRIiWE)t2;_GDX`*`25J(o zUCm-Flu)kZU?8sh;BZA~`r#8d)@zJ}tS1_&f)Vnug2k5eqGR`KyDt!5 z@Sqb(55|$**YOV?RbH@+p{dGb7v5a_z5k?>80>czz@=Ngq<_02?ZTKs>hf4II~8X! zfqDpvFF<(u@#T$FMIIW4DXm);g!}RTH@_X--JIP2YwNqQiy{yT$dn{PjZ5t*3=MdYG78R(Es+`?dgI7;G=+mk;;D{{*8zIzwv}I*8?HU z^-#!B|3Vbbv~n3#2LL<{0sb!$$A2S&m;ixhhS2;AR?Fo0!Bzd4}ZL$An^tw0Cw^JGdWVunfQF zu!LRjN98z7fq2*5N_zy2@d8y1R?`&&^Qx#bOm~7gf7l5?!>$DnTB$0zn1>z_3AT*~ zA${<|QXD`s2P1WS=tY$4Tnb7RiU^6=Y;)E9_TWZnQ{t0Em``WQQAs|e3nz;zW+F`~ zL~qMQf7)&f60MQ`+fXD%2CQbqXcr!hDx|DjRXRLinGW{%ZyKr>~?;70F`k@15db zX^H>JIw=Vv`H!+1O!nIRWJQMC@XhUe=;9q?Hs@tt%`dBoPW%*L5j8NA8e_k-cY6F? zJ}K*A>Ybd*)AM`*TfI3DuFG0rJl>5pbsYK~AC*OK+y%(K0kzpchP90UCRy`uc4h z*)Mi`n|hxB8|QAlF7SW8nIH{b0rcTNT4GYAL3RI9hxb_{HGO{tWsj%1pSJcxVGXka3L=`}UX`S*QW?)X5 ehysY{AB#v#^zSS5uaJD1e?a)*I%GkAAOAnA(`Z=$ delta 9359 zcmZ8{Wl$Z>*7Z5q!QI_0c(CAlaCe8`!9D2UZh^qT9fCt3!QFyeaF;*`uE7F)dG2?s z?tSl6^>o$DT6<=#-uQi4EQaUc-hU!IeNr=!JNPAeBn zFDGkfPmcFajwdGm9xKqrm&cJ$OW$6fk=aJZAq)ktmPk9MwA`={DXiG=maFuPAaN#(^KUXdXe%)OWVFO-daSOtL=6TY!!RBZs_g< zTl5+iDmme|>GioP0XBzjvC_58UXG{`Vc_O!?#+QON?brzeSeSIC3o4RP?)m4XKJJl zQ${53w)E+R6$cWqf)hxk3U|uoKJu*UJFo*2hGC4Is&j`dsmzHJeK6cbOh~!fHXCwr zsrdQXPSpm|Jm=r)Asa7@Ey6V&Ln#O>dGa2rG?_msLpwK@OQ z>%HAq%*P0zHYt(wF-i~Nr<$Lh-cuu1XVvai;~A+fFm>1!6sS%7^ZZYF^E2p>1`a?y zp%lyROuyMbueZhwlAXczk^3LZbLO^q~mr7`K3l<6XI`1K5e3!>>Civ4(Ik#cI zpiblMpq0N3OCnsp=2JVdzDi#}-Myt=BoAiA;Tab_GWvr0kk&YwzlT=+L7*O2olVgSj@Gh( zEmAw^L&5%x*~FIksqb4fgwApUCoVj}h9md1ES%US+$C>NBu6UV^eX<{Mh=L22k?>4 zqg-C!ik}K)&a4)+(&tTz2+A2MKl>5WYHfHXhAA`Q(VZ@+LYFlcj#;;jNokD^d+|ki z5f}LV>t1b7aqrPO1b%=(8OZmW4)=vaf}hKo zede=66$Ufg#Gj`b#1jW3baH4j~*sch1S{L&^o7nn7szbF(Or)Wd9aq<5vjhCBYd2CLees z2AW491Rsk+?y*o=OK|)SM1ml$IOAx+L>w2P)G`>f6LgIc@J2c`K%s7eK`2{>YE%zO z50U)19q1$!*Y*PKCZP5iU@d=9e`8mfe_^G`1LyvV2c5uALJBvBuhy`Q6oUl1A1Jofp=QPxoVnf5^k`TBGA}@`sRz zJCaDOro^}tf$6-r>+DsdrJH<70t-k#2<%XmYs4HEhFcJzL0ADxgA5vSr`XWP*MW#+nj4_UP zfQwj@g-NH8+?T;dm@uO~hnL)@v~^0O7-x^o1R^Qjz#nV>W`BS*sj!7?ka5pB#D>gt zl_BhwFw?>x>71hgB(&O#hP#O9cB5sA*Je+)h%*H!TZj=k&b&9gzOI0{TILi~E`tC* zPq}SiyG9&-w*S_ry+o2VGJe zm9J+?-#nOaH&*hVps#Y`1QD^G=)%IL(;x%+@JON+0CKs-g99bPguA52?+4G&0Et(AkQF)iaAdyh`hwZ4P{Oa zL73CU$DjFw$sj`@GsJjU{CU&>Im4q~Lv2FGh5(iSy0}26@_ay+AdNylOG@^kH}u^` zErU1UMv0;L1+5%5tiv6(U^ofGGRe{ z7#zRfSU@Be$KAR!PMHPqNKB|8KUIkp(bGmY=$IJ$wCScR6A zMDVgF@uKwP5&T#KS#IQ0d*|kt>Q0;Xog#+#~Jh1M8g+JNmTCs~qKq!Nom{pM*uX zw7r6Ueq?+cPUiaAZ?$qceZIWE=yy<{)3SHt`g`*We}c=S)v=pJj$5-!RKA^!%=J3} zvqTzk1U1a4S(!AGwhj(CHNaW-WRmFe)VUqKjQK&OY41&tLrUOV0p#%=7JZCuFK5bS z83(kIWEb@MrB@}!5xiYr#~x+Q-k7GrUMhK;dY zGUE%_ zP~|Ip==H9jhxQ4NPH=yr`8!#z(O&LDxq_~^YKT)wu{4u=+P@YVi}g7oaifKgFh^jQni4%(RnSZE+4zpe zVz*T_Gj&A%06*z_g=eP*3*9)I9*f%Bn>R@odrJ-p*Bye`sl=mBgzg1^Fa6WL#lgh9 z-0TI;%PP*1E=8YS0UVs??4*8gWdQ) zWJJBND6dubMG^@l+#($+k7Usxrf&GWEQDH5>=xJGksJscofsm(mKgRK^!K&5Of7D+ zN;{hS+zKqTnb}!XebvV&q;OYa!}OYSLDM~L;^vZc=!yA8#C~0%Eu(!M@n~b^j9(aw z8P&n*==l@-l)sT_%)~8Ochw+GB?e(krVX{c@)wgNrz$6b%JlV0@9YHVS6A2`t)j{G z2a;=x<|Y}ETk0l&)f|E#uh2PDf2aa-J@M}Ry4hgp{VAaB1#RJ2?Z?LlOT!Qaf$FbZ ztGYArtga| z)j2JrMn=PhRFTDALOQq&na$W!!$qK7jq_B#dg2S6#r~={eY9O)ytUjeH-K(iH3>Hk z2xM4nGzyB#A|d7%i}ax?6t!L|eftg?p@Wm<)KOtpFH~EyLrBWZLq5Z%#L=zUE?3~| zR#(5fpId!pCv-0dzw6BUHE!3xCH=1R=^pIXlk@p$`|Oz&bhmr`XG-C$+2eM$)A^>u z`(?d;KD+(QKegNMb&v=k`bP9+_4#4d;4J9E(Q6S{jI!24pj_PSWKYQ0Buuu~?+Z-| ziPWSamfCNhJ!4ukUEMRlr^u)G5czskXE#B8h8!Ls{!I~DWHn&Zb7aJEN@gF$#Yufs$p!~SBox6Sv*;Ib#DS8t&^0DR`V|YEn&iua(na@y#vRN{;l2bLe?z6#@dPz^x{1^N%&cl@Vt!|P^aOKv zLhKzh(`mEB0V3Gd8`UuR<(Bm32}uH2-4D~Es1^SXxX4%v=T$~rXZ~Krt6H}+z?vW{ zHiNBZ{mweghpyMIKANDfpYWZ8CI=`*;Xne%<8s;<)2gA{FY+p}+mq4-^%vL~ZFRT< zKEV?=hvI8Ky$Z1Nku%0$YRVFAP@Q}}uFB;bI?K5~riIbpjG8(};kZ^0uY| z8+7KI^l#alq_a}?hmpqha{cel^s*D4Y&x}E=1;tjz|CFjU{&)FTnmQ~L<-w+E&T?0 z{y%s~E$F|#Jw^`x!G8O$3UhPZlkYNS(T$1i!5{HLtygm*TK?YYGpEH{Vw?B|f0=JW z18Bl@X~fXS*LCpAfnBaPmvxr_FZGrqx&?!E5`A4BUG3Zu0lfQ#1p27m9kkf|i{}k; zMly?t1}*MM6&e|jhapls-QB8|K*}`gSgrTCdS8}a*kyY5#JQqK%ezF{=h_@Q?$^7) zNlo*Yesv{u^zl6Tm)`5teFa0Wq(8ZPMU2V%U9Prs*F~Itcf4jTF15C6ME(!;2g=fjs(7_6 zhDpp|{Fb&>)1lGZPiwW&z{gBQc3Y7O#F1ILE#DXsDN~GnIzy2?a!n>WgD7Ftcq zbWP+%ZOjIB07tk3Jo6Ee?Sf?YA{snfjbby}T2WjllchqxfHNYkNP2 zCze;BPLMRPGnt_*fzhkldyrMBQ)-EP{Aw#GEu&fFPem*W;2deAYs?O}SN%?Vq@7$c zE1Z>=BZ;=^ZSc`bZFCB}X+=vhiCYKk;d#^IrUkRAdemcIXH<-vLRTpwp9r~nT-4h8 zdiavA$}E(zew@RSoD&tCUp$2<6CAx^pN|P;-(x5x?h3=Y^hay;*y*JEplJY!Td`bL zm}}pD)pKVEOmb55bH8R2(z-Ix#QI*y3lG=5@g<9W_3(@EBC&8+5HRs{M5lww+uEgR zv2C|FKq#YBwNMvAAbQGstl_^%{bIsp{;v7f$XE99Du;Pf3w ze0jvT7(p(a1kF7I>y-R4iLXk4m2R^#Otw+R!N|^KVBnNJNp?N1G!Bc)t;)tl6quFE zp(aex$~})CG-#qT9UXIrhjW{0V8uX+IJFGaYTv5D72`KX@78LoDv7T?5V;+SxrS3b zE~Z@s-tS7}?RRqyp{Dps1Ro%GUU`71P^VZ7^Dc?Y z)va)%2XvM15tcOQkFYuA)ic#X-bkzzk-EirG>3co|w97wrTE6>E zt0@4}2|pe~D7e7gn7R+~_|niUV%0dW z+*fS<76f(D#Pq4_hf8eabY&{0Wu-A-GayS!Fp5ZSB2c`QeUH6Mt?BHB+3@)dCxsR`6U$Yh zV=N?TAW*R$zYnCO{%dDN({W!5&zTPV8D&8+S#@u_L;X%@a`io`MrD|}CtLfU{ zi6P}X#?ti5pPh_$_-_LZ>S2LCt%1MgfhgX#l9h(7sRaj(=#EEUg%el@M-^{uTGj_0 zs*+JzlBzMSz6C57-{hfv< zOCATRnoVY)KT=wHgg9XJmgGaCs-32v71{>&3@@|k(4tEFn97T>B=V!0MwAR8kZ+^B z099uyIaD3n?Z48Mdc~-k2y6-Za>#KoIonW#Dfsb*0jToNm zc&`|jcf0fZ`RA2s)dFq8lVP^@s#>pIK2POB3d`*h*?fbQmoP~j_&yVkN;c0tvB*;t zdulW#dsJH`u$0+65-Y7nKatA-uvRPAvbwn82*Nr#UrILG=UiyZ9JwjkuTN5mvQ zi=bNRrG@)N^{7eo^rRsfQgJ-E_83q^oz5CQo@vgfWUX176t<3TaN?q|=c zvQEzwPYyrh!etk5_mG+ZO!hP2o-~lAZJN-!Z3P!y^hPU8J2zJ~={Ox1(yckqXFc*& z>7af6`q_p;HsLY9AaO^Of70~I?!~UoeocBrjN2(kvY=L(l1*JT)57xi`H~+$9wXIP z?Xma~+KpbmjoKdJDUX=Wn~xb?T!PU3gztz)h}{a<Rx>QI8o_!nma?~2^n z0ap!~uT!V?LR{I;(|UsqixT@6C{HmXMSCuh#yDGCLQA1X%Akn`WH}_F+Pew*^Dv|S z0H_69PQMT#>vybk0Et95H?FnAtqDctP(wGljEf9pSuelO23Eg&HOPgOaXF`Q0ZGyb z0HR&j$vkva?GeWM09F!`Mr8yk!9sIep&VzybxYCI$NeLlXZ`)!ti0=xM=KtxB3mZ2 zLPd(Q5V;p~zjlT2hFVr!SC?kCR7-=> zWjg_?zsIenFG!#UR#zL3m~4_gk#^JCL1FvG!s4=eJDykSxQnQzPilAAgS1VcNGZV>C<&Guz29RHxo?UMc^V5KcROr zO>7qb+HCrh%`?LnuGnQXrg!5!P#lHvIDyu9^@wjS*u*gz;l%PxV)PN*=an&z6377u-^Wdt9S?erJ)x=-ai02W-tvcVqYGadJM$UB(@+~jxFtO)fB zj-#pFdqx~78;S`Jh>zmM87XD?U`dN6JEfBN9kbuC*-uK4hxndi z(yHu!T#!o^Hl|xaZEpeXH=YuuhU-W2ag1&ACNhlnu1zOTp@rDEBbX-%|tTu(kas#)DDQ>O+>hi&7WxrU$}-K#43M z5YB&!-Y#CAu3rBtc{k$Gg}|}?hwHgtgY-VIPIM*Y^}LDT%B#h zW*M4i8Nk`GV0@T!J(vjh|3G;Dfkai+gPW`B;n3s$D{eIV+C^v`2y{OT`ro*({~Rf7$^eKFp~0 zQ{zXT-QtJ)qvD$|+P9-k)betFhVD`n+8S9FB1}8Ga8}i-n(Q##cVF$fKEG{!P2mTj zTG>d?utlezgOk4^F{E>;-s|*Tr=Q^YOH-*nXM+B#gAXS*e zG;<3n*iRdAv0BB{vl!oQlxO4xN$1Yiy@ThqbyUTWnJ+Itkd$Au8ZaA$swv*?w`)w> zp;8dnbF1gMJxpZrpHk%H3Pv({BDnM!yjNy)Ct8UijiezP7%qK!69{y*2NHKH8v3`S zAsJ6#vvwV8`m5uRek8y2XtunhuXQ;jsC7?&-S=i2#%Cr^V>M}p`rz;!^}Qr^;RKjP z>)Q{H$wFhPrMG38EvD8{c=0rt5Ci?+RBN>!)Smq7r^;V%DgN76Cm%}}STz)a4VX;# zzU${gN80kw>$~d`#1Q_t-QpRR*Tkdv8_kv{wpU*W>yNEShvS3nkh#;(SD^EQFKHXaJoWgd>pe)*&dDg;uR>$sngsN%c-HZd>{QXTT*)rxgVd4yXRF0=4wCfzMGO3OjQQUT z*rGfH3-C%D!3^cXjyw|?9PVTzAV|^N8O$c4^`lp*kkbENbaCNi9Yf^udb4{x`Nul{ zIj*KoAkk{q?lQH|29eHf^vSWiRAH`qoFjJV(T~u|_S**Q;>;TaTmJNB(*;z`emH=uGbcjGfazUZc#TPXA$?qA}u~Q*t%VWy0LDUZ@7(g zFBB~Fq}0tZ@yjiFOV(WROFuT3r+|y1SdEIhTyIlG{HRtcY+0%KyV4J%m2UK z^WN^hSAD8aSD*TBSKqo_-F?1$)kzxMLt5jGfWQfJqXd%Bf&gY7HqM^hTz~Bm0C<4^ zTk6vgI1tDCQze=HwauP>e=f`hYv zF_00(n&22jBXRAz6{!vWR=wUN_2-2+TA=bvd@o_|ee7={W$MkFhvu*st2v#IZyl*F zmkh$d3Ez{BzsEp%OJHijkBm_8klPQp)BV(& z^~PFf`a3@_@b)Hu`Unz!OS~_pYLlJn{mD%H<|J!Nq?_9Rpl+MQkh9Cuo2>SdGc)pAOqTIb@Cb?ejo-Gp>=lbBt9yX-XkEn!AVBk0G4EzEH)Q`A;9B+{bN`PUx6@j)JupI3-w?%8C}e zaE#pinGZt`oX1cSk~I=}kfh$a1NJao_Ge!e&!X!Mj+lu>8=_E3UDwcNtdORk-B{|?iMQ>_ z8lw)~YlgSoTXl`4RIcQ`9jS0$!@VKM-<7?U>68zY$3jaAQz5*^?gISpa3 zrAPHgZ13NQHqX=Pr_Jq&U7jz09X;TiLJAVu|6WsxUYd*g2r@=V5nU`UKGgkEU^hxG z9%sk`IT4Qu-1FLMt&&DU>Gfl|w&;HQC{qE=XvIl5=R!2W-(b%LRyCoUgppjhY4<2h zXqx$WZTl6Zk3Bu?qIr*$c7M+Vi|=Jqg&N)6Hzz(ml?OD67TanJ9Pk+S(aGorBe*4% zIE!epUm_?X=(2m%%MaKR;$sM15!&AIk6$!%IuAxiI`6HbZ})Z~doGNe*4PXbyahpH z99)#``4>QDa3U5m>%uUZ?Uc_lgQ3|9@~=8z%p{BPpmx(B!p@n{kdLRllmo*-k zya00^Umg*o-n%~l54t~OM}654kmF=d80MPt#;v8^%Z&8?_LktR36jwovFMxSvA8kL ze*ILuQUsGGs!TkFArdF1Nv6g0*tO-zEF(XM1lLpyJhz)3i7%(H3EOR1xW#P7p-~>nyQ*A`Cgg~MXu_JQr2gU-Ixze>|Ie{8qjII!zENQhTv`IqxX49y^BqcGJ{bJif0>GBYoA5$F_1mXBa z1&Pfyqh6y4p~~Q9Hg`}%^Foq@v>U=vjCC!{G&Ui0kVoZ`7v@Oj7)91!KKRIX$Jnb& zc51{C{fH|Q7Z@DR^3&o$tYh=QWTwjPjqD^g$R8<40u<@tl|YZX+tI>Psc^ zVZI$Lu)*oTB_^%WO0nHZ9&2GCiiAFq0%l>`wS#b8&dnRXvCC`-mC5zwb`9RC&z9iz zG@zq+<_UM#FZD*0oC}^1CW4jD(FVC8O0Q?J zV^(BGkX+NwKSw~;*8%B7Njl&G0(%R^$6*;0a{?amJY`U_qgY6I5TezGDDuLEQf8V| zob_E=kJ}#!mcCU`(6jUqNb(Mi?KLualdR+gy934SD~lgOfz?u7GrSkuG7=xuer~9n;Y^mvl_mvh4%+j= z!1dr$K9hu&q}3e0fX@SRUN#6Sh^{~n2&*}7zAjG73 zK#R*gnB7D^?QuBwwKauVRfDm>wsKtcoZ#c!@H`7{wbYk>8UT||Q-uD+9oDQ2+8G^f zE|9W@Zirn}LCT$Lon4k=x#)7=n~Sgz62tx@y)8S`|kMJA{~`zwzExY5n25>X%q?R#zICT%Y)9mr54RSvqS>z#LQmc>^%yZkcHI_ zjsfKOh%L?E>meWud61_9;T8#hL+l%#Pm>T*kyvSVO<<&+8@b>#54pF&k4HB*tZ8Rx z14RNyP-joj-G$?yufq?pwjO@k{U34xm_2}R0K{+FzH%8UA8`@F2BkiI)%$w$slA;W z_6_tZx9DAt2kBU_ptLkl zEl$<_Mk2d{4~OdPc1v3aLRpB#mN|lAA-9Ul+e;_&QT)nY!N z!}N6UjFG5W0OzDnRg<*%3*+4rD=z)|BPnEROahPlq^YAD)o#( zD_0!w|#Q}~C%JpxT?C7k?E;7nk ze$^7^?ia=u@q$$_$#bpzyQp}saSl)u8VXF-C2pV3d?Wc)LWxr6m!4jaCS^^6Xozez z_Irc-^2FEba@6+SvFk|6&<#8X6bO-!m&nBjf9~N?!AtyY1c3%idDR>JcE(wk3-l{w z?WCgsjpCobfGG%!Y#%{vy6oki5LsUpcBQWb>Ev&j%Z;G2+SAubf(982xqG?iDW8GH zDF>bJ#fE*Zwy-|fOFKm#DqS#IF?S8IIhdWSv(dF(vLyZp`a`J zR6-NQ^s`E#WKxJi7y8Xvw{;X!n9-WyPR1nE(#3af(V$cii;8DVRD*@(KRTWwyFU5jtaP9&M9_0fZt+c$0U6z{X>F9S^7>yPl|&4Q7(*q2nu-b;@Li-jMku5vPrMg6K`+)EqA@R3 zCRJr^wJ9>w+zNqz)z8ne52oVzZb~R6gNw8hZH=KVbor54_BPF?i4z%6QIQBN)EVvjZ&yx!@qKZgNS{^70E0E~Hi22s+A+DfJJxGr% z&#kK}Q#N5`2^9$GuggLEZ9s-hnyPPQ2R!3(V=6AUVy;U@qatFp=#!G+zy>J(SOD=(O?X;>x!@ z@_YT{vI#ZuuM=swcq>O-lj08SM#s8aLFNTIdW4LhkSYK9z@aYJc){;$mQPlL7j|i* zwQrq(ZzJ)}zEQH1Mb{^#BUFZtM!>WowH}u{{)%qKG<-90%09)D$SaeSxr-@c6DJ~< zm4@y}XHZN(fJ5x1mZ-cP$die?^z0McSJ_u&KdW>~gc>>U%{QGBez{sxez4zYy*zvE z+LH9d7{k^6B0IzUc^Qgvy)n7~mY6i;GM8l0BeQ)^%laA_R+#RVlwyGFHSyAOT6{64 zWZ|6qqN`_t>lj!j@PlQOz|ha!kq2{kGYfsrrV$EOL{Z5A1~AK!f#PKDlE?atk-<`M z!o-3@c)Knrp+8CP+O<{NMGyCqVg^De@KVs%?jfV!@O-7L#%X5K7A&ZO1E>w3g5qR? zXrq+tv!Vi<+m_j11N`%%r~?^ zf{Kx6!;IpWn}}{Tr`?3RnMTYmpqr6ZYp;_HW$uiL0S1A+gua5v=N~Z<_MJNy9Wrf6 zh^G#H>M`H;BdvN{dO?en7e++b-ySob^|A_&K*lUPJBWB$3K_)LM`_o=N+}qG_E92y zpIIKHwep%)>2Sa}u3pCWw7$lN{)N*kP+@Vn;AtG)V#lB`&YOTxT$>b!W8pni?BIq` zg;KGlfRd-BD2QlIMe#xUWwjlob&?O9DGceX8p^ngILd`Af6hcT#accThE=4VSo{u_ z@;S?Dp-ug)u>O?li2p6SU&dmSm*+y`ZNxDkGn2^150F@r>a9idDJU7Ghyt_-T>uo? zwgy?owlpp28*U8%hExCqLJ2c2qI8}BX~(``t>Y~FyM1XR7S+Qp+Dm)V!%)Y1_leKG zd+?S8SILc8Veu~X9(_7z`kK7W*cecnKr;3dvJ}^g+tUsUUg@xOwwd+JjH*uuYpP4= z!;i1&9$5`4Sn*jqIWOgzAbqh=O&?tE&oA0)__d-fzDQq))hxr5?UPBisZrAj)$I!8d7J(FKZMN~_EUB<#r!aMs=QO*!S*Ioiv3 zU!W_`iRu}-3V%b8Y;uhULG{(XC|Yj@t2fM?#lwr}8Di;jJ(^wd_{vV97!%DVrbktY zIRS%n!7|rUh~u=XpL>6G5iZN227*8zF0 zk*?5baIV7;8(8*NRWOH_74sV^9oDX4wot8X^~ay#BjF1~U)^08>24;J=ByD4KQ9!( zE<`&ehs^W0C{={jQer5NGC ze|}EDt%Ryj2D1bYbhS17u3)<;z)ugoGF+Za9w-_+CuNfk6ZliL<(9oBE7~dpRHH06 zJaWi-InAMj%qrSU9l?nO>w1ctQpeGb_pZ{{tK=#M$5eaSQD*|6x5x&3S2nNE@i!z@ zfT0X|U)BSH!&A}&#V#PZ%4*viW;0>>SJ;rJ-S06^-5}Likuo1eADo>17!qYe3ny_t z$G9D|I%nFCW8*+-7^ZYlu=Es$I`dJobI6}*5>>L#{99JFZ+y8;#ksdc*{0BhkZixx zyJ4dYh`!{mQR`2E&RsL|r&1W|&{y9lG0zOyop5gZFcoW7)oR{0UlwG|Z{!>Bv7VAA zDHxJ`3P$Opodjf`iFkDsB>o9lIu~#u5Tv8jKnsigl+B+s)bgb#1}x(+OUnQ2pm&Od zvR;*8HouOt;w-l94v%#h|1BA}l+Hxk>D2wNX#Si$jba5lXbS-op$1ZoHcv}Qh5RmQ z$Tdcj8RIq_2U=wrvY7u#5EdyTTFIt)#ub^{`yL~1xKMEzf30PRNYkV1{ReSZO7tga zN{&B17Szq2oQ z&3|aU*7~p}4!t&ace7Z}@^gDtr1PV@?$W@U;KDUq&^&;ChXjve6sxlThXnpys5Q$d zV6{>>&URQp>~IXbFWzlsRb*wfwqk~C6-$TovV^2Z$yKJaHJz8+^?q{H#>o8lHs6e+ zA@#Iz5Xthb?_1o*%>DfpJ|tq)V3tg-9yTxDzPQx(0jQg|JZO%(P$WlX+TfgSJb^JM zM3JTH75Z9WaI5p0cmbgrKYdljJPvr)AK8blBz^(Y^llps6nV$vZ zq69ldyD}BXIbs@y_hUpY72_Dq_4>wZ2o1A_T2LWFyAR~_A!8(HMJgj?rYl8TBb<8Y zT1SX!r|jqMQm?)Iiu-+oBg&^?zvwQm^z<^fll*-Q-wt#r0m!-6AF`-L6xaiApogBYA=6hcE| z#SB?Rrnda#gSSbeb@T?O&fVv=SP3E@^%_CDWjEPmpi&J8adj}QGtI-3SNMzqzt7eH zN7g?z@{h@++^^^VB+^HH$y@rjn-ZOIzn~dlN2c(SGv-ilTpq!n*KO8(?=JTUZ}S6f z$$^zZ*#1YNTE{ymGp58Bn#HD{1>!hdX})rOFf?@}5Q6&cT))~H`{OWC6u|>!mZWNn zXH7^ufaC#moX#Su_xo>q(m5~)>1m4ktv95|yVf@@NQiM6+(c~599}AkZMv@~eS#j| zpK2LPLusG#8=!Dnl=^dtqjS)S7{9KfMr6^R^e|yBy?z0^rCy!+i*Q!y%Y`b=z6p+> z-^j@qRukn(7$L!8KB>Z3TRn%MH$En3--#uUe?2_Rl|ta(TTJx?bHk^lO041G(>+eP zF6pIx|{Qb%8 z53`+5)@2pAYVV##&RVdQfNq3{D1|!~ia>(X0bCl%n^Lc?(H@TX5z1lzru^e1 z3A2+M0yURCO0L$iu_j_`!mAY>9$lvW6N8m^wM;9<^#kDq-1w`^PsS|IpMRKk5jT{gUlKk80LAfLg)7u!^(xs1VFnx;vwK2klDdwa5lOc|Eg+JhO^AD7?=ueeD(I?k;#qzs{Kg$JfHjIF4h z(fAt0!kb<+8Znj^fEG`k16T#;J1NS^0flmydIBwsuJ65!?dI2}T~PPe?6>HXJzy<9 zwb^wzjW9>Wvg>C1$y}4{qbZw?ws>*$I^Vk?<+8WsyWS1Ej|m4|imUrgQO>{B>kdrs zEBXcVlT=U{MV8TWh`&Q2T8X@GT$wv|R&5SkL0emTvzj`enu2}DYhIgf4YWEgP85M{ zupN@i5e8m{@hzgSeTN|<(Ku6jh<8()be~>OZ=H{i=r-5mTc+&j^6_n#;#G-kn&%kd zta`MR`ZM8<&Z$W@_q-OC+?BkVx0ZUDJ7F2lwo9|@h;qm>%ODB8s@aJjZCu@J6!_5+ zJ*SnWHeXej_;vxqezC{F_y^#nTFr^g%QxgfNXvO_9<%s8(bWXdS>rfImcH8K*5;Fx z$Jp%YLJlSKdLhJFWJ&J#6$wnVU78XHjY~0Mr6GQPJim=+%l8+#TvPVwN+w-(vFo)_ zLc7bhJsQ=k=hrr%8wW;=Iu3}z7g`}9Bl$)ZAsx2m3PEd8@;9-;#*H)zjQ(9EQ|Mlg zsQ#c~@3JD$>yO~pwH&(v@L+4_)X!w0TrG?CViE$2zybM+Z)Ek!C-Hn=tx4%XNmf?8 z01TP}JWWx5b9MF)k8sy1W}h#Jt9$q<%IF-3K!iEj0J$rA$E zBUubsl{tpHiJxNozkVk`6LI|8C0z5;MO>oiYGVX;?jYnzXk=Znl(H{Kz*?wr`{#_R zMkVZ0yqmoYtO_R%?G`%T&heWinw|Ou`}B)Y*TQMu zSrcby=LSD1J)#y&cdZHur>|H)zZb5$)-`mO;{An7Re4md@_eRr_N7519p$aLLGauk$aVVHV+$9n#)nIHkcRF?a&=A@7uEU^2+wENaF#*h z6z)0Fqs2uSq@eYZF-j`{gEN4SlkdWQ2>S?{Z|uArud(;`HP3Z@L0`*PP5&=n*EmZ* zYF8o1F;&VkEicsNwQ~pw%jGHqT99Y(XQtQjO{)jfp7LL?wCd1|$i@`K$loFj&H?v* z9N_{bx0Z*Y5AqmcL;k;gPP_YBP^A-*%CFO7#^LdgeDBnxgF&hj(2LtAfQB*>GABUt zf3oIMmafDv5dnY>1^@v6pV@CWZ?8Ar|1tMn|Cvq^QR<&5^uf6ZCxHh5;1%Itneyip zx{bAi1-FBXg`EvA*Be*6f0sY62Q!L1{0l~s!<`5F0RS)w_8LGB(34q z$Z@|NC8xT=;Zn=$;TH=LUZ;~_pl`|8?tDktq4Y&^NeQ8f35`gh zRRe4t24sx9{(1OOLfy@EUxTR1BaOdDbiH0|93>ai=fY^h?2mL7lkS(adwD!hfjyf5cs?iD^6f?Cel|W|r!iRW))TIrKjnI!q_J9l!Bl z0oUH;^jvp{jB?qCa4qMR!ef&qgKcB_ex${@{Ml>*Wqqmg-O`q*K;oqQqti9h%UMGI z0eB?evRuoS9x6B8Z_F&s^W_qfVJUrVD=kzuMVl;owx~%%?Bdrg_!1S>57*65JL>%@%U#^-IrZOod==WO7u7W1`CJ@p{DU3Ae-i$$iW?d+N7 z2*u{{>wg1jn^d`278RH&q|y!5->koIKejHWVd6R!?JXcSL6=c9)30(AYb@H%F$8!4 z4}SZ--xTY;y0TVadEIn6z#5}E3F2;@^vLHkyxhi5I~S!!c4mDnHiK;+NX*J0^3eXY zh)SxHvrZ+a*nao^2q$V^vrR5$13C@`z?dn4MF>-{5lSF0<^Og9J=5@9o{9LYAj8P0 zfYJzEFheS!6rutn>=PAG0-+r?O9hlfWW$9KfuEa4FfH(NlXMoA1P0Pk{_kh{A2|Pj ziz9`NgMpkVf9n&5Kn)~9x*`MqEl=2QFc1V&pazm75mNkpiWwF|4a7tFdum{LfAs}X c{&(NMW`O7H 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 0 - locDegOriginal = Murat.data.locDegOriginal; + locDegOriginal = Murat.rays.locDegOriginal; FName_Cluster = 'Clustering'; clustering = Murat_imageDeclustering(... locDegOriginal,evestazDegrees,origin,ending,FName_Cluster); @@ -195,7 +194,7 @@ A_k = A_i(rtQk,rcQk); luntot_k = luntot(rtQk); time0_k = time0(rtQk); - rapsp_k = rapsp(rtQk,k); + rapsp_k = energyRatio(rtQk,k); tCm = tCoda(rtQk,k); Q_k = Qm(rtQk,k); @@ -220,7 +219,6 @@ modv_Qc_k = modv_Qc(:,:,k); modv_Q_k = modv_Q(:,:,k); [X,Y,Z1,mPD] = Murat_fold(x,y,z,modv_pd_k(:,4)); - [~,~,~,PD_cts] = Murat_fold(x,y,z,modv_pd_k(:,5)); [~,~,~,mQc] = Murat_fold(x,y,z,modv_Qc_k(:,4)); [~,~,~,mQ] = Murat_fold(x,y,z,modv_Q_k(:,4)); Z = Z1/1000; @@ -442,7 +440,7 @@ %% % Final figure is the Qc vs frequency relation storeFolder = 'Tests'; -Murat.data.averageQcFrequency = averageQcFrequency; +Murat.Qc.averageQcFrequency = averageQcFrequency; Qcf_title = 'Qc vs Frequency'; QcFrequency = Murat_imageQcFrequency(cf,... averageQcFrequency,sizeTitle,Qcf_title); diff --git a/bin/Murat_selection.m b/bin/Murat_selection.m index 603fb9d..70e5b4a 100644 --- a/bin/Murat_selection.m +++ b/bin/Murat_selection.m @@ -11,20 +11,19 @@ fT = Murat.input.fitTresholdLinear; QcM = Murat.input.QcMeasurement; -Apd_i =... - Murat.data.inversionMatrixPeakDelay; -A_i = Murat.data.inversionMatrixQ; -Ac_i = Murat.data.inversionMatrixQc; -peakd = Murat.data.peakDelay; -luntot = Murat.data.totalLengthRay; -tPS = Murat.data.theoreticalTime; -evestaz = Murat.data.locationsDeg; -Qm = Murat.data.inverseQc; -RZZ = Murat.data.uncertaintyQc; -rapsp = Murat.data.energyRatioBodyCoda; -rapspcn = Murat.data.energyRatioCodaNoise; -raysplot = Murat.data.raysPlot; -tCoda = Murat.data.tCoda; +Apd_i = Murat.PD.inversionMatrixPeakDelay; +A_i = Murat.Q.inversionMatrixQ; +Ac_i = Murat.Qc.inversionMatrixQc; +peakd = Murat.PD.peakDelay; +luntot = Murat.rays.totalLengthRay; +tPS = Murat.rays.theoreticalTime; +evestaz = Murat.rays.locationsDeg; +Qm = Murat.Qc.inverseQc; +RZZ = Murat.Qc.uncertaintyQc; +rapsp = Murat.Q.energyRatioBodyCoda; +rapspcn = Murat.Q.energyRatioCodaNoise; +raysplot = Murat.rays.raysPlot; +tCoda = Murat.Qc.tCoda; dataL = size(peakd,1); dataFreq = size(peakd,2); @@ -118,30 +117,30 @@ end -Murat.data.peakDelay = peakd; -Murat.data.totalLengthRay = luntot; -Murat.data.tCoda = tCoda; -Murat.data.locationsDeg = evestaz; -Murat.data.inverseQc = Qm; -Murat.data.uncertaintyQc = RZZ; -Murat.data.problemPD = problemPD; -Murat.data.problemQc = problemQc; -Murat.data.problemRZZ = problemRZZ; -Murat.data.problemQ = problemQ; -Murat.data.energyRatioBodyCoda = rapsp; -Murat.data.energyRatioCodaNoise = rapspcn; -Murat.data.raysPlot = raysplot; -Murat.data.variationPeakDelay = lpdelta; -Murat.data.travelTime = time0; -Murat.data.fitrobust = fitrobust; -Murat.data.retainPeakDelay = retain_pd; -Murat.data.retainQc = retain_Qm; -Murat.data.retainQ = retain_Q; -Murat.data.raysPeakDelay = ray_crosses_pd; -Murat.data.raysQc = ray_crosses_Qc; -Murat.data.raysQ = ray_crosses_Q; -Murat.data.inversionMatrixPeakDelay = Apd_i; -Murat.data.inversionMatrixQc = Ac_i; -Murat.data.inversionMatrixQ = A_i; +Murat.PD.peakDelay = peakd; +Murat.rays.totalLengthRay = luntot; +Murat.Qc.tCoda = tCoda; +Murat.rays.locationsDeg = evestaz; +Murat.Qc.inverseQc = Qm; +Murat.Qc.uncertaintyQc = RZZ; +Murat.PD.problemPD = problemPD; +Murat.Qc.problemQc = problemQc; +Murat.Qc.problemRZZ = problemRZZ; +Murat.Q.problemQ = problemQ; +Murat.Q.energyRatioBodyCoda = rapsp; +Murat.Q.energyRatioCodaNoise = rapspcn; +Murat.rays.raysPlot = raysplot; +Murat.PD.variationPeakDelay = lpdelta; +Murat.rays.travelTime = time0; +Murat.PD.fitrobust = fitrobust; +Murat.PD.retainPeakDelay = retain_pd; +Murat.Qc.retainQc = retain_Qm; +Murat.Q.retainQ = retain_Q; +Murat.PD.raysPeakDelay = ray_crosses_pd; +Murat.Qc.raysQc = ray_crosses_Qc; +Murat.Q.raysQ = ray_crosses_Q; +Murat.PD.inversionMatrixPeakDelay = Apd_i; +Murat.Qc.inversionMatrixQc = Ac_i; +Murat.Q.inversionMatrixQ = A_i; end From 44285cb642ee500a974847abcf2b79d008196316 Mon Sep 17 00:00:00 2001 From: Luca De Siena Date: Wed, 5 Jun 2024 12:10:28 +0200 Subject: [PATCH 3/3] Correcting several typos in descriptions of functions --- bin/Murat_checks.m | 4 +--- bin/Murat_cornering.m | 4 ++-- bin/Murat_dataWarning.m | 1 + bin/Murat_declustering.m | 7 +++++-- bin/Murat_image3D.m | 8 ++++---- bin/Murat_image3D_2panels.m | 3 +-- bin/Murat_image3Dparameters.m | 4 ++-- bin/Murat_imageCheckQc.m | 2 +- bin/Murat_imageDeclustering.m | 2 +- bin/Murat_imageParameters.m | 1 + bin/Murat_imageParametersMaps.m | 16 +++++++++++----- bin/Murat_modv1D.m | 4 ++-- bin/Murat_modv3D.m | 1 + 13 files changed, 33 insertions(+), 24 deletions(-) diff --git a/bin/Murat_checks.m b/bin/Murat_checks.m index 1a13e47..124f004 100644 --- a/bin/Murat_checks.m +++ b/bin/Murat_checks.m @@ -1,9 +1,7 @@ % ADDITIONAL input variables that are not set by the user. function Murat = Murat_checks(Murat) -% INPUTS -%dataDirectory = ['./' Murat.input.dataDirectory]; -dataDirectory = [Murat.input.dataDirectory]; %if data is outside of current folder +dataDirectory = [Murat.input.dataDirectory]; FPath = './'; FLabel = Murat.input.label; PTime = ['SAChdr.times.' Murat.input.PTime]; diff --git a/bin/Murat_cornering.m b/bin/Murat_cornering.m index b858f5f..a39be9d 100644 --- a/bin/Murat_cornering.m +++ b/bin/Murat_cornering.m @@ -14,8 +14,8 @@ % Output parameters: % ip: index of minimum x grid coord - West; % jp: index of minimum y grid coord - South; -% kp: i ndex of maximum z grid coord - shallowest. - +% kp: index of maximum z grid coord - shallowest. +% flag: flags if ray outside of grid % Coordinates of the propagation grid are unwrapped xGrid = gridD.x; diff --git a/bin/Murat_dataWarning.m b/bin/Murat_dataWarning.m index d30a3e0..43cdc89 100644 --- a/bin/Murat_dataWarning.m +++ b/bin/Murat_dataWarning.m @@ -19,6 +19,7 @@ % rapspcn: coda to noise ratio % comp: components % flag: flag to change between one or more components +% QcM: chosen method to measure Qc between Lin e NonLin % % Output parameters: % problempd: stores the data not used because of peak delays diff --git a/bin/Murat_declustering.m b/bin/Murat_declustering.m index 6291bb1..05eb771 100644 --- a/bin/Murat_declustering.m +++ b/bin/Murat_declustering.m @@ -1,11 +1,14 @@ function Murat = Murat_declustering(Murat,factor) % function Murat = Murat_declustering(Murat,factor) % -% PLOTS rays before and after declustering +% SAVES declustered variables and PLOTS rays before and after declustering. +% The declustering is based on dividing the original grid into finer node +% spacing and selecting those with the best coda decay. % % Input parameters: % Murat: Murat structure variable -% factor: factor by which original grid is divided into +% factor: input factor used to divide the original grid + components = Murat.input.components; origin = Murat.input.origin; ending = Murat.input.end; diff --git a/bin/Murat_image3D.m b/bin/Murat_image3D.m index 3c3a0ff..887cf27 100644 --- a/bin/Murat_image3D.m +++ b/bin/Murat_image3D.m @@ -1,7 +1,7 @@ function [image,mVp,xp,yp,zp,Xp,Yp,Zp] = ... Murat_image3D(X,Y,Z,V,color,sections,evestaz,x,y,z,divi,name) % function image = ... -% Murat_image3D(X,Y,Z,V,color,sections,evestaz,x,y,z,name) +% Murat_image3D(X,Y,Z,V,color,sections,evestaz,x,y,z,divi,name) % % PLOTS a 3D image of a field on slices. % @@ -50,13 +50,13 @@ if max_scale < 1 max_scale = round(max_scale,2); if max_scale == 0 - caxis([-1 1]) + clim([-1 1]) else - caxis([-max_scale max_scale]) + clim([-max_scale max_scale]) end elseif max_scale > 5 max_scale = ceil(max_scale); - caxis([-max_scale max_scale]) + clim([-max_scale max_scale]) end colormap(color); diff --git a/bin/Murat_image3D_2panels.m b/bin/Murat_image3D_2panels.m index 6c1992d..23c4026 100644 --- a/bin/Murat_image3D_2panels.m +++ b/bin/Murat_image3D_2panels.m @@ -1,7 +1,7 @@ function image = ... Murat_image3D_2panels(X,Y,Z,V,color,sections,evestaz,x,y,z) % function image = ... -% Murat_image3D(X,Y,Z,V,color,sections,evestaz,x,y,z,name) +% Murat_image3D(X,Y,Z,V,color,sections,evestaz,x,y,z) % % PLOTS a 3D image of a field on slices on two subpanels. % @@ -16,7 +16,6 @@ % x: x vector % y: y vector % z: z vector -% name: name of the title of the figure % % Output parameters: % image: image produced in one panel diff --git a/bin/Murat_image3Dparameters.m b/bin/Murat_image3Dparameters.m index 14a342c..5ece345 100644 --- a/bin/Murat_image3Dparameters.m +++ b/bin/Murat_image3Dparameters.m @@ -46,10 +46,10 @@ max_scale = max(scale_mVp); if max_scale < 1 max_scale = round(max_scale,2); - caxis([-max_scale max_scale]) + clim([-max_scale max_scale]) elseif max_scale > 5 max_scale = ceil(max_scale); - caxis([-max_scale max_scale]) + clim([-max_scale max_scale]) end colormap(color); diff --git a/bin/Murat_imageCheckQc.m b/bin/Murat_imageCheckQc.m index 633d64f..621957d 100644 --- a/bin/Murat_imageCheckQc.m +++ b/bin/Murat_imageCheckQc.m @@ -12,7 +12,7 @@ % Ac: inverse coda attenuation matrix % sizeTitle: size of title font % Qc_title: title of Qc figure -% QcM: Linearized or Non Linear measurement +% QcM: Linearized or Non Linear Qc measurement % % Output parameters: % Qc_analysis: figure for Qc check diff --git a/bin/Murat_imageDeclustering.m b/bin/Murat_imageDeclustering.m index 15309ae..34c94a6 100644 --- a/bin/Murat_imageDeclustering.m +++ b/bin/Murat_imageDeclustering.m @@ -1,7 +1,7 @@ function clustering = Murat_imageDeclustering(locDegOriginal,... locDegrees,origin,ending,name) % function clustering =... -% Murat_imageDeclustering(locDegOriginal,locDegrees,origin,ending) +% Murat_imageDeclustering(locDegOriginal,locDegrees,origin,ending,name) % % PLOTS 2D rays before and after declustering. % diff --git a/bin/Murat_imageParameters.m b/bin/Murat_imageParameters.m index 3f3843b..a29c116 100644 --- a/bin/Murat_imageParameters.m +++ b/bin/Murat_imageParameters.m @@ -10,6 +10,7 @@ % z: z vector % modv_pd_k: results of peak delay imaging % modv_Qc_k: results of Qc imaging +% sizeTitle: size of the title font % % Output parameters: % image: image produced diff --git a/bin/Murat_imageParametersMaps.m b/bin/Murat_imageParametersMaps.m index 3d9d8cd..2bd2ee5 100644 --- a/bin/Murat_imageParametersMaps.m +++ b/bin/Murat_imageParametersMaps.m @@ -5,18 +5,24 @@ % Murat_imageParametersMaps(par,para_map,x,y,z,X,Y,Z,evestaz_Qc,... % sections,sizeTitle,FName_Parameters) % -% PLOTS the parameter models in their space and on a 3D map +% PLOTS the parameter models in a 3D map % % Input parameters: +% par: condition on the parameters to image +% para_map: parameter map % x: x vector % y: y vector % z: z vector -% modv_pd_k: results of peak delay imaging -% modv_Qc_k: results of Qc imaging +% X: X matrix +% y: Y matrix +% z: Z matrix +% evestaz_Qc: events and stations for Qc +% sections: input sections +% sizeTitle: font size for title +% FName_Parameters: title of the image % % Output parameters: -% image: image produced -% para_condition: condition on the parameters to image +% ParaMap: parameter map 3D image % para_map: parameter map for n = 1:length(par(:,1)) diff --git a/bin/Murat_modv1D.m b/bin/Murat_modv1D.m index 6a83903..2d76cb5 100644 --- a/bin/Murat_modv1D.m +++ b/bin/Murat_modv1D.m @@ -1,7 +1,7 @@ function [modv,pvel,modvPlot]... =... Murat_modv1D(modvXYZ,modvOriginal,PorS,origin) -% function [modv,pvel] =... +% function [modv,pvel,modvPlot]=... % Murat_modv1D(modvXYZ,modvOriginal,PorS,origin) % CREATES the velocity models when using a 1D input % @@ -14,6 +14,7 @@ % Output parameters: % modv: propagation and inversion velocity model % pvel: propagation velocity model in matrix +% modvPlot: velocity model to be plot modv = modvXYZ; z1D = -modvOriginal(:,1)*1000; @@ -42,4 +43,3 @@ modvPlot = [lon2 lat2 modv(:,3:4)]; end - diff --git a/bin/Murat_modv3D.m b/bin/Murat_modv3D.m index eedcc92..20c102a 100644 --- a/bin/Murat_modv3D.m +++ b/bin/Murat_modv3D.m @@ -13,6 +13,7 @@ % mLon: min/max longitudes of earthquakes % nLat: number nodes latitude % nLon: number nodes longitude +% nzc: number nodes vertical % % Output parameters: % modvP: propagation velocity model in standard format