NEMO
Nucleus for European Modelling of the Ocean
Prognoosmudelist
NEMO (Nucleus for European Modelling of the Ocean, https://www.nemo-ocean.eu/) on rahvusvahelise koostöö tulemusena arendatud meredünaamika mudelite süsteem, mis kätkeb endas mitmeid alammudeleid, võimaldades neid kasutada paljudes mereuuringute ja prognooside rakendustes. NEMOt arendatakse ja jagatakse CECILL litsentsi alusel, mis on Prantsusmaa adaptsioon GNU litsentsist. Avatud lähtekoodiga tarkvara võivad kõik mitteärilistel eesmärkidel kasutada ja modifitseerida.
Operatiivne süsteem põhineb 3D hüdrodünaamika mudeli NEMO versioonil 4.0, mida on täiendatud Copernicus BALMFC modelleerimise rühma poolt (Kärna et al., 2021). NEMO on FORTRANi keelel põhinev okeanograafiliste võrrandite lahendamiseks loodud programm-moodulite kogum. OCE moodulis, mis on NEMO tuumikuks, toimub meredünaamika võrrandite lahendamine (Madec et al., 1998). Selles lahendatakase advektsiooni, difusiooni võrrandeid ning arvutatakse mere ja atmosfääri vahelisi soojavoogusid. Lisaks OCE moodulile on NEMO-Est konfiguratsiooni kaasatud ka jää (ICE) ja biogeokeemia moodul (TOP). Jää dünaamika modelleerimiseks kasutatakse SI3 (Aksenov et al. 2019) jäämudelit. SI3 lahendab merejää termodünaamikat, jää moondeid (kurrutusi, ladejää teket, rüsistumist) ning ka kinnisjää teket. Mudelsüsteemi on kaasatud ka mere ökosüsteemi mudel ERGOM (Lorkowski et al., 2021), mida saab vajadusel aktiveerida.“ NEMO_Est põhineb NEMO-OCE ja NEMO-ICE moodulitel. Moodulit NEMO-TOP ning mereökosüsteemi mudelit ERGOM ei käesolevas mudelis rakendatud. NEMO_Est mudel on seadistatud ja kohandatud Eesti tingimustele Tallinna Tehnikaülikooli Meresüsteemide Instituudi (TTÜ MSI) spetsialistide poolt.
NEMO-EST prognoosmudeli andmefail
Andmefail (NetCDF)
Prognoosmudel NEMO-EST andmefailid on kättesaadavad NetCDF formaadis. NetCDF (NETwork Common Data Form) on failivorming mitmemõõtmeliste teaduslike andmete (muutujate) salvestamiseks nagu temperatuur, niiskus, rõhk, tuule kiirus ja suund. NEMO mudelit jooksutatakse üks kord ööpäevas, mille tulemusena saadakse 3 andmefaili ning 3 koordinaatsüsteemi faili. Andmefailid on jaotatud 24 tunnisteks osadeks alates mudeli jooksutamise kellaajast vastavalt 0-24h, 24-48h ning 48-72h andmed.
Andmefaili nemo_20231026_EST05nm_op_run1_1h_stuvw_20231026-20231027.nc nime formaat
- nemo - prognoosmudeli nimetus
- yyyy - aasta
- mm - kuu
- dd - päev
- EST05nm - Eesti ala jaoks kohandatud NEMO mudel, mille lahutus on 0,5 meremiili
- op_run1 - operatiivne jooks nr 1
- 1h - andmefailis sisalduvate andmete samm 1h
- stuvw - välja arvutatavad parameetrid: soolsus, temperatuur, hoovuse horisontaalsed komponendid (u,v) ja vertikaalne kiirus (w)
- 20231026-20231027 - 24 tunnine prognoos alates 20231026 kuni 20231027 (00 UTC)
- .nc - NetCDF failitüübi laiendus
Andmete koordinaatsüsteemi faili nemo_20231026_EST05nm_op_run1_1h_SURF_grid_TUV.20231026.nc nime formaat
- nemo - prognoosmudeli nimetus
- yyyy - aasta
- mm - kuu
- dd - päev
- EST05nm - Eesti ala jaoks kohandatud NEMO mudel, mille lahutus on 0,5 meremiili
- op_run1 - operatiivne jooks nr 1
- 1h - andmefailis sisalduvate andmete samm 1h
- SURF_grid_TUV - sisaldab pinna ja koordinaatsüsteemi andmed
- 20231026 - 24 tunnise prognoosifaili alguskuupäev
- .nc - NetCDF failitüübi laiendus
Andmete korrektseks kasutamiseks ja töötlemiseks on vajalik alla laadida nii andmefail (nemo_20231026_EST05nm_op_run1_1h_stuvw_20231026-20231027.nc) kui ka sama kuupäeva koordinaatsüsteemi fail (nemo_20231026_EST05nm_op_run1_1h_SURF_grid_TUV.20231026.nc).
Andmestiku metaandmed
Dimensioonid (dimensions)
NetCDF failiformaadil on dimensioonid, millest saab piiramatuks muutuda ainult üks mõõde, mis võib kasvada mistahes pikkuseni igas suunas. Need mõõtmed võivad olla füüsilised suurused nagu laiuskraad, pikkuskraad, kõrgus merepinnast ja aeg.
1. NetCDF Documentation - Dimensions
name | size | data type | is-unlimited |
axis_nbounds | 2 | integer | false |
x_grid_T | 529 | integer | false |
y_grid_T | 455 | integer | false |
deptht | 110 | integer | false |
x_grid_U | 529 | integer | false |
y_grid_U | 455 | integer | false |
depthu | 110 | integer | false |
x_grid_V | 529 | integer | false |
y_grid_V | 455 | integer | false |
depthv | 110 | integer | false |
x_grid_W | 529 | integer | false |
y_grid_W | 455 | integer | false |
depthw | 110 | integer | false |
time_counter | 24 | integer | true |
Muutujad (variables)
Muutujad on sama andmetüübi väärtuste massiiv NetCDF-failis. Muutujal on nimi, andmetüüp ja kuju, mida kirjeldab selle dimensioonide loend.
1. NetCDF Documentation - Variables
name | standard name | dimensions | units | data type | filling |
nav_lat_grid_T | latitude | y_grid_T, x_grid_T | degrees_north | float32 | off |
nav_lon_grid_T | longitude | y_grid_T, x_grid_T | degrees_east | float32 | off |
deptht | deptht | deptht | m | float32 | off |
deptht_bounds | deptht | deptht, axis_nbounds | m | float32 | off |
nav_lat_grid_U | latitude | y_grid_U, x_grid_U | degrees_north | float32 | off |
nav_lon_grid_U | longitude | y_grid_U, x_grid_U | degrees_east | float32 | off |
depthu | depthu | depth | m | float32 | off |
deptht_bounds | depth | depth, axis_nbounds | m | float32 | off |
... | ... | ... | ... | ... | ... |
snwthic | snow_thickness | time_counter, y_grid_T, x_grid_T | m | float32 | 1e+20 |
Atribuudid (attributes)
NetCDF-i atribuudid salvestavad geograafiliste andmete metaandmeid. Enamik atribuute annab teavet konkreetse muutuja kohta. Neid atribuute saab tuvastada struktuurimuutuja nimi:atribuudi nimi abil. Atribuut pikk_nimi näitab antud sagedusala täisnime ja ühik näitab mõõtühikut.
1. NetCDF Documentation - Attributes
name | attribute |
DIMENSION_LIST | (1-200096), (1-12842), (1-1388), (1-941) |
_FillValue | 1.0E20 |
cell_methods | time: point (interval: 240s) |
coordinates | time_instant, nav_lat_grid_T, nav_lon_grid_T |
interval_operation | 240 s |
interval_write | 1 h |
long_name | temperature |
missing_value | 1.0E20 |
online_operation | instant |
standard_name | sea_water_potential_temperature |
units | degC |
Andmekvaliteet
Sissejuhatus
Alates 24.09.2021 käivitati NEMO-Est mudel pre-operatiivses1 režiimis. Mudelprognoosi ja vaatlusi on võrreldud ajavahemikul 24.09 - 15.11.2021. Võrreldi mudeli merevee temperatuuri satelliit- ja ferrybox2 mõõtmistega, merepinna soolsust ferrybox mõõtmistega, meretasemeid kahes rannikujaamas. Hoovuste kvalitatiivseks kontrolliks teostati võrdlus olemasolevate sama mereala katvate mere mudelitega. Merevee pinna temperatuuri hälve oli valdavalt vahemikus +/- 1 oC, mida kinnitasid võrdlused nii kaugseire kui ka in-situ3 vaatlustega. Temperatuur pinnal on mudelis vähesel määral kõrgem kui vaatlustes. Merepinna soolsuse erinevused mudelprognoosi ja ferrybox vaatluste vahel jäid valdavalt vahemikku +/- 1 PSU. Soome lahe avaosas hindab mudel soolsust tegelikkusest vähesel määral kõrgemaks. Meretase mudelis on heas korrelatsioonis vaatlustega, kuid muutlikkus on veidi alahinnatud. Usaldusväärsema meretaseme prognoosi saamiseks on vajalik rakendada täiendavat järeltöötlust. Prognoositud hoovused langevad kvalitatiivselt kokku teiste asjakohaste mudelprognoosidega.Prognoosisüsteemi tõrked
Järgnevalt on kirjeldatud mõned vead, mis on pre-operatiivses faasis esinenud ning mille tagajärjel on prognoos ja selle järjepidevus katkenud. Esinenud vead jagunevad tehnilisteks ja numbrilisteks ehk mudeli sisemisteks vigadeks.Tehnilised vead
Kui prognoos ei ole õigeks ajaks valmis saanud, siis kõige tõenäolisemaks põhjuseks on olukord, kus vajalikke arvutusressursse ei jätku. Kõik toimingud, mis on seotud sisendandmete kogumisega, ei ole eriti ressursimahukad ning neid tehakse juhtmasinal. NEMO mudel käivitatakse aga läbi järjekorra halduri (PBS) paljudel arvutusmasinatel. Kui vajalikku kogust ressursse ei ole, siis läheb protsess järjekorda ootele, kuni vajalik arv (179) arvutustuumi vabaneb. Kui ooteaeg ületab 3 tundi, siis run_model_op.sh skript katkestab töö ning prognoosisüsteem peatub veateatega. Skript ei eemalda tööd järjekorrast, seega kui ressursid vabanevad peale kolme tundi, siis NEMO ja XIOS protsessid jätkavad oma tööd ning tekitavad väljundi ja logi failid prognooskausta. Sarnane tõrge võib esineda ka siis, kui mingil põhjusel arvutusteks määratud arvutussõlm langeb mõne tehnilise rikke tõttu kasutusest ära. Operatiivseid simulatsioone ei tohiks sestap siduda kindlate sõlmedega, vaid tuumade jagamine jätta järjekorrasüsteemi (PBS) kanda. Puuduvad / hilinevad sisendandmed on teiseks tehniliseks prognoosi katkemise põhjuseks. Operatiivne mudelsüsteem eeldab, et prognoosi alguseks on süsteemi alla laetud ECMWF'i meteo ja Copernicuse operatiivse mudeli rajatingimused. Kui neid mingil põhjusel ei ole, siis skriptidega seda kontrollitakse ning oodatakse (meteo 45 min, rajad 30 min). Kui ka siis ei ole andmeid saabunud, jäävad NEMO mudeli sisendandmed genereerimata.Mudeli sisemised vead
Prognoosides võivad esineda äärmuslikud olukorrad, mida varem pole esinenud ning mis võivad endaga kaasa tuua numbrilisi ebastabiilsusi. Tingimused ei pruugi olla seotud mõne tormiga - ebastabiilsused võivad esineda ka vaiksete ilmastikutingimuste korral. Testperioodil on seadistatud mudeli difusiivsust4 ja ajasammu nii, et mudelis ebastabiilsusi ei esineks. Samas täielikult välistada ebastabiilseid olukordi ei saa. Võib esineda juhtumeid, kus prognoosisimulatsioon katkeb keset simulatsiooni, näiteks kui NEMO sisemine kontroll tuvastab parameetrites väärtusi, mis on väljaspool etteseatud realistlikest piiridest. Kui ilmnevad ebarealistlikud väärtused, lõpeb mudeli töö. Põhjuseid, miks mudel on ebastabiilne, võib olla erinevaid ning johtuvalt on ka nende mõistmine ja kõrvaldamine erinev. Sagedaseks põhjuseks on dünaamiliste sisendite (avatud rajad, jõed, meteoroloogia) füüsikaline vastuolu mudeli sisemise dünaamikaga. Üldjuhul on selliste vigade vältimiseks vajalik ajasammu vähendamine ning mudeli uuesti käivitamine. Kui aga ka see ei kõrvalda viga, on ajutiseks lahenduseks meteo-, jõe- või radade mõju eemaldamine üheks prognoosiks. Enamus tehnilisi vigu, mis on tingitud negatiivse soolsuse ilmnemisel seoses kompilaatori iseärasustega, on kõrvaldatud kompileerimisel.NB!
NEMO automaatne vigade kontroll, mis katkestab simulatsiooni, ei kontrolli realistlikke temperatuurivahemikke. Seetõttu võivad need avalduda temperatuurist sõltuvate parameetrite väljades (hoovuse kiirus, veetase, bioloogia väljad). Need piirid on defineeritud NEMO koodis ning on mõeldud tuvastamaks suure amplituudiga ebastabiilsusi, mitte väikseid numbrilisi vigu (näiteks numbrilisi malelaua mustreid).1. Pre-operatiivne periood iseloomustab aega enne operatiivrežiimi, mil mudel operatiivselt kasutusel ei olnud.↩
2. Ferry-Box on operatiivne meetod füüsikaliste, keemiliste ja bioloogiliste parameetrite pidevaks mõõtmiseks võimalike laevade pardal (https://eurogoos.eu/ferrybox-task-team).↩
3. In-situ tähendab algsel kohal (https://et.wiktionary.org/wiki/in_situ).↩
4. Difusiivsus on difusioonikiirus, osakeste või soojuse või vedelike levimise kiiruse mõõt (https://en.wikipedia.org/wiki/Diffusivity).↩
Kasutatud allikad
- Allikas: NEMO_II_aruanne2021_v2
- Allikas: NEMO aruanne 2022_III etapp_puhas
- Täiendavalt saab lugeda https://www.nemo-ocean.eu
SWAN
Simulating WAves Nearshore
Prognoosmudelist
SWAN mudel (Simulating WAves Nearshore) on kolmanda generatsiooni spektraalne lainemudel, mis võimaldab arvutada tuulelainete parameetreid madalas rannameres ja sisevetes. Keskkonnaagentuuris on kasutusel Eesti jaoks kohandatud lainemudel SWAN-EST. SWAN mudel baseerub kahemõõtmelise spektraalse lainemõju bilansi võrrandil.Mudel arvestab põhjahõõret ja kirjeldab järgmisi füüsikalisi protsesse:
- Lainete genereerimist tuule poolt
- Lainevälja levikut ajas ja ruumis
- Veesügavuse muutumisest tingitud muutusi laineprofiilis (shoaling)
- Energiavahetust lainete vahel nii nelik- kui kolmikinteraktsiooni teel
- Lainete murdumist sügavuse vähenemise tõttu
- Refraktsiooni nii merepõhja kui hoovuste tõttu
- Lainete osalist murdumist sügavas vees tuule tõttu (whitecapping)
- Lainete tõkestamist hoovuste poolt
- Väljundina annab SWAN kahemõõtmelise lainespektri, olulise lainekõrguse, keskmise ja maksimaalse laineperioodi, lainete keskmise levikusuuna, veeosakeste orbitaalse põhjalähedase liikumise ruutkeskmise kiiruse.
SWAN-EST prognoosmudeli andmefail
Andmefail (NetCDF)
Prognoosmudel SWAN-EST andmefailid on kättesaadavad NetCDF formaadis. NetCDF (NETwork Common Data Form) on failivorming mitmemõõtmeliste teaduslike andmete (muutujate) salvestamiseks nagu temperatuur, niiskus, rõhk, tuule kiirus ja suund. SWAN mudelit jooksutatakse kaks korda ööpäevas s.o 00:00 ning 12:00 (UTC).
Andmefaili swan_2023102600.nc nime formaat
- swan - prognoosmudeli nimetus
- yyyy - aasta
- mm - kuu
- dd - päev
- 00 - mudelijooksu kellaaeg (UTC)
- .nc - NetCDF failitüübi laiendus
Andmestiku metaandmed
Dimensioonid (dimensions)
NetCDF failiformaadil on dimensioonid, millest saab piiramatuks muutuda ainult üks mõõde, mis võib kasvada mistahes pikkuseni igas suunas. Need mõõtmed võivad olla füüsilised suurused nagu laiuskraad, pikkuskraad, kõrgus merepinnast ja aeg.
1. NetCDF Documentation - Dimensions
id | name | size | data type | is-unlimited |
1 | time | 91 | int32 | true |
2 | longitude | 529 | float32 | false |
3 | latitude | 455 | float32 | false |
Muutujad (variables)
Muutujad on sama andmetüübi väärtuste massiiv NetCDF-failis. Muutujal on nimi, andmetüüp ja kuju, mida kirjeldab selle dimensioonide loend.
1. NetCDF Documentation - Variables
id | name | standard name | dimensions | units | data type | filling |
1 | time | time | time | s | int32 | on |
2 | longitude | longitude | longitude | degrees_east | float32 | on |
3 | latitude | latitude | latitude | degrees_north | float32 | on |
4 | hs | sea surface wave significant height | time, latitude, longitude | m | int16 | on |
5 | tps | relative peak period | time, latitude, longitude | s | int16 | on |
6 | thetap | sea surface wave directional spread | time, latitude, longitude | degrees | int16 | on |
Atribuudid (attributes)
NetCDF-i atribuudid salvestavad geograafiliste andmete metaandmeid. Enamik atribuute annab teavet konkreetse muutuja kohta. Neid atribuute saab tuvastada struktuurimuutuja nimi:atribuudi nimi abil. Atribuut pikk_nimi näitab antud sagedusala täisnime ja Ühik näitab mõõtühikut.
1. NetCDF Documentation - Attributes
name | atribute |
units | m |
standard_name | sea_surface_wave_significant_height |
long_name | hs |
scale_factor | 7.6296274E-4 |
add_offset | 25.0 |
_FillValue | -32768 |
Andmekvaliteet
SWAN prognoosmudeli puudused ja kodeerimisvead
Võib juhtuda, et sisestatud andmete tulemusel annab SWAN ebausaldusväärseid ja mõnikord ka ebareaalseid tulemusi. See võib juhtuda juhul, kui batümeetria1 või laineväli pole hästi lahendatud. Pidage meeles, et ruudustik, millel arvutused tehakse, interpoleerub2 võrkudest, millele sisend on antud. Nende võrkude erinevad eraldusvõimed võivad seetõttu luua arvutusruudustikus ootamatuid interpolatsioonimustreid.Ruumilise levimise korral on lainevälja muutus ühe iteratsiooni jooksul piiratud teatud realistliku väärtusega (tavaliselt mitme iteratsiooni statsionaarsete tingimuste korral või üks iteratsioon või täiendus ajasammu kohta mittestatsionaarsete tingimuste korral). See on kõigi kolmanda põlvkonna lainemudelite (nt WAM, WAVEWATCH III ja ka SWAN) tavaline probleem. Paljudel juhtudel ei paista see tulemust tõsiselt mõjutavat, kuid mõnikord ei õnnestu selle tõttu SWAN-i mudelandmeid korralikult koondada.
Kõverjooneliste võrkude puhul võivad konvergentsiprobleemid tekkida lokaalselt, kus ruudustiku mõnes punktis langevad 4 kõverjoonelist kvadranti eraldavad suunad kokku antud spektrisuundadega. Spektraalse leviku (kuid ainult voolust põhjustatud murdumise ja sageduse nihke) korral ei pruugi SWAN korrektselt mudelandmeid koondada.
Täiendavad probleemid, millega SWAN-i puhul tuleb arvestada on tingitud SWAN-i prognoosmudeli metoodika puudujääkidest (mis võivad, aga ei pruugi olla tüüpilised kolmanda põlvkonna lainemudelitele) ja tahtmatutest kodeerimisvigadest.
NB!
Ülal kirjeldatud probleemide tõttu võivad tulemused tunduda realistlikud, kuid need ei pruugi (kohalikult) olla täpsed. Kõik muudatused, piirajad või puudused, eriti äsja avastatud kodeerimisvead ja nende parandused, avaldatakse SWAN-i veebisaidil (https://swanmodel.sourceforge.io) ja rakendatakse SWAN-i uutes väljaannetes.
Kasutatud allikad
- SWAN dokumentatsioon - https://swanmodel.sourceforge.io/online_doc/swanuse/node5.html
1. Batümeetria ehk sügavusmõõtmine on hüdromeetria haru, mis tegeleb veekogude sügavuste mõõtmisega ja kaardistamisega. ↩
2. Interpoleerimine ehk interpolatsioon on arvutusmatemaatikas kasutatav meetod funktsiooni vahepealsete väärtuste hindamiseks ette antud diskreetsete väärtuste alusel. ↩
ECMWF
(European Centre for Medium-Range Weather Forecasts)
Prognoosmudelist
ECMWF (European Centre for Medium-Range Weather Forecasts) ehk Euroopa Keskpika Ilmaennustuse Keskus on 1975. a loodud sõltumatu valitsustevaheline organisatsioon, mille põhiülesandeks on ülemaailmse operatiivse mudelilmaennustuse koostamine kuni 15 päevaks ning selle jagamine liikmesriikidele.Lisaks tegeletakse aktiivselt mudeliteemalise arendustöö ja liikmesriikide spetsialistide koolitamisega. ECMWF kasutab oma töös ühte suurimat ja võimsamat superarvutite kompleksi Euroopas ning haldab maailma suurimat mudelennustuste andmete arhiivi. Eesti on alates 2020. aasta 1. detsembrist ECMWF täisliige. 2005-2020 oli Eesti ECMWFi koopereerunud liige. Täisliikmelisusega on Eestil võimalus kasutada ECMWFi arvutustressursse, eelkõige just ilma, kliima ja keskkonna modelleerimisega seotud arendustöödeks ja testimisteks.