consider bias for Mmax estimation
This commit is contained in:
parent
021b6c8c64
commit
0e48665920
@ -2,14 +2,24 @@ Welcome to the Seismic HAzard Parameters Evaluation (SHAPE) Toolbox!
|
|||||||
|
|
||||||
Find the two versions in the corresponding directories
|
Find the two versions in the corresponding directories
|
||||||
|
|
||||||
SHAPE_ver1.0 - is a Interactive Standalone version
|
SHAPE_ver1 - is a Interactive Standalone version (inputs are set interactively, step by step)
|
||||||
(inputs are set interactively, step by step)
|
REQUIREMENTS: Matlab R2017b or later, with installed Toolboxes:
|
||||||
SHAPE_ver2.0 - is a Wrapper version
|
- 'Statistics and Machine Learning'
|
||||||
(inputs are set in the wrapper script and once launched,
|
- 'Image Processing'
|
||||||
the applications runs without any further interruption)
|
|
||||||
|
|
||||||
please refer to the "READ_ME*******.pdf" file in each directory for further
|
SHAPE_ver2 - is a Wrapper version (inputs are set in the wrapper script and once launched the
|
||||||
instructions on the step-by-step implementation of the applications as well
|
application runs without any further interruption)
|
||||||
as for data requirements and general tips.
|
REQUIREMENTS: Matlab R2017b or later, with installed Toolboxes:
|
||||||
|
- 'Statistics and Machine Learning'
|
||||||
|
|
||||||
|
>> Please refer to the "READ_ME_SHAPE_ver*.pdf" file in each directory for further instructions on
|
||||||
|
step-by-step implementation of the applications as well as for data requirements & general tips.
|
||||||
|
|
||||||
|
>> Your feedback is welcome! contact Dr K. Leptokaropoulos for questions, suggestions or comments:
|
||||||
|
- kleptoka@igf.edu.pl
|
||||||
|
|
||||||
|
>> Please acknowledge any use of SHAPE in your work, by citing:
|
||||||
|
- Leptokaropoulos & Lasocki (2020), SHAPE: A MATLAB Software Package for Time-dependent Seismic
|
||||||
|
Hazard Analysis, Seismol. Res. Lett., doi:
|
||||||
|
|
||||||
ENJOY!
|
ENJOY!
|
Binary file not shown.
@ -1,10 +1,12 @@
|
|||||||
% PROGRAM : SHAPE [Seismic HAzard Parameters Evaluation]
|
% PROGRAM : SHAPE [Seismic HAzard Parameters Evaluation]
|
||||||
% VERSION: V_1.0 [Interactive Standalone Version]
|
% VERSION : V_1.2 [Interactive Standalone Version]
|
||||||
% LAST UPDATED: September 2019
|
% LAST UPDATED: March 2020
|
||||||
% COMPATIBLE with Matlab version 2017b or later
|
% COMPATIBLE : Matlab version 2017b or later
|
||||||
% REQUIREMENTS: "Statistics and Machine Learning" and "Image Processing" Matlab Toolbox installed
|
% REQUIREMENTS: "Statistics and Machine Learning" and "Image Processing" Matlab Toolbox installed
|
||||||
% TOOLBOX: "Hazard Analysis Toolbox" within SERA Project
|
% TOOLBOX : "Hazard Analysis Toolbox" developed within SERA Project
|
||||||
% DOCUMENT: "READ_ME_SHAPE_ver1.pdf"
|
% USER GUIDE : "READ_ME_SHAPE_ver1.pdf"
|
||||||
|
% CITE AS : Leptokaropoulos K. and S. Lasocki (2020), Seismol. Res. Lett., doi:
|
||||||
|
% CONTACT : kleptoka@igf.edu.pl (Dr. Kostas Leptokaropoulos)
|
||||||
% --------------------------------------------------------------------------------------------------------------------
|
% --------------------------------------------------------------------------------------------------------------------
|
||||||
% Time-and-Technology Dependent Seismic Hazard Assessment (SHA)
|
% Time-and-Technology Dependent Seismic Hazard Assessment (SHA)
|
||||||
% --------------------------------------------------------------------------------------------------------------------
|
% --------------------------------------------------------------------------------------------------------------------
|
||||||
@ -24,9 +26,9 @@
|
|||||||
% --------------------------------------------------------------------------------------------------------------------
|
% --------------------------------------------------------------------------------------------------------------------
|
||||||
% AUTHORS: K. Leptokaropoulos and S. Lasocki
|
% AUTHORS: K. Leptokaropoulos and S. Lasocki
|
||||||
% Based on magnitude distribution and stationary hazard parameters estimation functions originally developed by S. Lasocki
|
% Based on magnitude distribution and stationary hazard parameters estimation functions originally developed by S. Lasocki
|
||||||
% Last Updated: 01/2020, within SERA PROJECT, EU Horizon 2020 R&I
|
% Last Updated: 03/2020, within SERA PROJECT, EU Horizon 2020 R&I
|
||||||
% programme under grant agreement No.730900
|
% programme under grant agreement No.730900
|
||||||
% CURRENT VERSION: v1.0 **** [INTERACTIVE STANDALONE VERSION!!]
|
% CURRENT VERSION: v1.2 **** [INTERACTIVE STANDALONE VERSION!!]
|
||||||
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
% PLEASE refer to the accompanying document:
|
% PLEASE refer to the accompanying document:
|
||||||
% "READ_ME_SHAPE_ver1.pdf"
|
% "READ_ME_SHAPE_ver1.pdf"
|
||||||
@ -101,26 +103,28 @@
|
|||||||
% [applies only when "method" is set to 'GRT' or 'NPT']
|
% [applies only when "method" is set to 'GRT' or 'NPT']
|
||||||
% - err : Mmax convergence indicator (0-converge, 1-no converge)
|
% - err : Mmax convergence indicator (0-converge, 1-no converge)
|
||||||
% [applies only when "method" is set to 'GRT' or 'NPT']
|
% [applies only when "method" is set to 'GRT' or 'NPT']
|
||||||
|
% - PDF : 2 columns, first representing magnitudes and second the Probability Density Function of those magnitudes
|
||||||
|
% - PDF : 2 columns, first representing magnitudes and second the Cumulative Distribution Function of those magnitudes
|
||||||
% -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
% -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
% REFERENCES:
|
% REFERENCES:
|
||||||
% Kijko A, Lasocki S, Graham G (2001), Pure Appl. Geophys. 158:1655–1676
|
% Kijko A, Lasocki S, Graham G (2001), Pure Appl. Geophys. 158:1655–1676
|
||||||
% Kijko A, Sellevoll MA (1989), Bull Seismol. Soc. Am. 79:645–654
|
% Kijko A, Sellevoll MA (1989), Bull Seismol. Soc. Am. 79:645–654
|
||||||
|
% Lasocki S (2017), Chapter 11.3 in Rockburst Mechanisms, Oxford, pp 366-380
|
||||||
% Lasocki S, Urban P (2011), Acta Geophys. 59:659–673
|
% Lasocki S, Urban P (2011), Acta Geophys. 59:659–673
|
||||||
% Lasocki S, Orlecka-Sikora B (2008), Tectonophysics 456:28–37
|
% Lasocki S, Orlecka-Sikora B (2008), Tectonophysics 456:28–37
|
||||||
% Leptokaropoulos K, Staszek M, Cielesta S, Urban P, Olszewska D, Lizurek G (2017), Acta Geophys. 65:493-505
|
% Leptokaropoulos K, Staszek M, Cielesta S, Urban P, Olszewska D, Lizurek G (2017), Acta Geophys. 65:493-505
|
||||||
|
% Leptokaropoulos K, Lasocki S (2020), Seismol. Res. Lett., doi: .
|
||||||
% ---------------------------------------------------------------------------------------------------------------------
|
% ---------------------------------------------------------------------------------------------------------------------
|
||||||
% LICENSE
|
% LICENSE
|
||||||
% This is free software: you can redistribute it and/or modify it under
|
% This is free software: you can redistribute it and/or modify it under the terms of the
|
||||||
% the terms of the GNU General Public License as published by the
|
% GNU General Public License as published by the Free Software Foundation, either version
|
||||||
% Free Software Foundation, either version 3 of the License, or
|
% 3 of the License, or (at your option) any later version.
|
||||||
% (at your option) any later version.
|
% This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
%
|
% without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
% This program is distributed in the hope that it will be useful, but
|
% See the GNU General Public License for more details.
|
||||||
% WITHOUT ANY WARRANTY; without even the implied warranty
|
|
||||||
% of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
% PURPOSE. See the GNU General Public License for more details.
|
|
||||||
% -------------------------------------------------------------------------------------------------------------------
|
% -------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
clear;clc
|
clear;clc
|
||||||
mkdir Outputs_SHA
|
mkdir Outputs_SHA
|
||||||
set(0, 'DefaultUICOntrolFontSize', 12)
|
set(0, 'DefaultUICOntrolFontSize', 12)
|
||||||
@ -239,7 +243,7 @@ if (length(time_start_vector) ~= length(time_end_vector)); error('time start and
|
|||||||
case 'File' %K 27JUN2019
|
case 'File' %K 27JUN2019
|
||||||
cd TIME_WINDOWS %K 27JUN2019
|
cd TIME_WINDOWS %K 27JUN2019
|
||||||
d=dir;dstr={d.name}; %K 27JUN2019
|
d=dir;dstr={d.name}; %K 27JUN2019
|
||||||
dlabela='Select Time Windows File:' %K 27JUN2019
|
dlabela='Select Time Windows File:'; %K 27JUN2019
|
||||||
[s,ok]=listdlg('PromptString',dlabela,... %K 27JUN2019
|
[s,ok]=listdlg('PromptString',dlabela,... %K 27JUN2019
|
||||||
'SelectionMode','single','ListString',dstr,... %K 27JUN2019
|
'SelectionMode','single','ListString',dstr,... %K 27JUN2019
|
||||||
'ListSize',[350 250]); %K 27JUN2019
|
'ListSize',[350 250]); %K 27JUN2019
|
||||||
@ -271,27 +275,53 @@ if indx2==1;prompt = {'\fontsize{12} Magnitude:','\fontsize{12} Period Length, (
|
|||||||
elseif indx2==2;prompt = {'\fontsize{12} Magnitude:','\fontsize{12} Period Length, (months):'};
|
elseif indx2==2;prompt = {'\fontsize{12} Magnitude:','\fontsize{12} Period Length, (months):'};
|
||||||
elseif indx2==3;prompt = {'\fontsize{12} Magnitude:','\fontsize{12} Period Length, (years):'};end
|
elseif indx2==3;prompt = {'\fontsize{12} Magnitude:','\fontsize{12} Period Length, (years):'};end
|
||||||
|
|
||||||
|
if indx1==1;method='GRU';elseif indx1==2;method='GRT';elseif indx1==3;method='NPU';else;method='NPT';end
|
||||||
|
|
||||||
|
% SET Mmax for truncated Magnitude distribution
|
||||||
|
|
||||||
|
|
||||||
|
if method=='GRT' | method=='NPT'
|
||||||
|
|
||||||
|
prompt2 = ['\fontsize{12} M_M_a_x (>',num2str(max(Cmag)),' or estimated from catalog):'];
|
||||||
|
dlgtitle2 = 'Set Mmax';
|
||||||
|
dims2 = [1 59]; opts2.Interpreter='tex';
|
||||||
|
definput2 = {'estimated'};
|
||||||
|
answer4 = inputdlg(prompt2,dlgtitle2,dims2,definput2,opts2);
|
||||||
|
|
||||||
|
if strcmp(answer4,'estimated');Mmax=[];
|
||||||
|
%questM='Do you wish to include Mmax Bias?';
|
||||||
|
%answer=questdlg(questM,'Bias Calculation?','Yes','No',opts);
|
||||||
|
|
||||||
|
dlgtitleM='Mmax Bias estimation';
|
||||||
|
promptM={'\fontsize{12} Enter number of synthetic samples (N>1):'};
|
||||||
|
dimsM=[1 57];opts.Interpreter='tex';
|
||||||
|
definputM={num2str(max(1000))};
|
||||||
|
answer3=inputdlg(promptM,dlgtitleM,dimsM,definputM,opts);
|
||||||
|
Nsynth=str2double(answer3);
|
||||||
|
cd SSH/
|
||||||
|
if strcmp(method,'GRT')==1 & isempty(Mmax)==1;
|
||||||
|
[p1,p2,p3,p4,p5,pb,Mmax,err,BIAS,SD]=TruncGR_O(Ctime,Cmag,0,Mc,Mmax,Nsynth);
|
||||||
|
Mmax=Mmax+BIAS;
|
||||||
|
elseif strcmp(method,'NPT')==1 & isempty(Mmax)==1;
|
||||||
|
[p1,p2,p3,p4,p5,p6,p7,p8,p9,Mmax,err,BIAS,SD]=Nonpar_tr_O(Ctime,Cmag,0,Mc,Mmax,Nsynth);
|
||||||
|
Mmax=Mmax+BIAS;
|
||||||
|
end
|
||||||
|
cd ../
|
||||||
|
disp([newline 'Corrected Mmax=',num2str(Mmax)]);
|
||||||
|
else Mmax=str2double(answer4{1});
|
||||||
|
end
|
||||||
|
|
||||||
|
else Mmax=[];
|
||||||
|
end
|
||||||
|
|
||||||
% SHA parameters (Magnitude and Time Period)
|
% SHA parameters (Magnitude and Time Period)
|
||||||
dlgtitle = 'Parameters for Hazard Analysis';
|
dlgtitle = 'Parameters for Hazard Analysis';
|
||||||
dims = [1 55]; opts.Interpreter='tex';
|
dims = [1 55]; opts.Interpreter='tex';
|
||||||
definput = {num2str(max(Cmag)),'1'};
|
definput = {num2str(max(Cmag)),'1'};
|
||||||
answer3 = inputdlg(prompt,dlgtitle,dims,definput,opts);
|
answer3 = inputdlg(prompt,dlgtitle,dims,definput,opts);
|
||||||
|
|
||||||
|
|
||||||
if indx1==1;method='GRU';elseif indx1==2;method='GRT';elseif indx1==3;method='NPU';else;method='NPT';end
|
|
||||||
iop=indx2-1;time_period=str2double(answer3(2));mag=str2double(answer3(1));
|
iop=indx2-1;time_period=str2double(answer3(2));mag=str2double(answer3(1));
|
||||||
|
|
||||||
% SET Mmax for truncated Magnitude distribution
|
|
||||||
if method=='GRT' | method=='NPT'
|
|
||||||
prompt2 = {'\fontsize{12} M_M_a_x (>Maximum Catalog Record):'};
|
|
||||||
dlgtitle2 = 'Set Mmax';
|
|
||||||
dims2 = [1 55]; opts2.Interpreter='tex';
|
|
||||||
definput2 = {'adaptive'};
|
|
||||||
answer4 = inputdlg(prompt2,dlgtitle2,dims2,definput2,opts2);
|
|
||||||
|
|
||||||
if strcmp(answer4,'adaptive');Mmax=[];else Mmax=str2double(answer4{1});end
|
|
||||||
else Mmax=[];
|
|
||||||
end
|
|
||||||
|
|
||||||
%% ************* STEP_7: GENERATE AND SAVE OUTPUTS **************
|
%% ************* STEP_7: GENERATE AND SAVE OUTPUTS **************
|
||||||
|
|
||||||
@ -476,6 +506,9 @@ end
|
|||||||
|
|
||||||
function [HP] = TDHMagDistWrapper(method, time_win_data, mmin, iop,Mmax)
|
function [HP] = TDHMagDistWrapper(method, time_win_data, mmin, iop,Mmax)
|
||||||
cd SSH
|
cd SSH
|
||||||
|
for j=1:size(time_win_data,2);M1(j)=max(time_win_data(j).M);end
|
||||||
|
Mmaxcat=max(M1);Mmax=max([Mmaxcat Mmax])
|
||||||
|
|
||||||
for i=1:size(time_win_data,2)
|
for i=1:size(time_win_data,2)
|
||||||
mags_vec = time_win_data(i).M;
|
mags_vec = time_win_data(i).M;
|
||||||
time_vec = time_win_data(i).Time;
|
time_vec = time_win_data(i).Time;
|
||||||
@ -486,31 +519,40 @@ cd SSH
|
|||||||
case 'GRU'
|
case 'GRU'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b]=UnlimitGR(time_vec, mags_vec, iop, mmin);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b]=UnlimitGR(time_vec, mags_vec, iop, mmin);
|
||||||
HP(i).Mmax=NaN;
|
HP(i).Mmax=NaN;eps=HP(i).eps;
|
||||||
|
[m, PDF_GRU, CDF_GRU]=dist_GRU(mmin,Mmax+eps,eps,mmin,eps,HP(i).b); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_GRU];HP(i).CDF=[m CDF_GRU]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN;HP(i).Mmax=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN;HP(i).Mmax=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
case 'GRT'
|
case 'GRT'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b, HP(i).Mmax, HP(i).err]=TruncGR_O(time_vec, mags_vec, iop, mmin,Mmax);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b, HP(i).Mmax, HP(i).err]=TruncGR_O(time_vec, mags_vec, iop, mmin,Mmax);
|
||||||
|
eps=HP(i).eps;[m, PDF_GRT, CDF_GRT]=dist_GRT(mmin,Mmax+eps,eps,mmin,eps,HP(i).b,Mmax); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_GRT];HP(i).CDF=[m CDF_GRT]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN; HP(i).Mmax=NaN; HP(i).err=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN; HP(i).Mmax=NaN; HP(i).err=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
case 'NPU'
|
case 'NPU'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd]=Nonpar_O(time_vec, mags_vec, iop, mmin);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd]=Nonpar_O(time_vec, mags_vec, iop, mmin);
|
||||||
HP(i).Mmax=NaN;
|
HP(i).Mmax=NaN;eps=HP(i).eps;
|
||||||
|
[m, PDF_NPU, CDF_NPU]=dist_NPU(mmin,Mmax+eps,eps,mmin,eps,HP(i).h,HP(i).xx,HP(i).ambd); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_NPU];HP(i).CDF=[m CDF_NPU]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[];HP(i).Mmax=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[];HP(i).Mmax=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
case 'NPT'
|
case 'NPT'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd, HP(i).Mmax, HP(i).err]=Nonpar_tr_O(time_vec, mags_vec, iop, mmin,Mmax);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd, HP(i).Mmax, HP(i).err]=Nonpar_tr_O(time_vec, mags_vec, iop, mmin,Mmax);
|
||||||
|
eps=HP(i).eps;
|
||||||
|
[m, PDF_NPT, CDF_NPT]=dist_NPT(mmin,Mmax+eps,eps,mmin,eps,HP(i).h,HP(i).xx,HP(i).ambd,Mmax); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_NPT];HP(i).CDF=[m CDF_NPT]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[]; HP(i).Mmax=NaN; HP(i).err=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[]; HP(i).Mmax=NaN; HP(i).err=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
cd Outputs_SHA
|
cd Outputs_SHA
|
||||||
fid=fopen('REPORT_Hazard_Analysis.txt','w');
|
fid=fopen('REPORT_Hazard_Analysis.txt','w');
|
||||||
fprintf(fid,['Parameters Report & Results for HAZARD ANALYSIS (created on ', datestr(now),')\n']);
|
fprintf(fid,['Parameters Report & Results for HAZARD ANALYSIS (created on ', datestr(now),')\n']);
|
||||||
fprintf(fid,['Parameters Estimated: Mean Return Period (MRP) and Exceedance Probability (EPR) \n']);
|
fprintf(fid,['Parameters Estimated: Mean Return Period (MRP) and Exceedance Probability (EP) \n']);
|
||||||
fprintf(fid,'------------------------------------------------------------------------------------\n');
|
fprintf(fid,'------------------------------------------------------------------------------------\n');
|
||||||
fprintf(fid,['<Magnitude Scale Selected >: ', Mtype,'\n']);
|
fprintf(fid,['<Magnitude Scale Selected >: ', Mtype,'\n']);
|
||||||
fprintf(fid,['<Time Unit >: ', list2{indx2},'\n']);
|
fprintf(fid,['<Time Unit >: ', list2{indx2},'\n']);
|
||||||
@ -29,13 +29,13 @@ SN(j)=j;Nevents(j)=numel(time_windows(j).M);TS(j)=time_windows(j).Tstart;TE(j)=t
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
fprintf(fid,[' Set N Starting Date/Time Ending Date/Time events MRP EPR b-value Mmax \n']);
|
fprintf(fid,[' Set N Starting Date/Time Ending Date/Time events MRP EP b-value Mmax \n']);
|
||||||
fprintf(fid,[' per ',HP(1).unit, ' ',HP(1).unit,'s' '\n']);
|
fprintf(fid,[' per ',HP(1).unit, ' ',HP(1).unit,'s' '\n']);
|
||||||
for i=1:numel(HP)
|
for i=1:numel(HP)
|
||||||
if strcmp(method,'GRU')==1 || strcmp(method,'GRT')==1;
|
if strcmp(method,'GRU')==1 || strcmp(method,'GRT')==1;
|
||||||
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %5.3f %4.2f \n'],SN(i),Nevents(i),datestr(TS(i)),datestr(TE(i)),lambda(i),MRPer(i),ExPr(i),bval(i),HP(i).Mmax);
|
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %5.3f %4.2f \n'],SN(i),Nevents(i),datestr(TS(i),0),datestr(TE(i),0),lambda(i),MRPer(i),ExPr(i),bval(i),HP(i).Mmax);
|
||||||
else
|
else
|
||||||
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %s %4.2f \n'],SN(i),Nevents(i),datestr(TS(i)),datestr(TE(i)),lambda(i),MRPer(i),ExPr(i),'NaN',HP(i).Mmax);
|
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %s %4.2f \n'],SN(i),Nevents(i),datestr(TS(i),0),datestr(TE(i),0),lambda(i),MRPer(i),ExPr(i),'NaN',HP(i).Mmax);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -64,6 +64,8 @@ for i=1:length(HP)
|
|||||||
SHA(i).err=HP(i).err;
|
SHA(i).err=HP(i).err;
|
||||||
else
|
else
|
||||||
end
|
end
|
||||||
|
SHA(i).PDF=HP(i).PDF; %K29JAN2020
|
||||||
|
SHA(i).CDF=HP(i).CDF; %K29JAN2020
|
||||||
end
|
end
|
||||||
|
|
||||||
prompt={'\fontsize{12} Please enter output file name:'};
|
prompt={'\fontsize{12} Please enter output file name:'};
|
||||||
|
Binary file not shown.
@ -1,10 +1,12 @@
|
|||||||
% PROGRAM : SHAPE [Seismic HAzard Parameters Evaluation]
|
% PROGRAM : SHAPE [Seismic HAzard Parameters Evaluation]
|
||||||
% VERSION: V_2.0 [Wrapper (fast) Standalone Version]
|
% VERSION : V_2.2 [Wrapper (fast) Standalone Version]
|
||||||
% LAST UPDATED: September 2019
|
% LAST UPDATED: March 2020
|
||||||
% COMPATIBLE with Matlab version 2017b or later
|
% COMPATIBLE : Matlab version 2017b or later
|
||||||
% REQUIREMENTS: "Statistics and Machine Learning" Matlab Toolbox installed
|
% REQUIREMENTS: "Statistics and Machine Learning" Matlab Toolbox installed
|
||||||
% TOOLBOX: "Hazard Analysis Toolbox" within SERA Project
|
% TOOLBOX : "Hazard Analysis Toolbox" developed within SERA Project
|
||||||
% DOCUMENT: "READ_ME_SHAPE_ver2.docx"
|
% USER GUIDE : "READ_ME_SHAPE_ver2.docx"
|
||||||
|
% CITE AS : Leptokaropoulos K. and S. Lasocki (2020), Seismol. Res. Lett., doi:
|
||||||
|
% CONTACT : kleptoka@igf.edu.pl (Dr. Kostas Leptokaropoulos)
|
||||||
% --------------------------------------------------------------------------------------------------------------------
|
% --------------------------------------------------------------------------------------------------------------------
|
||||||
% Time-and-Technology Dependent Seismic Hazard Assessment (SHA)
|
% Time-and-Technology Dependent Seismic Hazard Assessment (SHA)
|
||||||
% --------------------------------------------------------------------------------------------------------------------
|
% --------------------------------------------------------------------------------------------------------------------
|
||||||
@ -23,9 +25,9 @@
|
|||||||
% --------------------------------------------------------------------------------------------------------------------
|
% --------------------------------------------------------------------------------------------------------------------
|
||||||
% AUTHORS: K. Leptokaropoulos and S. Lasocki
|
% AUTHORS: K. Leptokaropoulos and S. Lasocki
|
||||||
% Based on magnitude distribution and stationary hazard parameters estimation functions originally developed by S. Lasocki
|
% Based on magnitude distribution and stationary hazard parameters estimation functions originally developed by S. Lasocki
|
||||||
% Last Updated: 01/2020, within SERA PROJECT, EU Horizon 2020 R&I
|
% Last Updated: 03/2020, within SERA PROJECT, EU Horizon 2020 R&I
|
||||||
% programme under grant agreement No.730900
|
% programme under grant agreement No.730900
|
||||||
% CURRENT VERSION: v2.0 **** [WRAPPER (fast) STANDALONE VERSION!!]
|
% CURRENT VERSION: v2.2 **** [WRAPPER (fast) STANDALONE VERSION!!]
|
||||||
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
% PLEASE refer to the accompanying document:
|
% PLEASE refer to the accompanying document:
|
||||||
% "READ_ME_SHAPE_ver2.pdf"
|
% "READ_ME_SHAPE_ver2.pdf"
|
||||||
@ -53,12 +55,10 @@
|
|||||||
% STEP_6. Plotting (optional)
|
% STEP_6. Plotting (optional)
|
||||||
% STEP_7. save OUTPUTS
|
% STEP_7. save OUTPUTS
|
||||||
% ---------------------------------------------------------------------------------------------------------------------
|
% ---------------------------------------------------------------------------------------------------------------------
|
||||||
%% INPUT: All input data are sufficiently explained in the script as well as
|
%% INPUT: All input data are sufficiently explained in the script as well as while running the code
|
||||||
% while running the code (interaction with the user). NOTE that
|
% (interaction with the user). NOTE that all input files (seismic catalog, production data,
|
||||||
% all input files (seismic catalog, production data, time windows)
|
% time windows) must be in ASCII format (i.e. *.txt). Please refer to the APPLICATION DOCUMENTATION
|
||||||
% must be in ASCII format (i.e. *.txt).
|
% for further instructions and input data requirement specifications: "READ_ME_SHAPE_ver2.pdf"
|
||||||
% Please refer to the APPLICATION DOCUMENTATION for further
|
|
||||||
% instructions and input data requirement specifications: "READ_ME_SHAPE_ver2.pdf"
|
|
||||||
% ----------------------------------------------------------------------------------------------------------------------
|
% ----------------------------------------------------------------------------------------------------------------------
|
||||||
%% OUTPUT:
|
%% OUTPUT:
|
||||||
% <> Output Report with summary of the Results as well as data and parameters used
|
% <> Output Report with summary of the Results as well as data and parameters used
|
||||||
@ -88,29 +88,31 @@
|
|||||||
% [applies only when "method" is set to 'GRT' or 'NPT']
|
% [applies only when "method" is set to 'GRT' or 'NPT']
|
||||||
% - err : Mmax convergence indicator (0-converge, 1-no converge)
|
% - err : Mmax convergence indicator (0-converge, 1-no converge)
|
||||||
% [applies only when "method" is set to 'GRT' or 'NPT']
|
% [applies only when "method" is set to 'GRT' or 'NPT']
|
||||||
|
% - PDF : 2 columns, first representing magnitudes and second the Probability Density Function of those magnitudes
|
||||||
|
% - PDF : 2 columns, first representing magnitudes and second the Cumulative Distribution Function of those magnitudes
|
||||||
% -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
% -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
% REFERENCES:
|
% REFERENCES:
|
||||||
% Kijko A, Lasocki S, Graham G (2001), Pure Appl. Geophys. 158:1655–1676
|
% Kijko A, Lasocki S, Graham G (2001), Pure Appl. Geophys. 158:1655–1676
|
||||||
% Kijko A, Sellevoll MA (1989), Bull Seismol. Soc. Am. 79:645–654
|
% Kijko A, Sellevoll MA (1989), Bull Seismol. Soc. Am. 79:645–654
|
||||||
|
% Lasocki S (2017), Chapter 11.3 in Rockburst Mechanisms, Oxford, pp 366-380
|
||||||
% Lasocki S, Urban P (2011), Acta Geophys. 59:659–673
|
% Lasocki S, Urban P (2011), Acta Geophys. 59:659–673
|
||||||
% Lasocki S, Orlecka-Sikora B (2008), Tectonophysics 456:28–37
|
% Lasocki S, Orlecka-Sikora B (2008), Tectonophysics 456:28–37
|
||||||
% Leptokaropoulos K, Staszek M, Cielesta S, Urban P, Olszewska D, Lizurek G (2017), Acta Geophys. 65:493-505
|
% Leptokaropoulos K, Staszek M, Cielesta S, Urban P, Olszewska D, Lizurek G (2017), Acta Geophys. 65:493-505
|
||||||
|
% Leptokaropoulos K, Lasocki S (2020), Seismol. Res. Lett., doi: .
|
||||||
% ---------------------------------------------------------------------------------------------------------------------
|
% ---------------------------------------------------------------------------------------------------------------------
|
||||||
% LICENSE
|
% LICENSE
|
||||||
% This is free software: you can redistribute it and/or modify it under
|
% This is free software: you can redistribute it and/or modify it under the terms of the
|
||||||
% the terms of the GNU General Public License as published by the
|
% GNU General Public License as published by the Free Software Foundation, either version
|
||||||
% Free Software Foundation, either version 3 of the License, or
|
% 3 of the License, or (at your option) any later version.
|
||||||
% (at your option) any later version.
|
% This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
% This program is distributed in the hope that it will be useful, but
|
% without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
% WITHOUT ANY WARRANTY; without even the implied warranty
|
% See the GNU General Public License for more details.
|
||||||
% of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
% PURPOSE. See the GNU General Public License for more details.
|
|
||||||
% -------------------------------------------------------------------------------------------------------------------
|
% -------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
clc;clear;
|
clc;clear;
|
||||||
close all;
|
close all;mkdir Outputs_SHA
|
||||||
|
|
||||||
% PLEASE SET INPUT ARGUMENTS [LINES 115-131]
|
% PLEASE SET INPUT ARGUMENTS [LINES 117-134]
|
||||||
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
SEIS_DATA='ST2_SEIS_Data.txt'; % Seismic Data File - NOTE: SEIS_DATA=[] is valid as well
|
SEIS_DATA='ST2_SEIS_Data.txt'; % Seismic Data File - NOTE: SEIS_DATA=[] is valid as well
|
||||||
SEIS_FIELDS='ST2_SEIS_Fields.txt'; % Seismic Data Fields File
|
SEIS_FIELDS='ST2_SEIS_Fields.txt'; % Seismic Data Fields File
|
||||||
@ -119,13 +121,14 @@ PROD_FIELDS='ST2_PROD_Fields.txt'; % Production Data (non-seismic) Fie
|
|||||||
PROD_FIELD=2; % field (column) corresponding to a selected Production Parameter
|
PROD_FIELD=2; % field (column) corresponding to a selected Production Parameter
|
||||||
MScale='ML'; % Magnitude Scale (e.g. 'ML', 'Mw' etc). NOTE: MScale=[] is also valid
|
MScale='ML'; % Magnitude Scale (e.g. 'ML', 'Mw' etc). NOTE: MScale=[] is also valid
|
||||||
Mc=1.0; % Select Mc
|
Mc=1.0; % Select Mc
|
||||||
Mmax=3.5; % Valid for GRT and NPT/ if Mmax=[], it is calculated internally
|
Mmax=[]; % Valid for GRT and NPT/ if Mmax=[], it is calculated internally
|
||||||
winmode='File'; % Select MODE for windows creation: 'Time' or 'Events' or 'File'
|
Nsynth=1000; % number of trials to estimated Mmax bias/ if Nsynth=[], no bias is estimated
|
||||||
|
winmode='Time'; % Select MODE for windows creation: 'Time' or 'Events' or 'File'
|
||||||
file_n='ST2_test_timewindows.txt'; % Select file name with starting and ending time of time windows, applicable only for winmode='File'
|
file_n='ST2_test_timewindows.txt'; % Select file name with starting and ending time of time windows, applicable only for winmode='File'
|
||||||
window_size=30; % time window span (days or events, depending on "winmode")
|
window_size=50; % time window span (days or events, depending on "winmode")
|
||||||
dt=30; % time step (days)
|
dt=50; % time step (days)
|
||||||
method='NPU'; % Select M distribution model among 'GRU','GRT','NPU','NPT'
|
method='GRT'; % Select M distribution model among 'GRU','GRT','NPU','NPT'
|
||||||
Tunit='month'; % Select time unit among 'day', 'month', 'year'
|
Tunit='day'; % Select time unit among 'day', 'month', 'year'
|
||||||
MaG=3.0; % set target Magnitude for EPR and MRP calculation
|
MaG=3.0; % set target Magnitude for EPR and MRP calculation
|
||||||
Plength=1; % set target time Period (days) for EPR calculation
|
Plength=1; % set target time Period (days) for EPR calculation
|
||||||
Plotopt='ON'; % To enable ('ON') or disable ('OFF') plotting
|
Plotopt='ON'; % To enable ('ON') or disable ('OFF') plotting
|
||||||
@ -145,6 +148,17 @@ end
|
|||||||
%% STEP 3: Filter data for Mc
|
%% STEP 3: Filter data for Mc
|
||||||
[Ctime,Cmag,Catalog]=FiltMc_ver2(Ctime,Cmag,Catalog,s1,Mc);
|
[Ctime,Cmag,Catalog]=FiltMc_ver2(Ctime,Cmag,Catalog,s1,Mc);
|
||||||
|
|
||||||
|
%% STEP 3b: Estimate Mmax for Truncated Distributions (GRT and NPT)
|
||||||
|
cd SSH/
|
||||||
|
if strcmp(method,'GRT')==1 & isempty(Mmax)==1;
|
||||||
|
[p1,p2,p3,p4,p5,pb,Mmax,err,BIAS,SD]=TruncGR_O(Ctime,Cmag,0,Mc,Mmax,Nsynth);
|
||||||
|
Mmax=Mmax+BIAS;
|
||||||
|
elseif strcmp(method,'NPT')==1 & isempty(Mmax)==1;
|
||||||
|
[p1,p2,p3,p4,p5,p6,p7,p8,p9,Mmax,err,BIAS,SD]=Nonpar_tr_O(Ctime,Cmag,0,Mc,Mmax,Nsynth);
|
||||||
|
Mmax=Mmax+BIAS;
|
||||||
|
end
|
||||||
|
|
||||||
|
cd ../
|
||||||
|
|
||||||
%% STEP 4: Create Time Windows
|
%% STEP 4: Create Time Windows
|
||||||
time_windows=struct;time_windows.Time=[];
|
time_windows=struct;time_windows.Time=[];
|
||||||
@ -384,10 +398,13 @@ Cmag=Catalog(id).val;Ctime=Catalog(id_time).val;
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
%% -----------!!!!!!!!!!! HAZARD PARAM<ETERS ESTIMATE FUNCTIONS !!!!!!!!!!!-----------
|
%% -----------!!!!!!!!!!! HAZARD PARAMETERS ESTIMATE FUNCTIONS !!!!!!!!!!!-----------
|
||||||
|
|
||||||
function [HP] = TDHMagDistWrapper(method, time_win_data, mmin, iop,Mmax)
|
function [HP] = TDHMagDistWrapper(method, time_win_data, mmin, iop,Mmax)
|
||||||
cd SSH
|
cd SSH
|
||||||
|
for j=1:size(time_win_data,2);M1(j)=max(time_win_data(j).M);end
|
||||||
|
Mmaxcat=max(M1);Mmax=max([Mmaxcat Mmax])
|
||||||
|
|
||||||
for i=1:size(time_win_data,2)
|
for i=1:size(time_win_data,2)
|
||||||
mags_vec = time_win_data(i).M;
|
mags_vec = time_win_data(i).M;
|
||||||
time_vec = time_win_data(i).Time;
|
time_vec = time_win_data(i).Time;
|
||||||
@ -398,31 +415,40 @@ cd SSH
|
|||||||
case 'GRU'
|
case 'GRU'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b]=UnlimitGR(time_vec, mags_vec, iop, mmin);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b]=UnlimitGR(time_vec, mags_vec, iop, mmin);
|
||||||
HP(i).Mmax=NaN;
|
HP(i).Mmax=NaN;eps=HP(i).eps;
|
||||||
|
[m, PDF_GRU, CDF_GRU]=dist_GRU(mmin,Mmax+eps,eps,mmin,eps,HP(i).b); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_GRU];HP(i).CDF=[m CDF_GRU]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN;HP(i).Mmax=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN;HP(i).Mmax=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
case 'GRT'
|
case 'GRT'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b, HP(i).Mmax, HP(i).err]=TruncGR_O(time_vec, mags_vec, iop, mmin,Mmax);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).b, HP(i).Mmax, HP(i).err]=TruncGR_O(time_vec, mags_vec, iop, mmin,Mmax);
|
||||||
|
eps=HP(i).eps;[m, PDF_GRT, CDF_GRT]=dist_GRT(mmin,Mmax+eps,eps,mmin,eps,HP(i).b,Mmax); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_GRT];HP(i).CDF=[m CDF_GRT]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN; HP(i).Mmax=NaN; HP(i).err=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).b=NaN; HP(i).Mmax=NaN; HP(i).err=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
case 'NPU'
|
case 'NPU'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd]=Nonpar_O(time_vec, mags_vec, iop, mmin);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd]=Nonpar_O(time_vec, mags_vec, iop, mmin);
|
||||||
HP(i).Mmax=NaN;
|
HP(i).Mmax=NaN;eps=HP(i).eps;
|
||||||
|
[m, PDF_NPU, CDF_NPU]=dist_NPU(mmin,Mmax+eps,eps,mmin,eps,HP(i).h,HP(i).xx,HP(i).ambd); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_NPU];HP(i).CDF=[m CDF_NPU]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[];HP(i).Mmax=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[];HP(i).Mmax=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
case 'NPT'
|
case 'NPT'
|
||||||
try
|
try
|
||||||
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd, HP(i).Mmax, HP(i).err]=Nonpar_tr_O(time_vec, mags_vec, iop, mmin,Mmax);
|
[HP(i).lamb_all, HP(i).lamb, HP(i).lamb_err, HP(i).unit, HP(i).eps, HP(i).ierr, HP(i).h, HP(i).xx, HP(i).ambd, HP(i).Mmax, HP(i).err]=Nonpar_tr_O(time_vec, mags_vec, iop, mmin,Mmax);
|
||||||
|
eps=HP(i).eps;
|
||||||
|
[m, PDF_NPT, CDF_NPT]=dist_NPT(mmin,Mmax+eps,eps,mmin,eps,HP(i).h,HP(i).xx,HP(i).ambd,Mmax); %K29JAN2020 - magnitude PDF/CDF
|
||||||
|
HP(i).PDF=[m PDF_NPT];HP(i).CDF=[m CDF_NPT]; %K29JAN2020 - magnitude PDF/CDF
|
||||||
catch err
|
catch err
|
||||||
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[]; HP(i).Mmax=NaN; HP(i).err=NaN;
|
HP(i).lamb_all=NaN; HP(i).lamb=NaN; HP(i).lamb_err=2; HP(i).unit=''; HP(i).eps=NaN; HP(i).ierr=NaN; HP(i).h=NaN; HP(i).xx=[]; HP(i).ambd=[]; HP(i).Mmax=NaN; HP(i).err=NaN;HP(i).PDF=NaN;HP(i).CDF=NaN;
|
||||||
warning('%s: %s', err.identifier, err.message);
|
warning('%s: %s', err.identifier, err.message);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
cd Outputs_SHA
|
cd Outputs_SHA
|
||||||
fid=fopen('REPORT_Hazard_Analysis.txt','w');
|
fid=fopen('REPORT_Hazard_Analysis.txt','w');
|
||||||
fprintf(fid,['Parameters Report & Results for HAZARD ANALYSIS (created on ', datestr(now),')\n']);
|
fprintf(fid,['Parameters Report & Results for HAZARD ANALYSIS (created on ', datestr(now),')\n']);
|
||||||
fprintf(fid,['Parameters Estimated: Mean Return Period (MRP) and Exceedance Probability (EPR) \n']);
|
fprintf(fid,['Parameters Estimated: Mean Return Period (MRP) and Exceedance Probability (EP) \n']);
|
||||||
fprintf(fid,'------------------------------------------------------------------------------------\n');
|
fprintf(fid,'------------------------------------------------------------------------------------\n');
|
||||||
fprintf(fid,['<Magnitude Scale Selected >: ', MScale,'\n']);
|
fprintf(fid,['<Magnitude Scale Selected >: ', MScale,'\n']);
|
||||||
fprintf(fid,['<Time Unit >: ', Tunit,'\n']);
|
fprintf(fid,['<Time Unit >: ', Tunit,'\n']);
|
||||||
@ -29,13 +29,13 @@ SN(j)=j;Nevents(j)=numel(time_windows(j).M);TS(j)=time_windows(j).Tstart;TE(j)=t
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
fprintf(fid,[' Set N Starting Date/Time Ending Date/Time events MRP EPR b-value Mmax \n']);
|
fprintf(fid,[' Set N Starting Date/Time Ending Date/Time events MRP EP b-value Mmax \n']);
|
||||||
fprintf(fid,[' per ',Tunit, ' ',Tunit,'s' '\n']);
|
fprintf(fid,[' per ',Tunit, ' ',Tunit,'s' '\n']);
|
||||||
for i=1:numel(HP)
|
for i=1:numel(HP)
|
||||||
if strcmp(method,'GRU')==1 || strcmp(method,'GRT')==1;
|
if strcmp(method,'GRU')==1 || strcmp(method,'GRT')==1;
|
||||||
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %5.3f %4.2f \n'],SN(i),Nevents(i),datestr(TS(i)),datestr(TE(i)),lambda(i),MRPer(i),ExPr(i),bval(i),HP(i).Mmax);
|
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %5.3f %4.2f \n'],SN(i),Nevents(i),datestr(TS(i),0),datestr(TE(i),0),lambda(i),MRPer(i),ExPr(i),bval(i),HP(i).Mmax);
|
||||||
else
|
else
|
||||||
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %s %4.2f \n'],SN(i),Nevents(i),datestr(TS(i)),datestr(TE(i)),lambda(i),MRPer(i),ExPr(i),'NaN',HP(i).Mmax);
|
fprintf(fid,['%4d %5d %s %s %9.3f %13.3f %13.11f %s %4.2f \n'],SN(i),Nevents(i),datestr(TS(i),0),datestr(TE(i),0),lambda(i),MRPer(i),ExPr(i),'NaN',HP(i).Mmax);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -64,6 +64,8 @@ for i=1:length(HP)
|
|||||||
SHA(i).err=HP(i).err;
|
SHA(i).err=HP(i).err;
|
||||||
else
|
else
|
||||||
end
|
end
|
||||||
|
SHA(i).PDF=HP(i).PDF; %K29JAN2020
|
||||||
|
SHA(i).CDF=HP(i).CDF; %K29JAN2020
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user