MATLAB Answers

Return period wind over 25 m/s

8 views (last 30 days)
mashtine on 16 Mar 2016
Answered: Image Analyst on 17 Mar 2016
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 Comment
John BG
John BG on 17 Mar 2016
Your explanation is ok, but could you attach to a comment of your question a sample of your dataset, it may help readers.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 17 Mar 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!