1 Introduction

Contemporary advances in offshore wind industry face a number of issues. Starting with physical challenges like new, enlarged generators (Zhang and Zhang 2011, Jlassi et al. 2021), innovative energy conversion methods (i.e., Power-to-X Haendel and Elsland 2018; Habibifar, et al. 2021)), or new construction materials—ending on virtual problems connected with cyber-security (Kulev, et al. 2020) and digital twin approach (Moghadam and Nejad 2022, Moghadam et al. 2021). One additional aspect is especially important in the case of offshore wind farms (OWFs)—weather conditions. It is clear that harsh sea weather conditions have the influence on many characteristics of any offshore installation. What more, that impact is often connected with issues that need to be addressed by researchers. The accessibility to the infrastructure, maintenance procedures, failure ratios of components, energy provision levels, or utilization of vessels—all of that is dependent on specific weather-related parameters. Regarding thus the growing popularity of digital twin approach, it is understandable that modeling weather conditions is also present in the scope of modern research.

Recognizing the growing importance of offshore wind energy and knowing possible repercussions in case of their failures, the aspect of maintenance of this strategic infrastructure appears to be crucial for securing future deliveries of energy. In fact, according to (Carroll et al. 2015), the average failure rate for an offshore wind turbine was estimated as 8.3 failures per turbine per year. Such a high value of estimated failures can be attributed to harsh environmental conditions at offshore locations, but also to specific mechanical components of turbines prone to fail (Crabtree et al. 2015). Consequently, maintenance capacities play a significant role in order to sustain offshore energy provision abilities.

The presented article is based in particular on two previous studies conducted by the authors. In case of copula-based approach, the background work is introduced in Niemi and Sill Torres (2021); the maintenance model essentials are presented in Skobiej, et al. (2020). Therefore, the current study can be regarded as a direct evolution of previous research.

The rest of the paper is organized as follows. Section 2 introduces the updates to the copula-based weather generator approach along with references to other similar solutions. The section presents two stages of validation—comparison against other copula-based results available in the literature and against historical weather data of selected sources. Section 3 contains information about the maintenance model and selected Key Performance Indicators (KPIs) used within the simulation. These KPIs are used then for the third stage of validation—investigation against results obtained by the simulation model with other weather data inputs. Section 4 presents and discusses the obtained results, while Sect. 5 concludes this work.

2 Copula-based weather data generator

2.1 Synthetic weather data generation for simulations

This paper uses a copula-based approach to generate synthetic weather data for simulation. The approach is described in Niemi and Sill Torres (2021). That paper listed some features that were not fully developed at that time. Therefore, this paper provides an update to the approach. This section consists of an introduction to the approach in Sect. 2.1.1 and an update in Sect. 2.1.2. Earlier paper (Niemi and Sill Torres 2021) noticed that the approach lacked means to deal with negative values and seasonality. Sections 2.1.3 and 2.1.4 describe solutions for these issues.

2.1.1 Description of the copulas approach

Copulas are the mechanisms which allow us to isolate the dependency structure in a multivariate distribution (Nelsen 2006). A copula can be constructed by separately specifying the marginal distributions for each dimension and the copula. In the Sklar’s theorem, for a n-dimensional cumulative distribution function F with marginals F1, …, Fn, exists a copula C such that

$$F\left(x_1,\dots,x_n\right)=C\left(F_1(x_1),\dots,F_n\left(x_n\right)\right)$$
(1)

for all xi \(\in\) [-∞, ∞] and i = 1, …, n. In a Gaussian copula, F is a multivariate normal distribution. A particular interest for using a copula is to generate random variables from the multivariate distribution. In this case, the variables are wind speed and wave heights, where these variables have a realistic correlation. As described in Niemi and Sill Torres (2021), our approach uses the Gaussian multivariate class from the Copulas Python library (MIT 2018). This class implements a multivariate distribution by using a Gaussian copula to combine marginal probabilities estimated using univariate distributions. The class automatically chooses the best fitting univariate marginal distribution for each dimension. The Copulas library contains the following univariate distributions: Beta, Gamma, Gaussian, Logarithmic-Laplace, Student T, and truncated Gaussian distributions, and Kernel-Density Estimate that uses a Gaussian kernel. The approach generates time series where the next wind speed sn+ 1 and wave height hn+ 1 would be conditional to the current wind speed sn and wave height hn. Generating the random time series is achieved by forming a four-dimensional copula where the dimensions are wind speed sn and wave height hn, wind speed change ∆s, and the wave height change ∆h. As the current values are known, the particular problem is to generate values ∆s, and ∆h that are conditional to sn, wave height hn. Next values are calculated with the following equations:

