consider bias for Mmax estimation
This commit is contained in:
		@@ -2,14 +2,24 @@ Welcome to the Seismic HAzard Parameters Evaluation (SHAPE) Toolbox!
 | 
			
		||||
 | 
			
		||||
Find the two versions in the corresponding directories
 | 
			
		||||
 | 
			
		||||
SHAPE_ver1.0 - is a Interactive Standalone version 
 | 
			
		||||
                    (inputs are set interactively, step by step)
 | 
			
		||||
SHAPE_ver2.0 - is a Wrapper version 
 | 
			
		||||
                    (inputs are set in the wrapper script and once launched, 
 | 
			
		||||
                     the applications runs without any further interruption)
 | 
			
		||||
SHAPE_ver1 -  is a Interactive Standalone version (inputs are set interactively, step by step)
 | 
			
		||||
                    REQUIREMENTS: Matlab R2017b or later, with installed Toolboxes:
 | 
			
		||||
                  - 'Statistics and Machine Learning'
 | 
			
		||||
                  - 'Image Processing'
 | 
			
		||||
                    
 | 
			
		||||
please refer to the "READ_ME*******.pdf" file in each directory for further 
 | 
			
		||||
instructions on the step-by-step implementation of the applications as well
 | 
			
		||||
as for data requirements and general tips.
 | 
			
		||||
SHAPE_ver2 -  is a Wrapper version (inputs are set in the wrapper script and once launched the 
 | 
			
		||||
                    application runs without any further interruption)
 | 
			
		||||
                    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! 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -1,10 +1,12 @@
 | 
			
		||||
% PROGRAM     :  SHAPE [Seismic HAzard Parameters Evaluation] 
 | 
			
		||||
% VERSION:        V_1.0 [Interactive Standalone Version] 
 | 
			
		||||
% LAST UPDATED:   September 2019 
 | 
			
		||||
% COMPATIBLE with Matlab version 2017b or later
 | 
			
		||||
% VERSION     :  V_1.2 [Interactive Standalone Version] 
 | 
			
		||||
% LAST UPDATED:  March 2020 
 | 
			
		||||
% COMPATIBLE  :  Matlab version 2017b or later
 | 
			
		||||
% REQUIREMENTS:  "Statistics and Machine Learning" and "Image Processing" Matlab Toolbox installed
 | 
			
		||||
% TOOLBOX: "Hazard Analysis Toolbox" within SERA Project
 | 
			
		||||
% DOCUMENT: "READ_ME_SHAPE_ver1.pdf"
 | 
			
		||||
% TOOLBOX     :  "Hazard Analysis Toolbox" developed within SERA Project
 | 
			
		||||
% 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)  
 | 
			
		||||
% --------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -24,9 +26,9 @@
 | 
			
		||||
% --------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
% AUTHORS: K. Leptokaropoulos and 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
 | 
			
		||||
% CURRENT VERSION: v1.0        ****    [INTERACTIVE STANDALONE VERSION!!]
 | 
			
		||||
% CURRENT VERSION: v1.2        ****    [INTERACTIVE STANDALONE VERSION!!]
 | 
			
		||||
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
			
		||||
% PLEASE refer to the accompanying document:
 | 
			
		||||
%                                           "READ_ME_SHAPE_ver1.pdf" 
 | 
			
		||||
@@ -101,26 +103,28 @@
 | 
			
		||||
%                                  [applies only when "method" is set to 'GRT' or 'NPT']
 | 
			
		||||
%                    - err       : Mmax convergence indicator (0-converge, 1-no converge) 
 | 
			
		||||
