Return period wind over 25 m/s

5 visualizaciones (últimos 30 días)
mashtine
mashtine el 16 de Mzo. de 2016
Respondida: Image Analyst el 17 de Mzo. de 2016
Hello,
I have a dataset of daily maximum wind gusts across a certain domain and for each grid cell, I would like to find the return period (in days) of a gust speed over 25 m/s. I know that I need to use this threshold to find the gusts that exceed it and then fit the general Pareto distribution (GPD) and use the maximum likelihood estimator to find the shape parameters.
Where I am lost is then using this information to find the return period (not the return level) of gusts over 25 m/s. A lot of the literature simply describe the theory but do not suggest the best method to then finding the RP.
In the end, I would like a map showing the return period of wind gusts over 25 m/s (an important threshold for my application).
Hope this makes sense.
  1 comentario
John BG
John BG el 17 de Mzo. de 2016
Mashtine
Your explanation is ok, but could you attach to a comment of your question a sample of your dataset, it may help readers.

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 17 de Mzo. de 2016
I don't know about Pareto and max likelihood estimator stuff, but if you just want to find the lengths of time (number of days) for each time period that had a gust of at least 25, then you can get a logical vector of days where the max gust was over that
highGustDays = dailyMaxGust > 25;
This will be a vector like 0,1,1,0,0,1,0,1,1,1,1,0 if, say, days # 3 6 8 9 10 11 had gusts of 25 or more. Then to find the time period, like 2,1,4 which is the number of consecutive days with high gusts, then you can call regionprops() and ask for 'Area' (requires Image Processing Toolbox. Here's a full demo:
% Create sample data:
dailyMaxGust = [5,25,26,2,5,33,6,31,32,33,34,15]
% Get logical vector of high gust days.
highGustDays = dailyMaxGust >= 25
% Measure the length of each gusty period
stats = regionprops(logical(highGustDays), 'Area');
% Extract the areas from the structure array into a vector.
timePeriods = [stats.Area]
dailyMaxGust =
5 25 26 2 5 33 6 31 32 33 34 15
highGustDays =
0 1 1 0 0 1 0 1 1 1 1 0
timePeriods =
2 1 4

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by