$$sn+1=sn+\Delta s,$$
(2)

and

$$hn+1=hn+\Delta h$$
(3)

Creating the conditional values ∆s, and ∆h uses the knowledge that the copula is Gaussian and is achieved by transforming the multivariate Gaussian distribution to a conditional one. The mean values of a four-dimensional distribution are as follows:

$$\overline{\upmu }= [{\mu }_{1} {\mu }_{2} {\mu }_{3} {\mu }_{4}]T,$$
(4)

and the covariances are

$$\overline\Sigma=\begin{bmatrix}\Sigma_{11}&\Sigma_{12}&\Sigma_{13}&\Sigma_{14}\\\Sigma_{21}&\Sigma_{22}&\Sigma_{23}&\Sigma_{24}\\\Sigma_{31}&\Sigma_{32}&\Sigma_{33}&\Sigma_34\\\Sigma_{41}&\Sigma_{42}&\Sigma_{43}&\Sigma_{44}\end{bmatrix}.$$
(5)

Let us denote

$$\overline{\mathrm C}=\begin{bmatrix}\Sigma_{13}&\Sigma_{14}\\\Sigma_{23}&\Sigma_{24}\end{bmatrix}\begin{bmatrix}\Sigma_{33}&\Sigma_{34}\\\Sigma_{43}&\Sigma_{44}\end{bmatrix}^{-1}.$$
(6)

For a condition that x3 is normalized sn and x4 is normalized hn, a new distribution can be formed where

$$\overline\mu\ast=\begin{bmatrix}\mu_1\\\mu_2\end{bmatrix}+\overline C\begin{bmatrix}\begin{pmatrix}x_3\\x_4\end{pmatrix}-\begin{pmatrix}\mu_3\\\mu_4\end{pmatrix}\end{bmatrix},$$
(7)

and

$$\overline\Sigma^\ast=\begin{bmatrix}\Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{bmatrix}-\overline{\mathrm C}\begin{bmatrix}\Sigma_{31}&\Sigma_{41}\\\Sigma_{32}&\Sigma_{42}\end{bmatrix}.$$
(8)

A new random value pair x1, x2 is generated with the conditional distribution. The new values, ∆s and ∆h, are formed when the values with the same percent points are calculated from their univariate marginal distributions. The concept is shown in Fig. 1.

Fig. 1
figure 1

Steps required to calculate the next wind speed and wave height values

2.1.2 Update to the approach

Section 2.1.3 describes a solution for an issue that the approach can generate negative values, and Sect. 2.1.4 introduces seasonality to the approach by using copulas that fitted with season specific data. The solutions are validated with the ERA5 weather data-set that consists of hourly estimates of various weather characteristics and is provided by the European Centre for Medium-Range Weather Forecasts (Hersbach 2018). The weather data are from years 2019 to 2020 and from the North Sea area, which is of high interest for the German offshore wind energy industry. The location is near the Helgoland, which is located about the same distance from the shore as the most of the German wind farms. The exact coordinates are shown in Fig. 2, with the locations of the German offshore wind farms. We use 10 m u, and v component of wind to calculate wind speed s with the following equation:

Fig. 2
figure 2

taken from coordinates 54°18′ N and 7° 78′ E. This location is marked in red and it is compared to the locations of German wind farms in the North Sea. The green ones are operational, the yellow ones have been approved, and the gray ones are planned (Dörrbecker 2020)

The data were

$$s= \sqrt{({u}^{2}+{v}^{2})}.$$
(9)

