The Markov weather model will generate a completely new weather data, applying the Markov probabilistic distribution based on the weather data file provided. It will match the weather data among periods.  This article will give you a background and understanding of the Markov Weather model.   

NOTE: in order to get the Markov weather model to work, it is required to add the "Month" column when uploading the weather file.

Creation of new weather time series 

The first task for the weather randomiser is to analyse the imported historical weather time series. Each weather entry in the historical time series is categorised into a weather state. A weather state describes both wind speed and wave height, and is defined by specific intervals of both wind speed and significant wave height.

The algorithm starts making a new time series by selecting a random year from the historical time series and selecting a random start date which is close to the desired start date of the output time series. A small sample is then copied from the selected starting point in the historical time series and used as the first part of the output time series. Next, a new sample from the historical time series is drawn at random with two restrictions. 

    • The first restriction ensures that new sample starts out with a weather state which matches the end of the previous sample. This is a critical criterion for maintaining realistic weather development. It is equivalent to the Markov Chain process, in which the next state is drawn by transition probabilities which depend on the current state. 
    • The second restriction ensures that the starting point of the new sample belongs to an equivalent calendar month as the segment it will represent in the output time series. The sample is picked by random from any year in the entire historical time series. 
  • If no matching weather state is found within the historical data for the needed type of month, a transition is selected without restriction on the type of month. This can be relevant in month transitions when going through a scarce weather state. It will thus allow the historical time development to continue with the same few days of seasonal offset until a more common weather transition can be found. If no transition is found at all, i.e., at the very end of the imported data, then a completely new state is drawn corresponding to the current season.

    A new sample of the historical time series is repeatedly drawn in the same way, based on the previous weather state, and added to the output time series.  The samples were drawn vary in length at random (uniformly distributed) between 6 and 48 original data points in length. 

    Used information
    For data series other than wind and wave series, the time series of weather data will be used as it is. The randomizer does not affect other weather data series other than wind and wave, so, for instance, sea current data will not be affected. If the length of the simulation exceeds the length of the sea current data series (if used), the data series will be looped.  
    Statistical validation
    The Markov weather model has been validated to produce suitable weather variations for each simulation. The weather window distribution, in frequency and duration, is equivalent to the historical input for large sample sizes. The seasonality of generated weather sets resembles that of the historical data very closely.
    Reference: Hagen et. al (2013): "  A Multivariate Markov Weather Model for O&M Simulation of Offshore Wind Parks".


Example of how it works in a simulation with high wind throughout all of November:

First, all weather entries are defined into states, so e.g. all entries with wave height between 1.2 and 1.3 are considered to be similar as they are in the same state.

Then we start by choosing a segment of the weather of a random length, which is then the start. From this, we build on top of that. So the next segment we choose has to start in the same state as the last entry we added to the new weather, and be from the same month, as where we are in creating the new weather.

In case there is no such entry, then we lose the month restriction, and just chose a random other place with the same state, as the next segment.



Here is a graph of how the wave height behaves in their case over the different months. And as it is a very limited area in which November has values, then it might often have to lose the month restriction when choosing new segments, and therefore you might get some weird behaving weather in November when using Markov.