%                                  [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:
 | 
			
		||||
% Kijko A, Lasocki S, Graham G (2001), Pure Appl. Geophys. 158:1655<EFBFBD>1676
 | 
			
		||||
% Kijko A, Sellevoll MA (1989), Bull Seismol. Soc. Am. 79:645<EFBFBD>654
 | 
			
		||||
% Lasocki S (2017), Chapter 11.3 in Rockburst Mechanisms, Oxford, pp 366-380
 | 
			
		||||
% Lasocki S, Urban P (2011), Acta Geophys. 59:659<EFBFBD>673
 | 
			
		||||
% Lasocki S, Orlecka-Sikora B (2008), Tectonophysics 456:28<EFBFBD>37
 | 
			
		||||
% 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 
 | 
			
		||||
%     This is free software: you can redistribute it and/or modify it under 
 | 
			
		||||
%     the terms of the GNU General Public License as published by the
 | 
			
		||||
%     Free Software Foundation, either version 3 of the License, or 
 | 
			
		||||
%     (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. See the GNU General Public License for more details.
 | 
			
		||||
%     This is free software: you can redistribute it and/or modify it under the terms of the 
 | 
			
		||||
%     GNU General Public License as published by the Free Software Foundation, either version 
 | 
			
		||||
%     3 of the License, or (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. 
 | 
			
		||||
%     See the GNU General Public License for more details.
 | 
			
		||||
% -------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
clear;clc
 | 
			
		||||
mkdir Outputs_SHA
 | 
			
		||||
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
 | 
			
		||||
        cd TIME_WINDOWS                                             %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
 | 
			
		||||
    'SelectionMode','single','ListString',dstr,...                  %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==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)
 | 
			
		||||
dlgtitle = 'Parameters for Hazard Analysis';
 | 
			
		||||
dims = [1 55]; opts.Interpreter='tex';
 | 
			
		||||
definput = {num2str(max(Cmag)),'1'};
 | 
			
		||||
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));
 | 
			
		||||
 | 
			
		||||
% 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       ************** 
 | 
			
		||||
 | 
			
		||||
@@ -476,6 +506,9 @@ end
 | 
			
		||||
 | 
			
		||||
function [HP] = TDHMagDistWrapper(method, time_win_data, mmin, iop,Mmax)
 | 
			
		||||
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)
 | 
			
		||||
		mags_vec = time_win_data(i).M;
 | 
			
		||||
		time_vec = time_win_data(i).Time;
 | 
			
		||||
@@ -486,31 +519,40 @@ cd SSH
 | 
			
		||||
			case 'GRU'
 | 
			
		||||
				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).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
 | 
			
		||||
	                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);
 | 
			
		||||
				end
 | 
			
		||||
			case 'GRT'
 | 
			
		||||
				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);
 | 
			
		||||
                    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
 | 
			
		||||
	                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);
 | 
			
		||||
				end
 | 
			
		||||
			case 'NPU'
 | 
			
		||||
				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).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
 | 
			
		||||
	               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);
 | 
			
		||||
				end
 | 
			
		||||
			case 'NPT'
 | 
			
		||||
				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);
 | 
			
		||||
                    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
 | 
			
		||||
	                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);
 | 
			
		||||
				end
 | 
			
		||||
        end
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
cd Outputs_SHA
 | 
			
		||||
fid=fopen('REPORT_Hazard_Analysis.txt','w');
 | 
			
		||||
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,['<Magnitude Scale Selected      >: ', Mtype,'\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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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']);
 | 
			
		||||
for i=1:numel(HP)
 | 
			
		||||
       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
 | 
			
		||||
       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
 | 
			
		||||
 | 
			
		||||
@@ -64,6 +64,8 @@ for i=1:length(HP)
 | 
			
		||||
    SHA(i).err=HP(i).err;
 | 
			
		||||
           else
 | 
			
		||||
           end
 | 
			
		||||
    SHA(i).PDF=HP(i).PDF;                                                  %K29JAN2020
 | 
			
		||||
    SHA(i).CDF=HP(i).CDF;                                                  %K29JAN2020
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 prompt={'\fontsize{12} Please enter output file name:'};
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -1,10 +1,12 @@
 | 
			
		||||
% PROGRAM     :  SHAPE [Seismic HAzard Parameters Evaluation]  
 | 
			
		||||
% VERSION:        V_2.0 [Wrapper (fast) Standalone Version] 
 | 
			
		||||
% LAST UPDATED:   September 2019
 | 
			
		||||
% COMPATIBLE with Matlab version 2017b or later
 | 
			
		||||
% VERSION     :  V_2.2 [Wrapper (fast) Standalone Version] 
 | 
			
		||||
% LAST UPDATED:  March 2020
 | 
			
		||||