Wave height h is the significant height of combined wind, waves, and swell and is provided by Hersbach (2018).

2.1.3 Solving an issue with negative values

A condition exists where the current wind speed or wave height value is small, and the approach generates a large negative change. In this case, Eqs. (2) or (3) will produce a negative wind speed or wave height value, which is not realistic. Paper (Niemi and Sill Torres 2021) provided two optional ways to deal with negative values, when calculating the next value vn + 1. These were using the absolute values:

$$v_{n+1}=\left|v_n+\Delta v\right|,$$
(10)

or forcing the negative values to be zero:

$$v_{n+1}=\left\{\begin{array}{cc}v_n+\Delta v&\mathrm{if}\;v_n+\Delta v>0\\0&\mathrm{otherwise}\end{array}\right..$$
(11)

These two ways can be compared by generating synthetic data with each equation, and comparing the resulting series to the real data. Figure 3 shows the point error between real cumulative wind speed distribution and ones calculated from the synthetic data.

Fig. 3
figure 3

Difference between cumulative wind speed distribution calculated from real and artificial data. “Version 1” is based on algorithm from Niemi and Sill Torres (2021), “Absolute values” is using (10), and “Zero limit” (11)

Surprisingly, from the results shown in Fig. 3, the cumulative error is the lowest with the original approach that generates negative values. Forcing negative values to be zero leads to smaller error than using the absolute values. This result seems reasonable as the difference between the original negative value and zero is smaller than it would be when compared to absolute value.

2.1.4 Introducing seasonality

In literature, seasonality of weather has been introduced by fitting a copula with data from specified time interval. A paper by Leontaris G. et al. had an individual copula for each month (Leontaris et al. 2016), and Jäger & Morales Nápoles only considered winter (Jäger and Morales Nápoles 2017). Here we consider one copula for the winter period, and another for summer. Obtained results are compared to data produced with one copula. Like in Jäger and Morales Nápoles (2017), we assume the oceanographic winter period in the North Sea to be between 1st of November and 15th of April.

Figure 4 compares all data approach to seasonal copulas approach by again plotting the differences between real and synthetic cumulative distributions. When the absolute errors between distribution are calculated, the seasonal copula is slightly better than the one calculated from all data.

Fig. 4
figure 4

Difference between cumulative wind speed distribution calculated from real and artificial data. Both “Zero limit” series use (11) to avoid negative values. The first one is trained with all data, and the second uses two copulas with seasonal data

2.2 Synthetic weather data overview against reality

The simulated weather conditions are based on copula approach described in the previous section. In this step of validation, we use a number of historical data sources to compare obtained results with the reality:

  • ERA5—(54° 18′ N, 7° 78° E) wind speed (WSPD) and wave height (WVHT) data provided by the European Centre for Medium-Range Weather Forecasts. Since this source of data was used for copula data generation, we use them as a reference point.

  • NOAA—(58.270′ N 138.019′ W) data obtained from the National Data Buoy Center (NDBC) of the National Oceanic and Atmospheric Administration (NOAA) (NOAA 2021). The data have been collected at the 46083 station, with 1-h resolution. The geographical location of the station is in the Gulf of Alaska area, but the latitude corresponds to the North Sea area data sources.

  • UFS G-B—(54° 10.775′ N, 7° 27.523′ E) wind speed data provided by the Germany’s National Meteorological Service-Deutscher Wetterdienst (DWD) from the unmanned vessel “UFS German-Bight” (DWD 2021).

While investigating parameters in Table 1, it is important to underline that each marine reservoir has its unique characteristic. Keeping in mind that copula results were based on ERA5 data set, it is visible that NOAA data can be described as outlier among other data sets. In particular, the fact that average lower wind speed (6.33 ms−1) produces higher waves (2.09 m) than other examples requires an explanation. A simple comparison between the two maritime areas—Gulf of Alaska and the North Sea—suggests significant impact of wind fetch in the case of NOAA data. It is suspected that a long fetch at the Gulf of Alaska produces higher waves. This phenomenon is not so visible in the North Sea area surrounded by lands from three directions. As a result, it is noticeable that copula method reflects local characteristics of data source—i.e., ERA5, placing the obtained results closer to UFS G-B and ERA5 data sets. The observed tendency also suggests that in case of extreme weather conditions, copula method requires corresponding data sources which may be challenging to acquire in case of local events like downbursts and micro-downbursts.

Table 1 Selected statistic parameters of weather data sets

3 Maintenance model

The employed simulation model is based on a previous work (Skobiej, et al. 2020). The model consists of two major components: Fault Tree (FT) module that generates the failures and a module for maintaining the failures, as depicted in Fig. 5.

Fig. 5
figure 5

adopted from Skobiej, et al. (2020))

