five

Tuuleenergia tiheduse analüüs Liivi lahes ERA5 andmete põhjal (1993 - 2023)

收藏
DataCite Commons2025-12-17 更新2026-05-05 收录
下载链接:
https://data.taltech.ee/doi/10.48726/8ax1q-tp363
下载链接
链接失效反馈
官方服务:
资源简介:
Võrdlusandmed Uuring põhineb ERA5 reanalüüsi andmestikul, mille on koostanud Euroopa Keskpika Ilmaennustuse Keskus (ECMWF). Läänemere piirkonna tunnised 10 m tuulekomponendid (u10, v10) olid võetud ERA5 arhiivist. Algandmed katavad perioodi 1993 - 2023 ruumilise lahutusega 0.25x0.25 kraadi.   Meetodid ja skript Kogu andmetöötlus oli viidud, kasutades Climate Data Operators (CDO). Tunnilised 10 m tuulekomponendid (u10, v10) olid ühendatud pidevaks aegridade jadaks perioodiks 1993-2023. Tuule kiirus 10 m kõrgusel oli arvutatud antud valemiga: |v| = sqrt({u10}^2 + {v10}^2). Tuuleenergia tihedus oli arvutatud valemiga: E = 0.5 * rho_air * |v|^3 (kus õhu tihedus rho_air = 1.225 kg m^{-3}).   Töötlusetapid: Tuule kiiruse ja energia arvutamine u10 ja v10 põhjal; Tuuleenergia ajakeskmise ruumilise kaardi arvutamine Läänemere piirkonna jaoks; Liivi lahe (Gulf of Riga) piirkonna ruumiline väljalõige pikkus- ja laiuskraadi piirava kasti abil; Teisendamine tunnilisest ajasammust päevaseks ning seejärel päevane ja ruumiline keskmistamine piirkonna üle, mille tulemusel oli saadud ühemõõtmeline päevane aegrida; Tuuleenergia aasta-päevade (yearday) keskmise ja standardhälbe arvutamine.   Kõik töötlusetapid on esitatud bash skriptis "wind_energy.sh", mis on allpool näidatud:   #!/bin/bash   # Tuule energia (ERA5): 0.5* rho_air* 10 m windspeed ^3; time mean  map, yearday mean (+std) timeseries averaged over GoR   set -euo pipefail   #  Sisendandmed era5_folder=/mnt/hpc/public/mko/ERA5 esimene_aasta=1993 viimane_aasta=2023   #  Töökaustad  projekt=$HOME/S25_IvanN/final_assignment/wind work=$projekt/work out=$projekt/out mkdir -p "$work" "$out"   #  CDO seaded  cdo_opt='-O -s -L -f nc4 -z zip1 -b F32' # -O = vanade failide üle kirjutamine, -s = vähem teksti väjundis, -L = suured failid, -f nc4 = netcdf4 formaat, -z zip1 = zippimine, -b F32 = 32 bitilised andmed   #  Piirkond: Gulf of RIga (GoR): lon1,lon2,lat1,lat2 piirid="21,30,57,61"   # Õhu tihedus (kg/m^3) rho_air=1.225   #  Failinimed  uv_1h="$work/u10v10_1h_${esimene_aasta}_${viimane_aasta}.nc" # u10 ja v10 andmed (1h), kõik aastad ühes failis e_1h="$work/energy_1h_${esimene_aasta}_${viimane_aasta}.nc" # Tuuleenergia (0.5*rho*|v|^3) (1h) e_1h_only="$work/energy_1h_only_${esimene_aasta}_${viimane_aasta}.nc" # ainult energia (ilma u10,v10,wind10)   kaart_timmean="$out/energy_timmean_map_${esimene_aasta}_${viimane_aasta}.nc" # time mean map   e_gor_1h="$work/energy_gor_1h_${esimene_aasta}_${viimane_aasta}.nc"   # energy (GoR, 1h) e_gor_1d="$work/energy_gor_1dmean_${esimene_aasta}_${viimane_aasta}.nc" # energy (Gor, päevakeskmine) e_gor_ts="$out/energy_gor_daily_ts_${esimene_aasta}_${viimane_aasta}.nc" # päevane aegrida, ruumiliselt keskmistatud (GoR)   yearday_mean="$out/energy_gor_yeardaymean.nc" # Keskmine energia (yearday mean, GoR) yearday_std="$out/energy_gor_yeardaystd.nc" # yearday std (standarthälve) yearday_meanstd="$out/energy_gor_yearday_mean_std.nc" # yearday mean + std (joonistamiseks)   # u10 ja v10 ühendamine kõikidest kuufailidest   massiiv=() # Uus tühi massiiv for y in $(seq "$esimene_aasta" "$viimane_aasta"); do # Kõik aastad   massiiv+=( "$era5_folder/meteo.ERA5.baltic.1h.${y}."*.nc ) # 12 uut kuufaili massiivi iga aasta jaoks(*.nc ) done  # Ühendamine aja järgi, iga massiivi element:   rm -f "$uv_1h" #Vana faili kustutamine   cdo $cdo_opt -selname,u10,v10 -mergetime \   "${massiiv[@]}" \   "$uv_1h" # lõplik fail : "u10v10_1h_1993_2023.nc"   # Tuule kiirus ja energia: cdo $cdo_opt expr,"wind10=sqrt(u10*u10+v10*v10);energy=0.5*${rho_air}*wind10*wind10*wind10" \   "$uv_1h" "$e_1h"   # Ainult energia muutuja (et fail oleks väiksem) cdo $cdo_opt selname,energy "$e_1h" "$e_1h_only"   # Ülesanne 1: ajakeskmine kaart (timmean) cdo $cdo_opt timmean "$e_1h_only" "$kaart_timmean"   # Kontroll cdo -s sinfo "$kaart_timmean"   # Ülesanne 2: yearday mean +std GoR keskmisena cdo $cdo_opt sellonlatbox,$piirid "$e_1h_only" "$e_gor_1h" # Piirkonda lõikamine (GoR) cdo $cdo_opt daymean "$e_gor_1h" "$e_gor_1d" # Päevakeskmine cdo $cdo_opt fldmean "$e_gor_1d" "$e_gor_ts" # Ruumiline keskmine (fldmean)   cdo $cdo_opt ydaymean "$e_gor_ts" "$yearday_mean" # Päeva-aasta keskmine cdo $cdo_opt ydaystd  "$e_gor_ts" "$yearday_std" # Päeva-aasta standarthälve cdo $cdo_opt merge "$yearday_mean" "$yearday_std" "$yearday_meanstd" # mean ja std ühes failis (merge)   # Väljund ls -lh "$out"   Matlab skript andmete analüüsimiseks ja nende visualiseerimiseks:   clc; clear; clf; close all %% Failide struktuur ncdisp('energy_timmean_map_1993_2023.nc') ncdisp('energy_gor_daily_ts_1993_2023.nc') ncdisp('energy_gor_yeardaymean.nc') ncdisp('energy_gor_yeardaystd.nc') ncdisp('energy_gor_yearday_mean_std.nc')   %% time mean map (Ülesanne 1. osa) E = ncread('energy_timmean_map_1993_2023.nc','energy'); lon = ncread('energy_timmean_map_1993_2023.nc','longitude'); lat = ncread('energy_timmean_map_1993_2023.nc','latitude'); % Kontroll size(E) length(lon) length(lat) min(E(:)) mean(E(:)) max(E(:)) % Kaart figure(1) imagesc(lon, lat, E') set(gca,'YDir','normal') colorbar xlabel('Pikkuskraad') ylabel('Laiuskraad') title('Tuuleenergia tiheduse ajakeskmine(1993-2023)')   %% Gulf of Riga time series E_ts = ncread('energy_gor_daily_ts_1993_2023.nc','energy'); E_ts = squeeze(E_ts); time = ncread('energy_gor_daily_ts_1993_2023.nc','time'); % Suuruse kontroll size(E_ts) % Graafik: figure(2) plot(E_ts) axis tight xlabel('Päev') ylabel('Energia (W m^{-2})') title('Tuuleenergia tiheduse päevakeskmine aegrida (GoR)') grid on   %% yearday mean + yearday std (Ülesanne 2. osa) E_ymean = ncread('energy_gor_yeardaymean.nc','energy'); E_ystd  = ncread('energy_gor_yeardaystd.nc','energy'); E_ymean = squeeze(E_ymean); E_ystd = squeeze(E_ystd); % Suuruste kontroll length(E_ymean) length(E_ystd)   %% Põhigraafik d = 1:length(E_ymean); figure(3) plot(d, E_ymean, 'LineWidth', 2) axis tight hold on plot(d, E_ymean + E_ystd, 'r-') plot(d, E_ymean - E_ystd,'m-') hold off xlabel('Aastapäev') ylabel('Energia (W m^{-2})') title('Tuuleenergia tiheduse keskmine ja standardhälve päeavade kaupa aastas (yearday mean +- std, GoR)') legend('Keskmine','Keskminde + standarthälve','Keskminde - standarthälve',Location='best') grid on   %% Jooniste salvestamine outdir = 'wind_joonised'; if ~exist(outdir,'dir')     mkdir(outdir); end   figs = findall(0,'Type','figure'); for k = 1:length(figs)     exportgraphics(figs(k), fullfile(outdir, sprintf('figure_%02d.png', k)),'Resolution', 300); end   Andmete põhinäitajad: Ajakatvus: 1993 - 2023 Ajaline lahutus: 1 tund (sisend), 1 päev Ruumiline lahutus: 0.25x0.25 kraadi Piirkond: Läänemeri (Liivi laht) Muutuja: tuuleenergia tihedus (tuletatud) Failiformaat: NetCDF4   Viide Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., Thépaut, J.-N. (2023). ERA5 hourly data on single levels from 1940 to present. Copernicus Climate Change Service (C3S) Climate Data Store. https://doi.org/10.24381/cds.adbb2d47
提供机构:
TalTech Data Repository
创建时间:
2025-12-17
二维码
社区交流群
二维码
科研交流群
商业服务