is-epos-scripts/src/StationarySeismicHazardAnalysis/Ret_periodGRU.m

56 lines
2.1 KiB
Matlab

% [m,T]=Ret_periodGRU(Md,Mu,dM,Mmin,lamb,eps,b)
%
% EVALUATES THE MEAN RETURN PERIOD VALUES USING THE UNLIMITED G-R LED
% MAGNITUDE DISTRIBUTION MODEL.
%
% AUTHOR: Stanislaw. Lasocki, Institute of Geophysics Polish Academy of
% Sciences, Warsaw, Poland
%
% DESCRIPTION: The assumption on the unlimited Gutenberg-Richter relation
% leads to the exponential distribution model of magnitude distribution
% from and above the catalog completness level Mmin. The shape parameter of
% this distribution and consequently the G-R b-value are calculated at
% start-up of the stationary hazard assessment services in the
% unlimited Gutenberg-Richter estimation mode.
%
% The mean return period of magnitude M is the average elapsed time between
% the consecutive earthquakes of magnitude M.
% The mean return periods are calculated for magnitude starting from Md up
% to Mu with step dM.
%
%INPUT:
% Md - starting magnitude for return period calculations
% Mu - ending magnitude for return period calculations
% dM - magnitude step for return period calculations
% Mmin - lower bound of the distribution - catalog completeness level
% lamb - mean activity rate for events M>=Mmin
% eps - length of the round-off interval of magnitudes.
% b - Gutenberg-Richter b-value
%
%OUTPUT:
% m - vector of independent variable (magnitude) m=(Md:dM:Mu)
% T - vector od mean return periods of the same length as m
%
% LICENSE
% This file is a part of the IS-EPOS e-PLATFORM.
%
% 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, <http://www.gnu.org/licenses/>.
%
function [m,T]=Ret_periodGRU(Md,Mu,dM,Mmin,lamb,eps,b)
if Md<Mmin; Md=Mmin;end
m=(Md:dM:Mu)';
beta=b*log(10);
T=1/lamb./exp(-beta*(m-Mmin+eps/2));
end