Simplified schema of maintenance model (

The FT sub-subsystem contains fault tree for each of the 30 wind turbines (WTs) of the OWF (Vesely, et al. 1981). Each WT possesses three different fault trees representing three different kinds of severities: minor, major, major replacement (Carroll et al. 2015). A Weibull failure distribution function (Rausand and Høyland 2004) is responsible for modeling failures, as it is proven to be a reliable representation of reality in many analyses (Farhat et al. 2021, Dan et al. 2021, Alhabshi et al. 2021). With this approach, we assume that any failure of one of the 19 main WT’s components will cause a WT’s unavailability. The random failure time t1 of WT’s sub-component u is estimated based on Eq. (12):

$${t}_{1}\left(u\right)={t}_{0}+\xi +\lambda {\left(-\mathrm{ log }u\right)}^{-\alpha }$$
(12)

where t0 is the current time of simulation, ξ is a threshold parameter, λ is a scale parameter, and α is a shape parameter. Since the failure ratios are based on (Carroll et al. 2015) empirical studies, there is no need to implement additional, daily weather impact on the WTs’ sub-systems. However, it is worth mentioning that while not implemented in analyses for this paper, Weibull distribution allows assessing age-dependent failure rates; and by introducing an acceleration factor, variable environmental stress can be included in the analysis (McPherson 2019). In an OWF, this can be used for model impact of the severe weather conditions on the failure rates.

Among a number of available sources of failure data in the offshore industry (Dao et al. 2019; Athamn 2015; Hill, et al. 2008; Hameed et al. 2011), we chose to use reference (Carroll et al. 2015), which also provides the number of technicians required for variety of maintenance activities. This allows to implement realistic data at the operational level of the model. Additionally, this data source provides a ready-to-implement WT schema of sub-systems with related failure ratios for those elements, which are based on 1768 turbine years of operation. It is also assumed that replaced or repaired sub-system is “as good as new”, and updated random failure time t1 is estimated with (12) for a such component.

The activities of maintenance vessels can be divided into two main groups, i.e., scheduled maintenance and unscheduled maintenance. In here, we identify unscheduled maintenance as Corrective Maintenance (CM), which can be defined as “maintenance, which is carried out after failure detection and is aimed at restoring an asset to a condition in which it can perform its intended function” (Deutsches Institut für Normung 2018; U.S. Department of Defense 2014; IEC 2006). Furthermore, we identify any maintenance activity not connected to failures as scheduled maintenance. In this work, we focus solely on CM.

Weather conditions pose a major impact on maintenance activities, resulting from the harsh maritime environment. According to regulations, all maintenance activities must be performed during specific weather conditions, also known as operational window (Hu and Yung 2020, Step Change in Safety 2018, Close, et al. 2020). The related constraints vary with the available transportation means. The most relevant constraints for OWF maintenance are wave height (m) and wind speed (ms−1). Another important weather constraint is daylight condition ({0|1}, where 0 represents night or zero-visibility conditions). In here, we adopt following common limit values (Skobiej, et al. 2020): wave height < 2.5 m, wind speed < 25 ms−1, daylight = 1. The time periods, in which all three conditions are being fulfilled, are considered as operational windows.

To perform thorough investigation of the resilience of OWF’s maintenance, an event-driven model is developed. The FT module is responsible for introducing events as failures into WTs, and the maintenance module is responsible for reacting and handling the WT’s problem. Depending on failure type, i.e., minor, major, or major replacement, an according vessel is assigned to maintain the failure, i.e., Crew Transport Vessel (CTV), Fast Supply Vessel (FSV), or Heavy Lift Vessel (HLV). The main disruptions regarded in the model are severe weather conditions, preventing the execution of maintenance activities. Aforementioned conditions have impact on maintenance activities with regard to technical and operational specification of OWF support vessels. Delays caused by weather conditions affect transportation times and repairing times, and may prevent support vessels from starting a maintenance campaign. During the simulation, values of selected indicators are collected and exported for further analyses.

In case of OWF maintenance, there are following relevant KPIs: Operational Availability (OA), Mean Time To Recover (MTTR), Mean Time Between Failures (MTBF), Overall Equipment Effectiveness (OEE), and Inoperable Assets (IA) (Torres et al. 2020, Parmenter 2007, Baltic and International Maritime Council (BIMCO) (2018), Standards Policy and Strategy Committee 2019, Moran 2019). One can note, that these parameters are interconnected, e.g., IA is directly linked to OA, MTTR, and MTBF. In order to perform the third stage of validation—investigation against results obtained by the simulation model with other weather data inputs—two KPIs are selected: OA and MTTR. Simulation results based on these two KPIs are presented in Sect. 4.

4 Simulation results

Simulation studies aimed for investigation of selected KPIs and validation of the novel copula approach are based on maintenance model introduced in Skobiej, et al. (2020) and described in Sect. 3. KPI results for three weather data sources and three configurations of maintenance vessels are obtained in the course of simulation runs, in a perspective of 1-year time horizon. The selected weather sources are named ERA5, NOAA, and copula, which follow the classification from Sect. 2.2 where all the sources are introduced. In addition, three options of available CTV vessels are examined: 1, 3, and 5 vessels for each weather data set. The simulation results of selected KPIs are shown in Fig. 6 for OA KPI and in Fig. 7 for MTTR KPI.

Fig. 6
figure 6

Operational availability [%] KPI after 1 year for various weather data sets and numerous CTVs (higher is better)

Fig. 7
figure 7

Mean time to recovery [h] KPI after 1 year for various weather data sets and numerous CTVs (lower is better)

The results shown in Fig. 6 indicate that number of CTVs has impact on OA KPI regardless of used weather data sets. However, it is noticeable that the difference between 3 and 5 CTVs option is not significant. Such an observation might be useful in case of optimizing the number of CTV vessels.

Regarding the main focus of the study, one can notice that in case of copula data set, the OA results are closer to ERA5 outcomes. Such similarities are understandable since ERA5 is a base for copula-based weather generator. In contrast, NOAA-based OA results are scored below all others. Keeping in mind statistic parameters of weather data sets presented in Table 1, the possible cause of such a distribution of results could be attributed to a wave height parameter, which is the highest for NOAA source. Therefore, it is also a reason for a lower number of operational windows.

In case of MTTR KPI shown in Fig. 7, again the aspect of wave heights seems to play a significant role. It is particularly visible for NOAA data set and 1 CTV option. Alike the OA results, the MTTR outcome appears to be shaped by the WVHT parameter of weather data sets.

In a conclusion of the Simulation results section, it is safe to point out that copula-based data set within the OWF maintenance model is a base for delivery expectable and trustworthy KPI results in comparison to other, historical weather data sets.

5 Conclusion

Current implementations of virtual models, often within the digital twin domain, require reliable and trustworthy data inputs. In case of OWF industry, where life cycle horizons of analyses reach 25 + years, availability of historical weather data for specific locations poses a challenge. The presented study investigates a possibility of using synthetic copula-based weather data for modeling maintenance processes of OWFs. The updated approach to the copula method comprises proprietary application of seasonality and additional data manipulation procedure. In the course of the study, three stages of validation are proposed: validation against results available in the literature, validation against real weather data, and validation against simulation results obtained with numerous weather data sets. The obtained outcomes indicate that the proposed copula-based weather generator delivers useful data, what was confirmed at every stage of validation. Nevertheless, it is foreseen that future solution shall address supplementary issues like modeling climate change trends or to be able to adopt selected user-defined requirements.