Skillful bias correction of offshore near-surface wind speed and wind direction forecasting based on a multi-task machine learning model
<h3>Dataset</h3>
<p>1. observation data over 14 weather stations</p>
<p>Variables: hourly near-surface 2-min average wind speed, wind direction </p>
<p>2. ECMWF-IFS forecast data over 14 weather stations</p>
<p>Variables: hourly predictors at surface level and upper level in next 48 hours (shown in Table 1. and Table 2.)</p>
<p>Table 1. ECMWF-IFS forecast data at surface level</p>
<div>
<table>
<tbody>
<tr>
<td>
<p>Predictors</p>
</td>
<td>
<p>Abbreviation</p>
</td>
<td>
<p>Unit</p>
</td>
</tr>
<tr>
<td>
<p>Temperature at 2 m</p>
</td>
<td>
<p>2t</p>
</td>
<td>
<p>℃</p>
</td>
</tr>
<tr>
<td>
<p>Sea surface temperature</p>
</td>
<td>
<p>sst</p>
</td>
<td>
<p>℃</p>
</td>
</tr>
<tr>
<td>
<p>Dewpoint temperature at 2 m</p>
</td>
<td>
<p>2d</p>
</td>
<td>
<p>℃</p>
</td>
</tr>
<tr>
<td>
<p>Convective precipitation in the past hour</p>
</td>
<td>
<p>cp</p>
</td>
<td>
<p>mm</p>
</td>
</tr>
<tr>
<td>
<p>Mean sea level pressure</p>
</td>
<td>
<p>msl</p>
</td>
<td>
<p>hPa</p>
</td>
</tr>
<tr>
<td>
<p>Zonal component of wind speed at 10 m</p>
</td>
<td>
<p>10u</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Meridional component of wind speed at 10 m</p>
</td>
<td>
<p>10v</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Wind speed at 10 m</p>
</td>
<td>
<p>10ws</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Wind direction at 10 m</p>
</td>
<td>
<p>10wd</p>
</td>
<td>
<p>°</p>
</td>
</tr>
<tr>
<td>
<p>Zonal component of wind speed at 100 m</p>
</td>
<td>
<p>100u</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Meridional component of wind speed at 100 m</p>
</td>
<td>
<p>100v</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Wind speed at 100 m</p>
</td>
<td>
<p>100ws</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Wind direction at 100 m</p>
</td>
<td>
<p>100wd</p>
</td>
<td>
<p>°</p>
</td>
</tr>
</tbody>
</table>
</div>
<div> </div>
<p>Table 2. ECMWF-IFS forecast data at upper level</p>
<table>
<tbody>
<tr>
<td>
<p>Predictors</p>
</td>
<td>
<p>Abbreviation</p>
</td>
<td>
<p>Unit</p>
</td>
</tr>
<tr>
<td>
<p>Relative humidity at xxx hPa</p>
</td>
<td>
<p>r_Lxxx</p>
</td>
<td>
<p>%</p>
</td>
</tr>
<tr>
<td>
<p>Temperature at xxx hPa</p>
</td>
<td>
<p>t_Lxxx</p>
</td>
<td>
<p>℃</p>
</td>
</tr>
<tr>
<td>
<p>Vertical velocity of wind at xxx hPa</p>
</td>
<td>
<p>w_Lxxx</p>
</td>
<td>
<p>Pa s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Zonal component of wind at xxx hPa</p>
</td>
<td>
<p>u_Lxxx</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Meridional component of wind at xxx hPa</p>
</td>
<td>
<p>v_Lxxx</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Wind speed at xxx hPa</p>
</td>
<td>
<p>ws_Lxxx</p>
</td>
<td>
<p>m s<sup>-1</sup></p>
</td>
</tr>
<tr>
<td>
<p>Wind direction at xxx hPa</p>
</td>
<td>
<p>wd_Lxxx</p>
</td>
<td>
<p>°</p>
</td>
</tr>
</tbody>
</table>
<div> </div>
<p>3. key variables constructed by feature engineering</p>
<p>(1) sort-term statistics, including <em>maximum, minimum, mean </em>and <em>variance</em> of key variables (<em>2t</em>,<em> 10u</em>, <em>10v </em>and <em>10ws</em>) from ECMWF-IFS model during the next 48 hours,</p>
<p> (2) long-term statistics, including <em>mean </em>and <em>deviation</em> of key variables (<em>2t</em>,<em> 10u</em>, <em>10v </em>and <em>10ws</em>) from ECMWF-IFS model during history 3-yr period (January 2020–December 2022),</p>
<p> (3) thermodynamic factors, including the low-level wind shear between <em>10ws</em> and <em>100ws</em>, vertical wind shear between 200 hPa and 850 hPa<em>, </em>the differences between <em>sst</em><em> </em>and <em>2t</em><em>.</em></p>
<h3>Scripts</h3>
<p>1. Random Forest model training code</p>
<p>2. LightGBM model training code</p>
<p>3. XGBoost model training code</p>
<p>4. TabNet-MTL model training code</p>
<p> </p>
embargoedcc-by-sa-4.0Apr 2024View details →