<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Archiving and Interchange DTD v2.3 20070202//EN" "archivearticle.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="methods-article" dtd-version="2.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Mar. Sci.</journal-id>
<journal-title>Frontiers in Marine Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Mar. Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-7745</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fmars.2024.1503552</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Marine Science</subject>
<subj-group>
<subject>Methods</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Significant wave height prediction in monsoon regions based on the VMD-CNN-BiLSTM model</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Shen</surname>
<given-names>Wengeng</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2849643"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Ying</surname>
<given-names>Zongquan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhao</surname>
<given-names>Yiming</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2843042"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Wang</surname>
<given-names>Xuegang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2855701"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>China Communications Construction Company (CCCC) Fourth Harbor Engineering Institute Co., Ltd.</institution>, <addr-line>Guangzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Southern Marine Science and Engineering Guangdong Laboratory (Zhuhai)</institution>, <addr-line>Zhuhai</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Key Laboratory of Environment and Safety Technology of Transportation Infrastructure Engineering, China Communications Construction Company (CCCC)</institution>, <addr-line>Guangzhou</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: Jianchuan Yin, Guangdong Ocean University, China</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: Zeguo Zhang, Guangdong Ocean University, China</p>
<p>Lianbo Li, Dalian Maritime University, China</p>
</fn>
<fn fn-type="corresp" id="fn001">
<p>*Correspondence: Xuegang Wang, <email xlink:href="mailto:510simon@163.com">510simon@163.com</email>
</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>25</day>
<month>11</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>11</volume>
<elocation-id>1503552</elocation-id>
<history>
<date date-type="received">
<day>29</day>
<month>09</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>31</day>
<month>10</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Shen, Ying, Zhao and Wang</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Shen, Ying, Zhao and Wang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>A novel significant wave height prediction method for monsoon regions is proposed, utilizing the VMD-CNN-BiLSTM model to enhance prediction accuracy under complex meteorological conditions. Traditional numerical models exhibit limitations in managing extreme marine conditions and fail to fully integrate wind field information. Meanwhile, existing machine learning models demonstrate insufficient generalization and robustness for long-term predictions. To address these shortcomings, the predictive approach combines Variational Mode Decomposition (VMD) with a hybrid deep learning model (CNN-BiLSTM). VMD is employed to decompose the original wave height sequence and extract key features, while CNN captures the spatial features of wind field and wave height data. BiLSTM, in turn, models the temporal dependencies. Experimental results reveal that the VMD-CNN-BiLSTM model provides substantial advantages in prediction performance across all seasons, including the entire year. Compared to traditional models, the proposed method demonstrates significantly reduced Mean Absolute Error (MAE) and Root Mean Square Error (RMSE), alongside an improved coefficient of determination (R&#xb2;). These findings confirm the effectiveness and reliability of the method under complex meteorological conditions such as monsoons and typhoons.</p>
</abstract>
<kwd-group>
<kwd>wave height</kwd>
<kwd>prediction</kwd>
<kwd>CNN-BiLSTM</kwd>
<kwd>VMD</kwd>
<kwd>monsoon</kwd>
</kwd-group>
<counts>
<fig-count count="14"/>
<table-count count="4"/>
<equation-count count="13"/>
<ref-count count="27"/>
<page-count count="17"/>
<word-count count="7205"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-in-acceptance</meta-name>
<meta-value>Ocean Solutions</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1" sec-type="intro">
<label>1</label>
<title>Introduction</title>
<p>Wave height prediction is a crucial issue in coastal and marine engineering. The larger the wave height, the worse the sea conditions, significantly impacting the safe operation of platform structures (<xref ref-type="bibr" rid="B1">Abed-Elmdoust and Kerachian, 2012</xref>). Therefore, forecasting wave height in advance allows for timely assessment of platform safety levels and risk mitigation. However, due to the highly nonlinear and non-stationary statistical characteristics of waves, analyzing and predicting wave height is challenging.</p>
<p>Numerous efforts have been made in existing research on wave height prediction. Numerical wave models are widely applied in global sea state forecasting (<xref ref-type="bibr" rid="B21">Simmons et&#xa0;al., 2004</xref>). The principle of numerical wave models is to obtain information such as wave height and period by solving the wave spectrum equation of oceanic physical processes. <xref ref-type="bibr" rid="B5">Bottcher et&#xa0;al. (2012)</xref> compared the wave heights observed by buoys with the model predictions, concluding that numerical prediction is a reliable method for wave height forecasting. Advanced third-generation models, such as the Wave Model (WAM) (<xref ref-type="bibr" rid="B15">Mentaschi et&#xa0;al., 2015</xref>), WAVEWATCH-III (WW3) (<xref ref-type="bibr" rid="B20">Rogers et&#xa0;al., 2003</xref>), and Simulation Waves Nearshore (SWAN) (<xref ref-type="bibr" rid="B22">Swain et&#xa0;al., 2019</xref>), are currently among the most sophisticated numerical models. The WAM and WW3 models have a similar structure, but WW3 uses more complex dissipation source terms and wind input terms than WAM. <xref ref-type="bibr" rid="B13">Liu et&#xa0;al. (2019)</xref> compared the performance of WAM and WW3 using data from the South Indian Ocean, concluding that both methods can predict significant wave height well. The SWAN model was developed to address complex wave conditions in coastal areas. <xref ref-type="bibr" rid="B12">Liang et&#xa0;al. (2019)</xref> validated the performance of SWAN through buoy measurements in the northwest Pacific, northeast Pacific, and northwest Atlantic. The experimental results showed that, under accurate boundary conditions, the SWAN model could simulate coastal waves effectively. However, the fixed energy spectrum equations with fixed expressions used by these models may not fully represent the complex and variable ocean environment. Specifically, the accuracy of numerical wave predictions under extreme and highly variable ocean conditions still needs improvement.</p>
<p>Machine learning is a data-driven approach that has recently been successfully applied to wave height prediction (<xref ref-type="bibr" rid="B26">Yu and Wang, 2021</xref>). Based on long-term, accurate wave height measurements obtained from buoys, satellites, and scatterometers, machine learning methods predict future wave heights by learning the inherent variability in the data (<xref ref-type="bibr" rid="B7">Fan et&#xa0;al., 2019</xref>). <xref ref-type="bibr" rid="B6">Deo et&#xa0;al. (2001)</xref> explored a three-layer feedforward network to obtain significant wave height outputs. <xref ref-type="bibr" rid="B3">Berbic et&#xa0;al. (2017)</xref> used artificial neural networks (ANN) and support vector machines (SVM) to predict significant wave heights over 0.5&#x2013;5.5 hours, demonstrating that ANN and SVM outperform numerical models in this range. Shen <xref ref-type="bibr" rid="B14">Lixiang et&#xa0;al. (2023)</xref> proposed an Attention-LSTM model based on attention mechanisms and multivariable inputs for short-term wave height prediction in the Longkou sea area of Shandong. <xref ref-type="bibr" rid="B18">Pradnya and Londhe (2016)</xref> used neural wavelet technology to predict extreme wave heights, showing that multi-level decomposition of wave data helps improve prediction accuracy. Recurrent neural networks (RNN) (<xref ref-type="bibr" rid="B16">Mikolov et&#xa0;al., 2021</xref>) and their variant long short-term memory networks (LSTM) (<xref ref-type="bibr" rid="B8">Gers et&#xa0;al., 2002</xref>) have unique advantages in solving prediction problems. <xref ref-type="bibr" rid="B27">Zhang et&#xa0;al. (2021)</xref> proposed the N-LSTM model, combining numerical forecasts with measured data, using LSTM and Gaussian approximation modules to improve the accuracy of numerical forecasts. <xref ref-type="bibr" rid="B19">Pushpam and Enigo V.S., 2020</xref>) applied RNN-LSTM to predict significant wave heights, showing good performance within 24 hours. <xref ref-type="bibr" rid="B10">Kaloop et&#xa0;al. (2020)</xref> integrated wavelet, particle swarm optimization (PSO), and extreme learning machine (ELM) methods into the wavelet PSO-ELM model for estimating coastal and deep-sea wave heights, with evaluation results showing high prediction accuracy. <xref ref-type="bibr" rid="B9">Hao et al. (2023)</xref> systematically analyzed the effects of input length, forecast length, and model complexity on wave height prediction using RNN/LSTM/GRU and other recurrent neural networks. <xref ref-type="bibr" rid="B17">Minghao et al. (2024)</xref> introduced Rayleigh parameters in wave height prediction, showing improvements in mid- to long-term prediction capabilities for BPNN and LSTM. <xref ref-type="bibr" rid="B24">Yifan et&#xa0;al. (2024)</xref> introduced Spearman correlation analysis into RNN/LSTM/GRU models and proposed the LSTM-Attention model. These studies achieved promising results using various neural network models for wave height prediction. However, they have not fully incorporated wind field information. As the key driver of wave formation and evolution, wind field data is crucial for wave height prediction. Ignoring wind field information may limit the model&#x2019;s ability to capture the complex relationships between wind and waves (<xref ref-type="bibr" rid="B2">Ahmed et&#xa0;al., 2024</xref>). <xref ref-type="bibr" rid="B25">Yin et&#xa0;al. (2023)</xref> proposed an adaptive tidal level prediction mechanism based on EMD and the Lipschitz quotients method, combining harmonic analysis with a variable structure neural network to automatically determine model parameters, thereby improving the accuracy and adaptability of tidal level prediction. Additionally, machine learning models often experience a decline in prediction accuracy over long-term forecasts, particularly when dealing with complex nonlinear time series wave data, limiting the model&#x2019;s generalization capability and robustness.</p>
<p>This study addresses the limitations in existing models, particularly their inability to fully incorporate wind field information for long-term wave height prediction, and proposes a hybrid model based on VMD-CNN-BiLSTM for a typical wind-wave region&#x2014;the southeastern sea of China&#x2014;aimed at improving wave height prediction accuracy by comprehensively considering wind field and significant wave height information. First, the model uses Variational Mode Decomposition (VMD) to decompose the wave height data, breaking down the complex non-stationary wave height sequence into multiple relatively stationary mode functions, facilitating subsequent feature extraction. Then, the decomposed wave height modes and wind field data are input into a Convolutional Neural Network (CNN) for feature extraction, where CNN extracts local spatial features of the wind field and wave height modes. Finally, the extracted features are fed into a Bidirectional Long Short-Term Memory (Bi-LSTM) network to capture the dependencies in the wave height time series, thereby better understanding the intrinsic relationship between wind and waves. Through this approach, the proposed model demonstrates greater robustness and generalization ability in long-term wave height prediction, providing a more reliable solution for significant wave height forecasting.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>WW3-SWAN numerical simulation</title>
<sec id="s2_1">
<label>2.1</label>
<title>Model settings</title>
<p>The WW3 model (<xref ref-type="bibr" rid="B23">Tolman, 2009</xref>) was developed based on the third-generation wave model WAM, with its governing equations modeled by solving the action balance equation over the wave number-direction spectrum. The model uses the global digital elevation model (DEM) dataset released by the General Bathymetric Chart of the Oceans (GEBCO), with a resolution of 15&#x2033;&#xd7;15&#x2033;, and wind field data at a height of 10 meters from the ERA5 reanalysis data by the European Centre for Medium-Range Weather Forecasts (ECMWF), with a resolution of 0.25&#xb0;&#xd7;0.25&#xb0;, from January 1, 2017, 00:00 to December 31, 2021, 23:00. The extent of the wind field should be greater than or equal to the extent of the WW3 and SWAN numerical simulations. No additional data is input into the boundary conditions of the WW3 model. The wave spectrum grid of the WW3 model is set to 32&#xd7;24, with a frequency range from 0.0373 Hz to 0.7159 Hz, divided into 32 bands, and wave direction divided into 24 directions. The calculation area of the model covers the longitude range of 110&#xb0;E to 130&#xb0;E and the latitude range of 10&#xb0;N to 30&#xb0;N, with a spatial resolution of 0.25&#xb0;&#xd7;0.25&#xb0;. The layout of the model region is shown in <xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1</bold>
</xref>.</p>
<fig id="f1" position="float">
<label>Figure&#xa0;1</label>
<caption>
<p>Calculation area of the WW3-SWAN model. <bold>(A)</bold> WW3-SWAN, <bold>(B)</bold> SWAN unstructured grid.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g001.tif"/>
</fig>
<p>The SWAN model was modified and improved by <xref ref-type="bibr" rid="B4">Booij et&#xa0;al. (1996)</xref> from Delft University of Technology based on the third-generation wave model WAM. The model discretizes the governing equations using an implicit method, taking into account wave-wave interactions and the breaking effects caused by depth changes during wave propagation, making it effective in simulating the evolution of nearshore waves. The computational range of the SWAN model is from 115.59&#xb0;E to 117.71&#xb0;E in longitude and from 21.78&#xb0;N to 23.66&#xb0;N in latitude, using an unstructured grid, as shown in <xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1B</bold>
</xref>. Bathymetric data comes from the GEBCO dataset, wind field data uses ERA5 reanalysis data, and the wave spectrum data at open boundary points is obtained from the wave spectrum output of the WW3 model. The simulation time range is from 00:00:00 on January 1, 2017, to 23:00:00 on December 31, 2021, with an output time interval of one hour.</p>
<p>To verify the accuracy of the WW3-SWAN numerical model, a MARK III Wave Rider instrument was deployed in the waters off the Stone Tablet Mountain Cape, at the coordinate position (22&#xb0;55.7046&#x2032;N, 116&#xb0;31.4034&#x2032;E), as shown in <xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref>. The Wave Rider instrument has a wave height measurement range of &#xb1;20m. The measured data were processed by the instrument&#x2019;s built-in software, which then statistically generated hourly wave height observation data. The observation period was from 00:00 on April 1, 2021, to 23:00 on November 18, 2021.</p>
<fig id="f2" position="float">
<label>Figure&#xa0;2</label>
<caption>
<p>MARK III Wave instrument monitoring position.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g002.tif"/>
</fig>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Data validation</title>
<p>
<xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref> shows a comparison between the significant wave heights from the numerical model and the measured values. The significant wave height values from the WW3-SWAN numerical simulation are consistent with the observed values in terms of the overall trend. However, due to the ERA5 reanalysis data underestimating the intensity of typhoons in the Northwest Pacific (<xref ref-type="bibr" rid="B11">Li and Hu, 2021</xref>), the numerical simulation slightly underestimates the peak values of the significant wave heights.</p>
<fig id="f3" position="float">
<label>Figure&#xa0;3</label>
<caption>
<p>Comparison of WW3-SWAN SWH with the measured value. <bold>(A)</bold> Spring, <bold>(B)</bold> Summer, <bold>(C)</bold> Fall.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g003.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4</bold>
</xref> shows the situation of some typhoons in the Western Pacific in 2021, with longitude on the horizontal axis, latitude on the vertical axis, and wind speed represented by the color scale. As shown in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4A</bold>
</xref>, during the spring season, Typhoon Surigae formed on April 10, 2021, with wind speeds rapidly increasing from 28 m/s to 60 m/s, and was upgraded to a super typhoon on April 17-18, 2021. The typhoon&#x2019;s center was located approximately 1,280 km southeast of Manila, Philippines, in the Northwest Pacific Ocean (10.3&#xb0;N, 131.9&#xb0;E), with maximum winds near the center reaching 15 on the Beaufort scale (50 m/s). It transitioned into an extratropical cyclone on April 25. At 12:00 on April 18, 2021, the South China Sea was affected by the typhoon, with wind speeds around 10 m/s in the area of the wave monitoring site, leading to higher waves. Therefore, during the typhoon period, the average significant wave height measured in <xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3A</bold>
</xref> was 1.4m, slightly higher than the numerical simulation value. In May, with no typhoon influence, the average significant wave height at the wave monitoring site was 0.66m, with relatively calm sea conditions, and the numerical simulation values were closer to the measured values at this time.</p>
<fig id="f4" position="float">
<label>Figure&#xa0;4</label>
<caption>
<p>Typhoons in the Western Pacific during 2021. <bold>(A)</bold> Surigae, <bold>(B)</bold> Choi-wan, <bold>(C)</bold> Lupit, <bold>(D)</bold> Kompasu.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g004.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4B</bold>
</xref>, during the summer season, Typhoon Choi-Wan entered the South China Sea on June 3, 2021, with maximum sustained winds near the center reaching 65 km/h. At 9:00 on June 4, 2021, wind speeds at the wave monitoring site reached 6-10 m/s, with a peak significant wave height of around 1.5 m. As shown in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4C</bold>
</xref>, Typhoon Lupit formed in Zhanjiang, Guangdong, on August 2, 2021, and gradually approached the coasts of Fujian and Guangdong. By 15:00 on August 6, 2021, wind speeds from Typhoon Lupit along the Fujian-Guangdong coast reached around 10 m/s, causing the wave height at the monitoring site to reach a maximum of approximately 2.5 m. Therefore, during the typhoon periods shown in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4B</bold>
</xref>, the observed values of significant wave height were consistently higher than the values simulated by the numerical model.</p>
<p>As shown in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4D</bold>
</xref>, during the autumn season, Typhoon Kompasu formed in the Philippine Sea on October 8, 2021, and steadily moved westward after entering the South China Sea, with its center approaching the coastal areas of the South China Sea. Therefore, as seen in <xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3C</bold>
</xref>, the measured wave heights increased significantly during mid-October 2021, while the simulated wave heights were slightly lower.</p>
<p>To further validate the accuracy of the numerical simulation results in this study against the measured data, Mean Absolute Error (MAE), Root Mean Square Error (RMSE), and the coefficient of determination (R&#xb2;) were used to quantitatively evaluate the accuracy of the numerical results. The calculation formulas are shown in <xref ref-type="disp-formula" rid="eq1">Equations 1</xref>&#x2013;<xref ref-type="disp-formula" rid="eq3">3</xref>.</p>
<disp-formula id="eq1">
<label>(1)</label>
<mml:math display="block" id="M1">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>n</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq2">
<label>(2)</label>
<mml:math display="block" id="M2">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>n</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq3">
<label>(3)</label>
<mml:math display="block" id="M3">
<mml:mrow>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In the formulas, <italic>x<sub>i</sub>
</italic> represents the numerical simulation values, <italic>y<sub>i</sub>
</italic> represents the measured values, <italic>n</italic> is the total number of samples, and <inline-formula>
<mml:math display="inline" id="im1">
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im2">
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:math>
</inline-formula> are the mean values of the numerical simulation and measured values, respectively.</p>
<p>To evaluate the WW3-SWAN numerical simulation model, <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref> uses MAE, RMSE, and R&#xb2; for a quantitative assessment of model performance. Statistical analysis shows that the WW3-SWAN model performs well across different seasons. The MAE ranges from 0.1413 m to 0.2130 m, indicating that the average deviation between the simulated and observed values is quite small. RMSE, which is more sensitive to larger errors, is slightly higher, ranging from 0.1828 m to 0.2844 m. This is mainly due to the impact of extreme weather conditions like typhoons, which cause deviations in significant wave height at peak values. The R&#xb2; values are notably high, between 0.7801 and 0.8493, indicating a strong linear relationship between the simulated and observed significant wave heights. The model performs best in the spring, with the highest R&#xb2; value of 0.8493. In summer and autumn, frequent typhoons lead to reduced accuracy in the numerical simulation. Overall, the WW3-SWAN model reliably reflects the significant wave height in the study area, capturing the magnitude and temporal variation, and can serve as input data for the VMD-CNN-BiLSTM model.</p>
<table-wrap id="T1" position="float">
<label>Table&#xa0;1</label>
<caption>
<p>Numerical simulation error.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="left">Season</th>
<th valign="middle" align="center">MAE/m</th>
<th valign="middle" align="center">RMSE/m</th>
<th valign="middle" align="center">R<sup>2</sup>
</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="left">Spring (April and May)</td>
<td valign="middle" align="center">0.1540</td>
<td valign="middle" align="center">0.2067</td>
<td valign="middle" align="center">0.8493</td>
</tr>
<tr>
<td valign="middle" align="left">Summer (June, July and August)</td>
<td valign="middle" align="center">0.1413</td>
<td valign="middle" align="center">0.1828</td>
<td valign="middle" align="center">0.7910</td>
</tr>
<tr>
<td valign="middle" align="left">Fall (September, October and November)</td>
<td valign="middle" align="center">0.2130</td>
<td valign="middle" align="center">0.2844</td>
<td valign="middle" align="center">0.7801</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Forecasting models</title>
<sec id="s3_1">
<label>3.1</label>
<title>VMD model</title>
<p>VMD (Variational Mode Decomposition) is an adaptive, fully non-recursive signal processing technique that combines Wiener filtering, Hilbert transform, and the Alternating Direction Method of Multipliers (ADMM). As a non-stationary time series, significant wave height is well-suited for decomposition using VMD. The VMD decomposition process effectively transforms into an optimization process. The two main components of VMD are constructing the variational problem and solving it. Variational modes refer to the modes obtained by solving the variational problem. VMD iteratively searches for the optimal solution of the variational modes, adaptively updating the optimal center frequency and bandwidth for each Intrinsic Mode Function (IMF). VMD redefines the intrinsic mode function, as shown in <xref ref-type="disp-formula" rid="eq4">Equation 4</xref>. Compared to other decomposition methods like Empirical Mode Decomposition (EMD) or Wavelet Transform, VMD was chosen for its superior ability to reduce mode mixing and provide more stable component separation under complex wave conditions.</p>
<disp-formula id="eq4">
<label>(4)</label>
<mml:math display="block" id="M4">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <italic>k</italic> represents the mode number, <italic>A<sub>k</sub>
</italic>(<italic>t</italic>) is the amplitude of the <italic>k</italic>-th mode, <italic>&#x3c6;k</italic>(<italic>t</italic>) is the phase of the <italic>k</italic>-th mode, and <italic>uk</italic>(<italic>t</italic>) is the <italic>k</italic>-th mode function.</p>
<p>At this point, the variational problem constructed by VMD is shown in <xref ref-type="disp-formula" rid="eq5">Equation 5</xref>:</p>
<disp-formula id="eq5">
<label>(5)</label>
<mml:math display="block" id="M5">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>j</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <italic>u<sub>k</sub>
</italic> represents the corresponding mode function, and <inline-formula>
<mml:math display="inline" id="im3">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the center frequency of the corresponding mode.</p>
<p>By introducing Lagrange multipliers, the constrained optimization problem above is transformed into an unconstrained problem, as shown in <xref ref-type="disp-formula" rid="eq6">Equation 6</xref>:</p>
<disp-formula id="eq6">
<label>(6)</label>
<mml:math display="block" id="M6">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>j</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
<mml:msubsup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>&#x2329;</mml:mo>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>&#x232a;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <italic>&#x3b1;</italic> represents the variance regularization parameter, and <italic>&#x3bb;</italic> represents the Lagrange multiplier.</p>
<p>To solve this problem, the Alternating Direction Method of Multipliers (ADMM) is used. The specific solving steps are as follows:</p>
<list list-type="order">
<list-item>
<p>Initialize <inline-formula>
<mml:math display="inline" id="im4">
<mml:mrow>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im5">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im6">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and the iteration number <italic>n</italic>.</p>
</list-item>
<list-item>
<p>Increase the variable <italic>n</italic> to 1 and enter the loop.</p>
</list-item>
<list-item>
<p>Update the variables according to <xref ref-type="disp-formula" rid="eq7">Equation 7</xref> until the number of iterations exceeds <italic>k</italic>, then stop updating:</p>
<p><disp-formula id="eq7">
<label>(7)</label>
<mml:math display="block" id="M7">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3b1;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>|</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mo>|</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mo>|</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula></p>
</list-item>
<list-item>
<p>Update the Lagrange multipliers &#x3bb;</p>
<p><disp-formula id="eq8">
<label>(8)</label>
<mml:math display="block" id="M8">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula></p>
</list-item>
<list-item>
<p>If the condition of <xref ref-type="disp-formula" rid="eq9">Equation 9</xref> is met, the loop ends; if not, return to step 2.</p>
</list-item>
</list>
<disp-formula id="eq9">
<label>(9)</label>
<mml:math display="block" id="M9">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>u</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&lt;</mml:mo>
<mml:mi>&#x2208;</mml:mi>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>By constructing and solving the variational problem, VMD can effectively decompose non-stationary data. However, the number of modes after VMD decomposition needs to be manually selected. Multiple tests are required to find the most appropriate number of modes.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>CNN model</title>
<p>CNN are an effective deep learning model widely used for feature extraction in image processing and spatio-temporal data. Through mechanisms like local receptive fields and weight sharing, CNNs can effectively capture local spatial features in the data. In this forecasting model, CNN is used to extract the spatial features of wind fields and wave heights, which will serve as inputs for subsequent time series modeling. CNN architecture is constructed by stacking three main types of layers: convolutional layers, pooling layers, and fully connected (FC) layers. Each convolutional layer contains a set of learnable filters, which aim to automatically extract local features from the input matrix. These filters perform convolution operations based on two important concepts: weight sharing and local connections, which help reduce computational complexity and enhance model performance. The pooling layer follows the convolutional layer, performing down-sampling. A notable feature of the pooling layer is its ability to reduce the dimensionality of feature maps, thus preventing overfitting. Typically, FC layers are used in the final layers of CNN architecture, and their role is to learn nonlinear combinations of features extracted by convolutional layers, generating the final output. Since wave height and wind field data usually exhibit significant spatio-temporal dependencies, CNN can effectively extract local features and patterns from this data through its receptive fields. Therefore, CNN is selected to extract features from wind fields and wave heights in this study.</p>
<p>
<xref ref-type="fig" rid="f5">
<bold>Figure&#xa0;5</bold>
</xref> illustrates the specific process of wind field and wave height data processed through a one-dimensional Convolutional Neural Network (1D-CNN). The input data, representing a sample at a certain time from the dataset, is preprocessed and fed into the convolutional layer of the CNN in sequence form. In the convolutional layer, multiple filters (also known as convolutional kernels) slide over the input sequence, extracting local temporal features through local connectivity and weight sharing. After the convolution operation, the data moves to the pooling layer for downsampling. By selecting the maximum value (max pooling) or the average value (average pooling) within a window, the dimensionality of the feature map is reduced. This not only decreases the computational complexity of the model but also effectively prevents overfitting. After processing by the pooling layer, the dimensionality of the feature map is significantly reduced, preserving key features while lowering computation costs. Finally, these processed feature maps are flattened into a one-dimensional vector, which serves as input for subsequent fully connected layers or other models (such as LSTM or BiLSTM) for the final prediction task.</p>
<fig id="f5" position="float">
<label>Figure&#xa0;5</label>
<caption>
<p>Flow chart of the one-dimensional CNN model.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g005.tif"/>
</fig>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>BiLSTM model</title>
<p>Additionally, since the current wave height is not only related to the current wind field conditions but also influenced by historical wind field and wave height changes, traditional neural networks struggle to capture this long-term dependency. LSTM, with its special architecture, can effectively retain and utilize information from long-term time series, allowing it to capture complex temporal patterns in the data. Moreover, LSTM can solve the vanishing gradient problem found in conventional Recurrent Neural Networks (RNN), making it more stable and accurate in predicting long sequences. Therefore, in wave height forecasting tasks, LSTM becomes a natural choice to better model the temporal dependency and dynamic changes in the data.</p>
<p>A typical LSTM unit contains three types of gates: the input gate <italic>i<sub>t</sub>
</italic>, forget gate <italic>f<sub>t</sub>
</italic>, and output gate <italic>o<sub>t</sub>
</italic>, as shown in <xref ref-type="fig" rid="f6">
<bold>Figure&#xa0;6</bold>
</xref>. In each gate, the state of the memory cell is controlled through element-wise multiplication and the Sigmoid function. The inputs to the LSTM model are the input data at the current state <italic>x<sub>t</sub>
</italic> and the output of the hidden state from the previous layer <italic>h<sub>t</sub>
</italic>
<sub>-1</sub>.</p>
<fig id="f6" position="float">
<label>Figure&#xa0;6</label>
<caption>
<p>LSTM structure diagram.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g006.tif"/>
</fig>
<p>The input data first passes through the forget gate, which determines which information should be discarded or retained. The equation for the forget gate is as follows:</p>
<disp-formula id="eq10">
<label>(10)</label>
<mml:math display="block" id="M10">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:mo>&#xb7;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, <italic>&#x3c3;</italic> represents the Sigmoid activation function, and <italic>W<sub>f</sub>
</italic> and <italic>b<sub>f</sub>
</italic> represent the weights and biases of the forget gate, respectively. The current input <italic>x<sub>t</sub>
</italic> and the previous hidden state <italic>h<sub>t</sub>
</italic>
<sub>-1</sub> are fed into the Sigmoid function. By transforming values between 0 and 1, the forget gate determines which information needs to be updated, where 0 represents unimportant information and 1 represents important information.</p>
<p>Next, the data passes through the input gate, with the calculation formula as follows:</p>
<disp-formula id="eq11">
<label>(11)</label>
<mml:math display="block" id="M11">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#xb7;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Then, the current input <italic>x<sub>t</sub>
</italic> and the hidden state <italic>h<sub>t</sub>
</italic>
<sub>-1</sub> are fed into the hyperbolic tangent function (tanh). At this point, the cell state is calculated and updated to the new cell state. The formula is as follows:</p>
<disp-formula id="eq12">
<label>(12)</label>
<mml:math display="block" id="M12">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>C</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#xb7;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2a00;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2a00;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>C</mml:mi>
<mml:mo>^</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, <italic>tanh</italic> is the hyperbolic tangent activation function, and &#x2299; denotes the element-wise multiplication operation, with <italic>C<sub>t</sub>
</italic> being the new cell state.</p>
<p>Finally, the output gate selects the next hidden state. The new cell state <italic>C<sub>t</sub>
</italic> and the new hidden state <italic>h<sub>t</sub>
</italic> are passed to the next time step. The formula for the output gate is as follows:</p>
<disp-formula id="eq13">
<label>(13)</label>
<mml:math display="block" id="M13">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mo>&#xb7;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2a00;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>A unidirectional LSTM can only process information flow in one direction, whereas a bidirectional LSTM (BiLSTM) enhances the model&#x2019;s ability to understand wave height and wind field temporal evolution by analyzing both forward and backward information in parallel. BiLSTM consists of two LSTM layers operating in opposite directions, as illustrated in <xref ref-type="fig" rid="f7">
<bold>Figure&#xa0;7</bold>
</xref>. The horizontal dashed line represents the time axis flow of the time series data, while the vertical slanted lines depict the information transmission paths between network layers.</p>
<fig id="f7" position="float">
<label>Figure&#xa0;7</label>
<caption>
<p>Bi-LSTM structure diagram.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g007.tif"/>
</fig>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>VMD-CNN-BiLSTM model</title>
<p>The VMD-CNN-BiLSTM model is shown in <xref ref-type="fig" rid="f8">
<bold>Figure&#xa0;8</bold>
</xref>. VMD decomposes the wave height data into several Intrinsic Mode Functions (IMFs), breaking down the non-stationary wave height time series into relatively stationary subcomponents. The CNN network extracts local features from wind speed and IMFs, while the BiLSTM network models the wave time series data to accurately predict future wave heights. The detailed process is as follows:</p>
<list list-type="order">
<list-item>
<p>Data collection and preprocessing: Gather datasets that include wind field and wave height data, and perform preprocessing steps like data cleaning and normalization to ensure the data is suitable for model training.</p>
</list-item>
<list-item>
<p>Dataset splitting: Divide the dataset into training and testing sets to ensure that the training set has enough data for model learning, while the testing set is used to evaluate the model&#x2019;s performance.</p>
</list-item>
<list-item>
<p>VMD decomposition: Apply VMD to decompose the wave height data. The original wave height data is decomposed into several IMFs, each representing different frequency components of the data. This decomposition helps CNN better extract multi-scale features from the wave data.</p>
</list-item>
<list-item>
<p>Feature extraction via CNN: Apply a multi-layer Convolutional Neural Network (CNN) to process the input data, extracting spatial features from the wind field and IMFs. The CNN layers help identify patterns and relationships between spatial data points that affect wave heights.</p>
</list-item>
<list-item>
<p>Temporal feature extraction via Bi-LSTM: Pass the spatial features extracted by CNN into a bidirectional Long Short-Term Memory network (Bi-LSTM), which extracts the temporal features from the data. The Bi-LSTM layer captures time dependencies, allowing the model to account for how event sequences and timings affect wave height variations.</p>
</list-item>
<list-item>
<p>Feature merging and fully connected layers: Merge the features extracted by CNN and Bi-LSTM and pass the merged features through fully connected layers for learning.</p>
</list-item>
<list-item>
<p>Output layer: After the last fully connected layer, a single neuron output layer is used to produce the final wave height prediction.</p>
</list-item>
</list>
<fig id="f8" position="float">
<label>Figure&#xa0;8</label>
<caption>
<p>CNN-BiLSTM Flowchart.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g008.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Wave height prediction</title>
<p>The southeastern seas of China are influenced by the monsoon climate, with prevailing northerly winds in winter and predominantly southerly winds in summer. Waves, influenced by these wind fields, exhibit a seasonal distribution characterized by lower effective wave heights in spring and summer, and higher effective wave heights in autumn and winter (Qiu et&#xa0;al., 2019). As shown in <xref ref-type="fig" rid="f9">
<bold>Figure&#xa0;9</bold>
</xref>, during spring and summer, the effective wave heights in the southeastern sea area range mainly from 0.2 to 1.2 meters. In autumn, the effective wave heights significantly increase, with the mean value ranging from 0.6 to 1.6 meters. In winter, the mean wave height increases further, with the maximum average reaching approximately 2.3 meters. Therefore, when using the VMD-CNN-BiLSTM model to predict effective wave heights, it is necessary to predict the wave heights for each season separately.</p>
<fig id="f9" position="float">
<label>Figure&#xa0;9</label>
<caption>
<p>Seasonal distribution of significant wave heights over five years. <bold>(A)</bold> Spring, <bold>(B)</bold> Summer, <bold>(C)</bold> Fall, <bold>(D)</bold> Winter.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g009.tif"/>
</fig>
<sec id="s4_1">
<label>4.1</label>
<title>VMD decomposition</title>
<p>Before being input into the prediction model, the wave height dataset was normalized to a range between 0 and 1, which accelerates the model&#x2019;s convergence and improves prediction accuracy.</p>
<p>Due to the influence of the monsoon climate and typhoons in this sea area, the effective wave height sequence fluctuates greatly, requiring data processing. This paper uses Variational Mode Decomposition (VMD) to decompose the original sequences of wind fields and effective wave heights into several relatively smooth components. Taking the spring period from 2017 to 2021 as an example, with a data time interval of 1 hour, the VMD decomposition results are shown in <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10</bold>
</xref>.</p>
<fig id="f10" position="float">
<label>Figure&#xa0;10</label>
<caption>
<p>VMD decomposition of significant wave height sequence. <bold>(A)</bold> Wind, <bold>(B)</bold> SWH.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g010.tif"/>
</fig>
<p>From the decomposition, we can observe that the wind field (<xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10A</bold>
</xref>) and the effective wave height (<xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10B</bold>
</xref>) sequences are decomposed into five components (IMF1 to IMF5), transitioning from high-frequency to low-frequency components.</p>
<p>To compare the impact of VMD decomposition of wind fields and effective wave heights on wave height prediction, two cases were designed: Case 1 includes seven vectors, namely the wind field, IMF1 to IMF5 of the effective wave height, and the original effective wave height; Case 2 includes 12 vectors, specifically IMF1 to IMF5 of the wind field, the wind field, IMF1 to IMF5 of the effective wave height, and the original effective wave height.</p>
<p>According to the data in <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref>, the prediction results of Case 1 and Case 2 show significant differences across different seasons. In&#xa0;all seasons, the errors in Case 1 are generally smaller than those in Case 2, indicating that decomposing only the effective wave height better captures its intrinsic features, while introducing the IMF components of the wind field increases the model&#x2019;s complexity, leading to greater errors. Notably, the computation time for Case 1 is significantly shorter than for Case 2, especially in winter, where the CPU time for Case 2 is more than 10 times that of Case 1. This further suggests that introducing the IMF components of the wind field not only increases the model&#x2019;s computational complexity but also significantly prolongs the computation time. Therefore, in the subsequent predictions, to simplify the computation and improve model efficiency, only the effective wave height data, which has a more significant impact on the predictions, will be decomposed.</p>
<table-wrap id="T2" position="float">
<label>Table&#xa0;2</label>
<caption>
<p>VMD decomposition signal impact.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">Season</th>
<th valign="middle" align="center">Evaluation</th>
<th valign="middle" align="center">Case 1</th>
<th valign="middle" align="center">Case 2</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="4" align="center">Spring</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0147</td>
<td valign="middle" align="center">0.0214</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0202</td>
<td valign="middle" align="center">0.0285</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>
</td>
<td valign="middle" align="center">0.9981</td>
<td valign="middle" align="center">0.9962</td>
</tr>
<tr>
<td valign="middle" align="center">CPU time/s</td>
<td valign="middle" align="center">308</td>
<td valign="middle" align="center">3544</td>
</tr>
<tr>
<td valign="middle" rowspan="4" align="center">Summer</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0112</td>
<td valign="middle" align="center">0.0197</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0147</td>
<td valign="middle" align="center">0.0258</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>
</td>
<td valign="middle" align="center">0.9980</td>
<td valign="middle" align="center">0.9938</td>
</tr>
<tr>
<td valign="middle" align="center">CPU time/s</td>
<td valign="middle" align="center">332</td>
<td valign="middle" align="center">3345</td>
</tr>
<tr>
<td valign="middle" rowspan="4" align="center">Fall</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0228</td>
<td valign="middle" align="center">0.0340</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0306</td>
<td valign="middle" align="center">0.0491</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>
</td>
<td valign="middle" align="center">0.9971</td>
<td valign="middle" align="center">0.9925</td>
</tr>
<tr>
<td valign="middle" align="center">CPU time/s</td>
<td valign="middle" align="center">311</td>
<td valign="middle" align="center">3597</td>
</tr>
<tr>
<td valign="middle" rowspan="4" align="center">Winter</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0197</td>
<td valign="middle" align="center">0.0273</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0268</td>
<td valign="middle" align="center">0.0363</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>
</td>
<td valign="middle" align="center">0.9977</td>
<td valign="middle" align="center">0.9958</td>
</tr>
<tr>
<td valign="middle" align="center">CPU time/s</td>
<td valign="middle" align="center">254</td>
<td valign="middle" align="center">5098</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Univariate prediction</title>
<p>This experiment used data from spring, summer, autumn, and winter between 2017 and 2021 as model driving data, with data from 2017 to 2020 used as the training set and data from 2021 as the test set. In the univariate model, only significant wave height is used as the input parameter for the BiLSTM, CNN-BiLSTM, and VMD-CNN-BiLSTM models.</p>
<p>
<xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref> compares the univariate predictions of BiLSTM, CNN-BiLSTM, and VMD-CNN-BiLSTM models with the WW3-SWAN simulation values. As shown in <xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref>, the bidirectional LSTM (BiLSTM) is capable of considering both past and future information and performs well in predicting the overall trend, especially in periods with smaller fluctuations. However, in regions of sharp changes in wave peaks and troughs (as indicated by the black boxes in <xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref>), BiLSTM shows significant errors compared to the WW3-SWAN values. This may be due to BiLSTM&#x2019;s tendency to over-smooth the predictions during periods of sharp fluctuations. In contrast, the CNN-BiLSTM model is more effective at capturing the short-term fluctuations of wave peaks, particularly in areas of peak changes, outperforming BiLSTM. However, CNN-BiLSTM is less effective at capturing troughs, possibly due to limitations in its ability to extract local features. By decomposing the significant wave height data using VMD, the model can effectively extract important frequency components, and combined with CNN&#x2019;s ability to extract local features, it significantly improves prediction accuracy in areas of sharp changes in wave peaks and troughs. Overall, the VMD-CNN-BiLSTM model performs best in capturing changes in wave peaks and troughs.</p>
<fig id="f11" position="float">
<label>Figure&#xa0;11</label>
<caption>
<p>The WW3-SWAN simulated and predicted values of SWH of univariate. <bold>(A)</bold> Spring, <bold>(B)</bold> Summer, <bold>(C)</bold> Fall, <bold>(D)</bold> Winter.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g011.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="f12">
<bold>Figure&#xa0;12</bold>
</xref> and <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref> compare the error metrics of the three models (BiLSTM, CNN-BiLSTM, and VMD-CNN-BiLSTM) in univariate significant wave height prediction, including mean absolute error (MAE), root mean square error (RMSE), and coefficient of determination (R&#xb2;). The left y-axis of <xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref> represents the specific values of MAE, RMSE, and R&#xb2; for each model, while the right y-axis shows the relative values of each model compared to BiLSTM. Negative values of MAE and RMSE indicate that the model performs better than BiLSTM, while positive values indicate poorer performance; for R&#xb2;, larger positive values indicate better prediction accuracy. The results show that the VMD-CNN-BiLSTM model&#x2019;s error is significantly lower than the other two models, especially in regions of sharp changes in wave peaks and troughs. Across all seasons, the VMD-CNN-BiLSTM model demonstrates the best prediction performance, particularly in the autumn and winter seasons, where complex wave height changes caused by typhoons and strong monsoons are present. For example, in the spring season, the MAE of the VMD-CNN-BiLSTM is 0.0159 meters, a 51.23% reduction compared to BiLSTM; across the entire year, the RMSE of the VMD-CNN-BiLSTM is 0.0256 meters, a 62.30% reduction compared to BiLSTM. Furthermore, the R&#xb2; of the VMD-CNN-BiLSTM is the highest across all seasons and in annual statistics, reaching 0.9979 in the spring, a 1.04% improvement compared to BiLSTM. This indicates that the VMD-CNN-BiLSTM model has a stronger correlation between the predicted results and the actual observations, reflecting the actual wave height changes more accurately. Therefore, the MAE and RMSE of the VMD-CNN-BiLSTM model are significantly lower than those of other models across different seasons, indicating superior performance in capturing wave peaks and troughs. The higher R&#xb2; value further demonstrates the model&#x2019;s advantage in trend prediction, particularly in handling complex fluctuations.</p>
<fig id="f12" position="float">
<label>Figure&#xa0;12</label>
<caption>
<p>The WW3-SWAN simulated and predicted values of SWH of multivariate. <bold>(A)</bold> Spring, <bold>(B)</bold> Summer, <bold>(C)</bold> Fall, <bold>(D)</bold> Winter.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g012.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>Table&#xa0;3</label>
<caption>
<p>Statistics of univariate SWH prediction error.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">Season</th>
<th valign="middle" align="center">Error</th>
<th valign="middle" align="center">BiLSTM</th>
<th valign="middle" align="center">CNN-BiLSTM</th>
<th valign="middle" align="center">VMD-CNN-BiLSTM</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="3" align="center">Spring</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0326</td>
<td valign="middle" align="center">0.0259 (-20.55)</td>
<td valign="top" align="center">0.0159 (-51.23)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0514</td>
<td valign="middle" align="center">0.0396 (-22.96)</td>
<td valign="top" align="center">0.0210 (-59.14)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="middle" align="center">0.9876</td>
<td valign="middle" align="center">0.9926 (0.51)</td>
<td valign="top" align="center">0.9979 (1.04)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Summer</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0315</td>
<td valign="middle" align="center">0.0265 (-15.87)</td>
<td valign="top" align="center">0.0150 (-52.38)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0471</td>
<td valign="middle" align="center">0.0418 (-11.25)</td>
<td valign="top" align="center">0.0201 (-57.32)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="middle" align="center">0.9794</td>
<td valign="middle" align="center">0.9838 (0.45)</td>
<td valign="top" align="center">0.9962 (1.72)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Fall</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0715</td>
<td valign="middle" align="center">0.0660 (-7.69)</td>
<td valign="top" align="center">0.0242 (-66.15)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0979</td>
<td valign="middle" align="center">0.0863 (-11.85)</td>
<td valign="top" align="center">0.0325 (-66.80)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="middle" align="center">0.9701</td>
<td valign="middle" align="center">0.9767 (0.68)</td>
<td valign="top" align="center">0.9967 (2.74)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Winter</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0460</td>
<td valign="middle" align="center">0.0470 (2.17)</td>
<td valign="top" align="center">0.0213 (-53.70)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0635</td>
<td valign="middle" align="center">0.0654 (2.99)</td>
<td valign="middle" align="center">0.0292 (-54.02)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="middle" align="center">0.9873</td>
<td valign="middle" align="center">0.9865 (-0.08)</td>
<td valign="top" align="center">0.9973 (1.01)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Annual</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="middle" align="center">0.0449</td>
<td valign="middle" align="center">0.0388 (-13.58)</td>
<td valign="top" align="center">0.0187 (-58.35)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="middle" align="center">0.0679</td>
<td valign="middle" align="center">0.0558 (-17.82)</td>
<td valign="top" align="center">0.0256 (-62.30)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="middle" align="center">0.9836</td>
<td valign="middle" align="center">0.9889 (0.54)</td>
<td valign="top" align="center">0.9977 (1.43)</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The values in parentheses represent the percentage improvement of each model&#x2019;s performance indicators compared to BiLSTM.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Multivariate forecasting</title>
<p>Due to the influence of the monsoon climate in the region, this study conducted a multivariate prediction research to further improve prediction accuracy. In the experiment, both wind speed and significant wave height were used as parameters for the prediction model, considering the impact of the wind field. Similarly, data from spring, summer, autumn, and winter between 2017 and 2021 were used as model driving data, with data from 2017 to 2020 as the training set and data from 2021 as the test set.</p>
<p>
<xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13</bold>
</xref> presents the comparison curves of multivariate predictions from BiLSTM, CNN-BiLSTM, and VMD-CNN-BiLSTM models with WW3-SWAN simulation values. The figure shows that the monsoon climate significantly affects the wind field and wave height variations in the Southeast China Sea, especially in summer and autumn, where the frequent occurrence of typhoons exacerbates the complexity of wave height changes. Therefore, considering multivariate factors such as the wind field is crucial for improving the accuracy of wave height predictions. Spring is a transitional period from the winter to summer wind directions, with complex wind field changes, especially during the impact of typhoon &#x201c;Shuriki,&#x201d; where wind speed and wave height fluctuations significantly increase. <xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13A</bold>
</xref> shows that, compared to univariate predictions, multivariate predictions more accurately capture the overall trend of spring wave heights. Notably, the VMD-CNN-BiLSTM model, by effectively integrating instantaneous changes in the wind field, can accurately predict wave peak and trough changes, with its prediction curve highly aligning with WW3-SWAN simulation values, demonstrating high prediction accuracy. In summer, the prevailing southeast monsoon leads to a relatively stable wind field. <xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13B</bold>
</xref> indicates that, compared to univariate predictions, the VMD-CNN-BiLSTM model performs particularly well when considering wind field factors, with its prediction curve closely matching the WW3-SWAN simulation values, especially during August 17 to August 20, when VMD-CNN-BiLSTM accurately captures the characteristics of wave troughs. Autumn is a transitional period from summer to winter winds, with frequent typhoons and significant wave height changes. <xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13C</bold>
</xref> shows that the VMD-CNN-BiLSTM model better utilizes the intense changes in wind field data to accurately capture extreme wave peak values. The model performs excellently under extreme weather conditions such as typhoons, with its prediction curve closest to the WW3-SWAN simulation values. In winter, the Northeast monsoon prevails in the Southeast China Sea, with strong winds and long durations, resulting in higher overall wave height levels and frequent fluctuations. <xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13D</bold>
</xref> shows that in winter, the VMD-CNN-BiLSTM model effectively captures the overall trend and local fluctuations of wave heights, with its prediction curve highly consistent with the WW3-SWAN simulation values, demonstrating the best prediction performance.</p>
<fig id="f13" position="float">
<label>Figure&#xa0;13</label>
<caption>
<p>The WW3-SWAN simulated and predicted values of SWH of multivariate.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g013.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="f14">
<bold>Figure&#xa0;14</bold>
</xref> and <xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref> show the error performance of multivariate significant wave height prediction models (BiLSTM, CNN-BiLSTM, and VMD-CNN-BiLSTM) in different seasons and annual statistics, including mean absolute error (MAE), root mean square error (RMSE), and coefficient of determination (R&#xb2;), as well as the ratios of each model relative to BiLSTM. The influence of the Southeast China Sea monsoon climate and typhoons was considered to evaluate each model&#x2019;s performance under complex meteorological conditions. The data in <xref ref-type="fig" rid="f14">
<bold>Figure&#xa0;14</bold>
</xref> and <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref> indicate that, within the same season, the VMD-CNN-BiLSTM model has significantly lower errors than the other two models. Particularly, after considering multivariate factors such as the wind field, the prediction performance of VMD-CNN-BiLSTM has significantly improved. Seasonal differences in prediction performance indicate that VMD-CNN-BiLSTM performs exceptionally well in autumn and winter, accurately capturing the drastic wave height changes brought by typhoons and strong monsoons. VMD-CNN-BiLSTM shows optimal performance in MAE and RMSE across all seasons, indicating that this model significantly outperforms BiLSTM and CNN-BiLSTM in multivariate prediction accuracy. For example, in spring, the MAE of VMD-CNN-BiLSTM is 0.0147 meters, a 51.48% reduction compared to BiLSTM; in annual statistics, the RMSE of VMD-CNN-BiLSTM is 0.0244 meters, a 61.81% reduction compared to BiLSTM. Additionally, the R&#xb2; value of VMD-CNN-BiLSTM is the highest across all seasons and annual statistics, reaching 0.9981 in spring, a 0.79% improvement compared to BiLSTM, indicating stronger correlation and consistency in multivariate predictions. The inclusion of wind speed significantly improved the predictive performance of the VMD-CNN-BiLSTM model, particularly under complex meteorological conditions in autumn and winter, resulting in lower MAE and RMSE, as well as higher R&#xb2;. This indicates that the model is more effective at capturing the complex relationship between wind fields and wave heights, thereby enhancing the accuracy and stability of wave height predictions.</p>
<fig id="f14" position="float">
<label>Figure&#xa0;14</label>
<caption>
<p>Multivariate significant wave height prediction error, <bold>(A)</bold> MAE, <bold>(B)</bold> RMSE, <bold>(C)</bold> R<sup>2</sup>.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-11-1503552-g014.tif"/>
</fig>
<table-wrap id="T4" position="float">
<label>Table&#xa0;4</label>
<caption>
<p>Statistics of multivariate SWH prediction error.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">Season</th>
<th valign="middle" align="center">Evaluation</th>
<th valign="middle" align="center">BiLSTM</th>
<th valign="middle" align="center">CNN-BiLSTM</th>
<th valign="middle" align="center">VMD-CNN-BiLSTM</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="3" align="center">Spring</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="top" align="center">0.0303</td>
<td valign="top" align="center">0.0234 (-22.77)</td>
<td valign="top" align="center">0.0147 (-51.48)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="top" align="center">0.0455</td>
<td valign="top" align="center">0.0337 (-25.93)</td>
<td valign="top" align="center">0.0202 (-55.60)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="top" align="center">0.9903</td>
<td valign="top" align="center">0.9947 (0.44)</td>
<td valign="top" align="center">0.9981 (0.79)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Summer</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="top" align="center">0.0298</td>
<td valign="top" align="center">0.0329 (10.40)</td>
<td valign="top" align="center">0.0112 (-62.42)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="top" align="center">0.0404</td>
<td valign="top" align="center">0.0409 (1.24)</td>
<td valign="top" align="center">0.0147 (-63.61)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="top" align="center">0.9848</td>
<td valign="top" align="center">0.9844 (-0.04)</td>
<td valign="top" align="center">0.9980 (1.34)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Fall</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="top" align="center">0.0697</td>
<td valign="top" align="center">0.0476 (-31.71)</td>
<td valign="top" align="center">0.0228 (-67.29)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="top" align="center">0.0932</td>
<td valign="top" align="center">0.0699 (-25.00)</td>
<td valign="top" align="center">0.0306 (-67.17)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="top" align="center">0.9729</td>
<td valign="top" align="center">0.9847 (1.21)</td>
<td valign="top" align="center">0.9971 (2.49)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Winter</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="top" align="center">0.0465</td>
<td valign="top" align="center">0.0328 (-29.46)</td>
<td valign="top" align="center">0.0197 (-57.63)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="top" align="center">0.0631</td>
<td valign="top" align="center">0.0437 (-30.74)</td>
<td valign="top" align="center">0.0268 (-57.53)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="top" align="center">0.9875</td>
<td valign="top" align="center">0.9940 (0.66)</td>
<td valign="top" align="center">0.9977 (1.03)</td>
</tr>
<tr>
<td valign="middle" rowspan="3" align="center">Annual</td>
<td valign="middle" align="center">MAE/m</td>
<td valign="top" align="center">0.0444</td>
<td valign="top" align="center">0.0367 (-17.34)</td>
<td valign="top" align="center">0.0174 (-60.81)</td>
</tr>
<tr>
<td valign="middle" align="center">RMSE/m</td>
<td valign="top" align="center">0.0639</td>
<td valign="top" align="center">0.0551 (-13.77)</td>
<td valign="top" align="center">0.0244 (-61.81)</td>
</tr>
<tr>
<td valign="middle" align="center">R<sup>2</sup>/%</td>
<td valign="top" align="center">0.9855</td>
<td valign="top" align="center">0.9892 (0.38)</td>
<td valign="top" align="center">0.9979 (1.26)</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The values in parentheses represent the percentage improvement of each model&#x2019;s performance indicators compared to BiLSTM.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec id="s5" sec-type="conclusions">
<label>5</label>
<title>Conclusion</title>
<p>This study employs Variational Mode Decomposition (VMD) to extract significant features of significant wave height as intrinsic mode functions, combines Convolutional Neural Networks (CNN) to capture complex internal mappings of wind and waves, and integrates with Bidirectional Long Short-Term Memory (BiLSTM) networks to establish the VMD-CNN-BiLSTM model. The research focuses on the Southeast China Sea, with datasets provided by ECMWF and WW3-SWAN simulations. The case study and prediction results lead to the following conclusions:</p>
<list list-type="order">
<list-item>
<p>Compared to models like BiLSTM and CNN-BiLSTM, the VMD-CNN-BiLSTM model is able to more accurately capture the peaks and smooth trends of wave height, resulting in higher prediction accuracy.</p>
</list-item>
<list-item>
<p>After incorporating wind field data, the MAE and RMSE of each prediction model decrease. Specifically, the VMD-CNN-BiLSTM model&#x2019;s MAE and RMSE are reduced to 0.0174 meters and 0.0244 meters respectively for annual statistics, with the coefficient of determination (R&#xb2;) increasing to 0.9979, outperforming other prediction models.</p>
</list-item>
<list-item>
<p>The VMD-CNN-BiLSTM model exhibits optimal prediction performance across all four seasons, particularly in winter under the influence of strong northeast monsoons and during summer and autumn when typhoons and extreme weather events occur. Its prediction performance significantly surpasses that of BiLSTM and CNN-BiLSTM models, demonstrating the model&#x2019;s excellent adaptability to complex sea conditions.</p>
</list-item>
</list>
</sec>
</body>
<back>
<sec id="s6" sec-type="data-availability">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material. Further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7" sec-type="author-contributions">
<title>Author contributions</title>
<p>WS: Data curation, Methodology, Visualization, Writing &#x2013; original draft. ZY: Conceptualization, Methodology, Writing &#x2013; review &amp; editing. YZ: Formal analysis, Validation, Writing &#x2013; review &amp; editing. XW: Project administration, Supervision, Writing &#x2013; review &amp; editing.</p>
</sec>
<sec id="s8" sec-type="funding-information">
<title>Funding</title>
<p>The author(s) declare that no financial support was received for the research, authorship, and/or publication of this article.</p>
</sec>
<ack>
<title>Acknowledgments</title>
<p>We are very grateful to ECMWF for providing the wind field data, GEBCO for providing the bathymetry data, and CCCC-Fourth Harbor Engineering Institute Co., Ltd. for providing the wave buoy data.</p>
</ack>
<sec id="s9" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>Authors WS and YZ were employed by company CCCC Fourth Harbor Engineering Institute Co., Ltd. Authors ZY and XW were employed by companies CCCC Fourth Harbor Engineering Institute Co., Ltd. and CCCC.</p>
</sec>
<sec id="s10" sec-type="ai-statement">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec id="s11" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abed-Elmdoust</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Kerachian</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Wave height prediction using the rough set theory</article-title>. <source>Ocean Eng.</source> <volume>54</volume>, <fpage>244</fpage>&#x2013;<lpage>250</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.oceaneng.2012.07.020</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmed</surname> <given-names>A. A. M.</given-names>
</name>
<name>
<surname>Jui</surname> <given-names>S. J. J.</given-names>
</name>
<name>
<surname>Al-Musaylh</surname> <given-names>M. S.</given-names>
</name>
<name>
<surname>Raj</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Saha</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Deo</surname> <given-names>R. C.</given-names>
</name>
<etal/>
</person-group>. (<year>2024</year>). <article-title>Hybrid deep learning model for wave height prediction in Australia&#x2019;s wave energy region</article-title>. <source>Appl. Soft Comput.</source> <volume>150</volume>, <fpage>111003</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.asoc.2023.111003</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Berb&#xed;c</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Ocvirk</surname> <given-names>E.</given-names>
</name>
<name>
<surname>Carev&#xed;c</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Lo&#x148;car</surname> <given-names>G.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Application of neural networks and support vector machine for significant wave height prediction</article-title>. <source>Oceanologia</source> <volume>59.3</volume>, <fpage>331</fpage>&#x2013;<lpage>349</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.oceano.2017.03.007</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Booij</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Holthuijsen</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Ris</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>1996</year>). <article-title>The &#x201c;Swan&#x201d; Wave model for shallow water</article-title>. <source>Coast. Eng.</source> <volume>1996</volume>, <fpage>668</fpage>&#x2013;<lpage>676</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1061/9780784402429.0</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bottcher</surname> <given-names>A. B.</given-names>
</name>
<name>
<surname>Whiteley</surname> <given-names>B. J.</given-names>
</name>
<name>
<surname>James</surname> <given-names>A. I.</given-names>
</name>
<name>
<surname>Hiscock</surname> <given-names>J. G.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Watershed assessment model (WAM): model use, calibration, and validation</article-title>. <source>Trans. ASABE</source> <volume>55.4</volume>, <fpage>1367</fpage>&#x2013;<lpage>1383</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.13031/2013.42248</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Deo</surname> <given-names>M. C.</given-names>
</name>
<name>
<surname>Jha</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Chaphekar</surname> <given-names>A. S.</given-names>
</name>
<name>
<surname>Ravikant</surname> <given-names>K.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>Neural networks for wave forecasting</article-title>. <source>Ocean Eng.</source> <volume>28.7</volume>, <fpage>889</fpage>&#x2013;<lpage>898</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/S0029-8018(00)00027-5</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fan</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Gao</surname> <given-names>D.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A newly developed ocean significant wave height retrieval method from Envisat AS-AR wave mode imagery</article-title>. <source>Acta Oceanologica Sin.</source> <volume>38</volume>, <fpage>120</fpage>&#x2013;<lpage>127</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s13131-019-1480-2</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gers</surname> <given-names>F. A.</given-names>
</name>
<name>
<surname>Schraudolph</surname> <given-names>N. N.</given-names>
</name>
<name>
<surname>Schmidhuber</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Learning precise timing with LSTM recurrent networks</article-title>. <source>J. Mach. Learn. Res.</source> <volume>3</volume>, <fpage>115</fpage>&#x2013;<lpage>143</lpage>.</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hao</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Gao</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Significant wave height prediction based on deep learning in the South China Sea</article-title>. <source>Front. Mar. Sci.</source> <volume>9</volume>, <elocation-id>1113788</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fmars.2022.1113788</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kaloop</surname> <given-names>M. R.</given-names>
</name>
<name>
<surname>Kumar</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Zarzoura</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Roy</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Hu</surname> <given-names>J. W.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A wavelet&#x2014;Particle swarm optimization&#x2014;Extreme learning machine hybrid modeling for significant wave height prediction</article-title>. <source>Ocean Eng.</source> <volume>213</volume>, <fpage>107777</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.oceaneng.2020.107777</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Hu</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Assessment of typhoons in ERA-Interim and ERA-5 reanalysis datasets</article-title>. <source>Hydro-Science Eng.</source> (<volume>2021</volume>), <fpage>62</fpage>&#x2013;<lpage>69</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.12170/20200222001</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Gao</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Shao</surname> <given-names>Z.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Characteristics of global waves based on the third-generation wave model SWAN</article-title>. <source>Mar. Structures</source> <volume>64</volume>, <fpage>35</fpage>&#x2013;<lpage>53</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.marstruc.2018.10.011</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Rogers</surname> <given-names>W. E.</given-names>
</name>
<name>
<surname>Babanin</surname> <given-names>A. V.</given-names>
</name>
<name>
<surname>Young</surname> <given-names>I. R.</given-names>
</name>
<name>
<surname>Romero</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Zieger</surname> <given-names>S.</given-names>
</name>
<etal/>
</person-group>. (<year>2019</year>). <article-title>Observation-based source terms in the third-generation wave model WAVEWATCH III: Updates and verification</article-title>. <source>J. Phys. Oceanogr.</source> <volume>49</volume>, <fpage>489</fpage>&#x2013;<lpage>517</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1175/JPO-D-18-0137.1</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lixiang</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Yunyue</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Zonghui</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Songgui</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Research on wave height prediction in Longkou sea area based on Attention-LSTM network</article-title>. <source>J. Waterway Harbor</source> <volume>44</volume>, <fpage>196</fpage>&#x2013;<lpage>201</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3969/j.issn.1005-8443.2023.02.006</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mentaschi</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Besio</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Cassola</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Mazzino</surname> <given-names>A.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Performance evaluation of wavewatch III in the Mediterranean sea</article-title>. <source>Ocean Model.</source> <volume>90</volume>, <fpage>82</fpage>&#x2013;<lpage>94</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ocemod.2015.04.003</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mikolov</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Kombrink</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Burget</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Cernocky</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Khudanpur</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Extensions of recurrent neural network language model</article-title>,&#x201d; in <conf-name>2011 IEEE international conference on acoustics, speech and signal processing (ICASSP)</conf-name>. <fpage>5528</fpage>&#x2013;<lpage>5531</lpage> (<publisher-loc>Piscataway, NJ, USA</publisher-loc>: <publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Minghao</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Lingling</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Mingming</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Peng</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>The application of the Rayleigh parameter in machine learning prediction of wave height</article-title>. <source>Oceanologia Limnologia Sin.</source> <volume>55</volume>, <fpage>318</fpage>&#x2013;<lpage>331</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.11693/hyhz20230900180</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pradnya</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Londhe</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Prediction of extreme wave heights using neuro wavelet technique</article-title>. <source>Applied Ocean Research.</source> <volume>58</volume>, <fpage>241</fpage>&#x2013;<lpage>252</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.apor.2016.04.011</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Pushpam</surname> <given-names>P. M. M.</given-names>
</name>
<name>
<surname>Enigo V.S.</surname> <given-names>F.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Forecasting significant wave height using RNN-LSTM models</article-title>,&#x201d; in <conf-name>Proceedings of the 2020 4th International Conference on Intelligent Computing and Control Systems (ICICCS)</conf-name>. <fpage>1141</fpage>&#x2013;<lpage>1146</lpage> (<publisher-loc>New York</publisher-loc>: <publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rogers</surname> <given-names>W. E.</given-names>
</name>
<name>
<surname>Hwang</surname> <given-names>P. A.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>D. ,. W.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Investigation of wave growth and decay in the SWAN model: three regional-scale applications</article-title>. <source>Oceanography</source> <volume>33</volume>, <fpage>366</fpage>&#x2013;<lpage>389</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1175/1520-0485(2003)033&lt;0366:IOWGAD&gt;2.0.CO;2</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Simmons</surname> <given-names>H. L.</given-names>
</name>
<name>
<surname>Jayne</surname> <given-names>S. R.</given-names>
</name>
<name>
<surname>Laurent</surname> <given-names>L. C. S.</given-names>
</name>
<name>
<surname>Weaver</surname> <given-names>A. J.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>Tidally driven mixing in a numerical model of the ocean general circulation</article-title>. <source>Ocean Model.</source> <volume>6.3-4</volume>, <fpage>245</fpage>&#x2013;<lpage>263</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/S1463-5003(03)00011-8</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Swain</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Umesh</surname> <given-names>P. A.</given-names>
</name>
<name>
<surname>Balchand</surname> <given-names>A. N.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>WAM and WAVEWATCH-III intercomparison studies in the North Indian Ocean using Oceansat-2 Scatterometer winds</article-title>. <source>J. Ocean Climate</source> <volume>9</volume>, <fpage>1</fpage>&#x2013;<lpage>24</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1177/2516019219866569</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tolman</surname> <given-names>H. L.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>User manual and system documentation of WAVEWATCH III TM version 3.14</article-title>. <source>Tech. Note MMAB Contrib.</source> <volume>276</volume>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yifan</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Feng</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Jie</surname> <given-names>Z.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Research on deep learning models for predicting significant wave height</article-title>. <source>Mar. Sci. Bull.</source> <volume>43</volume>, <fpage>382</fpage>&#x2013;<lpage>390</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.11840/j.issn.1001-6392.2024.03.009</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yin</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>An adaptive real-time modular tidal level prediction mechanism based on EMD and Lipschitz quotients method</article-title>. <source>Ocean Eng.</source> <volume>289</volume>, <fpage>116297</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.oceaneng.2023.116297</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A spatiotemporal convolutional gated recurrent unit network for mean wave period field forecasting</article-title>. <source>J. Mar. Sci. Eng.</source> <volume>9.4</volume>, <fpage>383</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/jmse9040383</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Gao</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Ocean wave height series prediction with numerical long short-term memory</article-title>. <source>J. Mar. Sci. Eng.</source> <volume>9.5</volume>, <fpage>514</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/jmse9050514</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>