% COMPATIBLE  :  Matlab version 2017b or later
 | 
			
		||||
% REQUIREMENTS:  "Statistics and Machine Learning" Matlab Toolbox installed
 | 
			
		||||
% TOOLBOX: "Hazard Analysis Toolbox" within SERA Project
 | 
			
		||||
% DOCUMENT: "READ_ME_SHAPE_ver2.docx"
 | 
			
		||||
% TOOLBOX     :  "Hazard Analysis Toolbox" developed within SERA Project
 | 
			
		||||
% 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)  
 | 
			
		||||
% --------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -23,9 +25,9 @@
 | 
			
		||||
% --------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
% AUTHORS: K. Leptokaropoulos and 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
 | 
			
		||||
% CURRENT VERSION: v2.0        ****    [WRAPPER (fast) STANDALONE VERSION!!]
 | 
			
		||||
% CURRENT VERSION: v2.2        ****    [WRAPPER (fast) STANDALONE VERSION!!]
 | 
			
		||||
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
			
		||||
% PLEASE refer to the accompanying document:
 | 
			
		||||
%                                           "READ_ME_SHAPE_ver2.pdf" 
 | 
			
		||||
@@ -53,12 +55,10 @@
 | 
			
		||||
% STEP_6. Plotting (optional)
 | 
			
		||||
% STEP_7. save OUTPUTS
 | 
			
		||||
% ---------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
%% INPUT:   All input data are sufficiently explained in the script as well as 
 | 
			
		||||
%               while running the code (interaction with the user). NOTE that
 | 
			
		||||
%               all input files (seismic catalog, production data, time windows) 
 | 
			
		||||
%               must be in ASCII format (i.e. *.txt). 
 | 
			
		||||
%               Please refer to the APPLICATION DOCUMENTATION for further 
 | 
			
		||||
%               instructions and input data requirement specifications:  "READ_ME_SHAPE_ver2.pdf"
 | 
			
		||||
%% INPUT:    All input data are sufficiently explained in the script as well as while running the code 
 | 
			
		||||
%               (interaction with the user). NOTE that all input files (seismic catalog, production data, 
 | 
			
		||||
%               time windows) must be in ASCII format (i.e. *.txt). Please refer to the APPLICATION DOCUMENTATION 
 | 
			
		||||
%               for further instructions and input data requirement specifications:  "READ_ME_SHAPE_ver2.pdf"
 | 
			
		||||
% ----------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
%% OUTPUT:
 | 
			
		||||
%                 <> 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']
 | 
			
		||||
%                    - err       : Mmax convergence indicator (0-converge, 1-no converge) 
 | 
			
		||||
%                                  [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:
 | 
			
		||||
% Kijko A, Lasocki S, Graham G (2001), Pure Appl. Geophys. 158:1655<EFBFBD>1676
 | 
			
		||||
% Kijko A, Sellevoll MA (1989), Bull Seismol. Soc. Am. 79:645<EFBFBD>654
 | 
			
		||||
% Lasocki S (2017), Chapter 11.3 in Rockburst Mechanisms, Oxford, pp 366-380
 | 
			
		||||
% Lasocki S, Urban P (2011), Acta Geophys. 59:659<EFBFBD>673
 | 
			
		||||
% Lasocki S, Orlecka-Sikora B (2008), Tectonophysics 456:28<EFBFBD>37
 | 
			
		||||
% 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 
 | 
			
		||||
%     This is free software: you can redistribute it and/or modify it under 
 | 
			
		||||
%     the terms of the GNU General Public License as published by the
 | 
			
		||||
%     Free Software Foundation, either version 3 of the License, or 
 | 
			
		||||
%     (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. See the GNU General Public License for more details.
 | 
			
		||||
%     This is free software: you can redistribute it and/or modify it under the terms of the 
 | 
			
		||||
%     GNU General Public License as published by the Free Software Foundation, either version 
 | 
			
		||||
%     3 of the License, or (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. 
 | 
			
		||||
%     See the GNU General Public License for more details.
 | 
			
		||||
% -------------------------------------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
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_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  
 | 
			
		||||
MScale='ML';                                 % Magnitude Scale (e.g. 'ML', 'Mw' etc). NOTE: MScale=[] is also valid
 | 
			
		||||
Mc=1.0;                                      % Select Mc
 | 
			
		||||
Mmax=3.5;                                    % Valid for GRT and NPT/ if Mmax=[], it is calculated internally
 | 
			
		||||
winmode='File';                              % Select MODE for windows creation: 'Time' or 'Events' or 'File'
 | 
			
		||||
Mmax=[];                                     % Valid for GRT and NPT/ if Mmax=[], it is calculated internally
 | 
			
		||||
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'
 | 
			
		||||
window_size=30;                              % time window span (days or events, depending on "winmode")
 | 
			
		||||
dt=30;                                       % time step (days)
 | 
			
		||||
method='NPU';                                % Select M distribution model among 'GRU','GRT','NPU','NPT'
 | 
			
		||||
Tunit='month';                                 % Select time unit among 'day', 'month', 'year'
 | 
			
		||||
window_size=50;                              % time window span (days or events, depending on "winmode")
 | 
			
		||||
dt=50;                                       % time step (days)
 | 
			
		||||
method='GRT';                                % Select M distribution model among 'GRU','GRT','NPU','NPT'
 | 
			
		||||
Tunit='day';                                 % Select time unit among 'day', 'month', 'year'
 | 
			
		||||
MaG=3.0;                                     % set target Magnitude for EPR and MRP calculation
 | 
			
		||||
Plength=1;                                   % set target time Period (days) for EPR calculation
 | 
			
		||||
Plotopt='ON';                                % To enable ('ON') or disable ('OFF') plotting
 | 
			
		||||
@@ -145,6 +148,17 @@ end
 | 
			
		||||
%% STEP 3: Filter data for 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
 | 
			
		||||
time_windows=struct;time_windows.Time=[];
 | 
			
		||||
@@ -384,10 +398,13 @@ Cmag=Catalog(id).val;Ctime=Catalog(id_time).val;
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
%% -----------!!!!!!!!!!! HAZARD PARAM<ETERS ESTIMATE FUNCTIONS !!!!!!!!!!!-----------
 | 
			
		||||
%% -----------!!!!!!!!!!! HAZARD PARAMETERS ESTIMATE FUNCTIONS !!!!!!!!!!!-----------
 | 
			
		||||
 | 
			
		||||
function [HP] = TDHMagDistWrapper(method, time_win_data, mmin, iop,Mmax)
 | 
			
		||||
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)
 | 
			
		||||
		mags_vec = time_win_data(i).M;
 | 
			
		||||
		time_vec = time_win_data(i).Time;
 | 
			
		||||
@@ -398,31 +415,40 @@ cd SSH
 | 
			
		||||
			case 'GRU'
 | 
			
		||||
				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).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
 | 
			
		||||
	                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);
 | 
			
		||||
				end
 | 
			
		||||
			case 'GRT'
 | 
			
		||||
				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);
 | 
			
		||||
                    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
 | 
			
		||||
	                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);
 | 
			
		||||
				end
 | 
			
		||||
			case 'NPU'
 | 
			
		||||
				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).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
 | 
			
		||||
	               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);
 | 
			
		||||
				end
 | 
			
		||||
			case 'NPT'
 | 
			
		||||
				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);
 | 
			
		||||
                    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
 | 
			
		||||
	                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);
 | 
			
		||||
				end
 | 
			
		||||
        end
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
cd Outputs_SHA
 | 
			
		||||
fid=fopen('REPORT_Hazard_Analysis.txt','w');
 | 
			
		||||
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,['<Magnitude Scale Selected      >: ', MScale,'\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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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']);
 | 
			
		||||
for i=1:numel(HP)
 | 
			
		||||
       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
 | 
			
		||||
       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
 | 
			
		||||
 | 
			
		||||
@@ -64,6 +64,8 @@ for i=1:length(HP)
 | 
			
		||||
    SHA(i).err=HP(i).err;
 | 
			
		||||
           else
 | 
			
		||||
           end
 | 
			
		||||
    SHA(i).PDF=HP(i).PDF;                                                  %K29JAN2020
 | 
			
		||||
    SHA(i).CDF=HP(i).CDF;                                                  %K29JAN2020
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user