Hemmaprognoser

Introduktion till webbinariet 28 september

Björn Claremar

Här tänkte vi samla lite matnyttigt kring hur du sätter upp dina egna väderprognoser. Nu fungerar denna sida som introduktion till webbinariet 28 september. Med hjälp av sidan hoppas jag att du dels får en bild av hur intressant webbinariet är för din del och dels ge lite bakgrundinfo för att det ska bli lättare att hänga med.

De flesta av er kan se det som ett vanligt föredrag. Några av er kanske känner sig inspirerade av att göra något själva. Låt er inte stressas då! Se föredraget som en introduktion. Om intresse finns kan vi ordna en workshop senare i höst!

Här nedan radar jag upp först upp delarna och stegen som behövs eller kan behövas för att kunna köra en egen väderprognosmodell. Ibland finns lite olika alternativ beroende vad du redan kan eller har för utrustning. Jag har valt modellen WRF, som jag har mest erfarenhet av, och som amatörer över världen använder. WRF-modellen (då med dataassimilering) används också av många nationella vädertjänster.

I långversionen av denna sida lite längre ned hittar du även länkar till online-handledningar eller kortkurser. Om du är intresserad av att komma igång och du inte vet något om LINUX, eller behöver fräscha upp minnet så föreslår jag att du klickar på en sådan länk innan föredraget.

En lite längre version av denna sida för de riktigt intresserade hittar du här: https://www.svemet.org/hemmaprognoser-lang/

Steg

  1. Utrustning
    1. alt 1: En riktigt snabb dator
    2. alt 2a: flera datorer med liknande prestanda i ett ”datorkluster”
    3. alt 3b: flera enkortsdatorer, typ RaspberryPi, i ett ”datorkluster”
  2. Linux eller andra UNIX-liknande system
    1. Linux på Windows (WSL2)
    2. MacOS terminal
    3. Linux terminal
  3. Installation av WRF och nödvändig sekundär programvara/bibliotek
    1. Du behöver kunna läsa filer i NetCDF- och GRIB2-format
    2. Om du kör flera datorer behöver du parallelliseringsbiblioteket openMPI
  4. Köra WRF
    1. Geografisk data
    2. Meteorologisk drivning, GFS 0.25° Från NCEP är gratis.
    3. 3D-version av WRF, eller 1D-version (ej så krävande).
  5. Analysera resultatet
    1. wrf-python
  6. Automatisera (frivilligt men bra om man just kör prognoser)
    1. skript och kronjobb
  7. Publicera på webben (frivilligt)
    1. För egen del sätt upp egen webserver
    2. Annars på ”webhotell”

Utrustning

En riktigt snabb dator

Detta kan fungera hyfsat om man kör prognoser i litet område eller i 1-dimension. WRF-modellen kan då köras i så kallat ”shared-memory mode”. För en quad-core processor kan fyra kopior av programmet köras parallellt. Det geografiska området delas då in i fyra delområden.

Datorkluster

  • Ett (internt) nätverk av datorer.
  • Varje dator fungerar som en ”nod”.
Mitt Raspberry Pi-kluster med tre beräkningsnoder till höger och en ”login”-nod till vänster. På detta system kör jag 24 h-prognos med 9 km upplösning över 2/3 av Skandinavien (140×120 pkt) inklusive Ö Svealand i 3 km (60×60) på ca 4 h. 
RaspBerry Pi 4 enkortsdator. EN sådan med 8 GB RAM (Quad-core 1,5 GHz) kan du få för knappa tusenlappen. Övriga attiraljer som switch, sladdar, SD-kort exklusive hårddisk hamnar nog på drygt tusenlappen också. Så ett kluster med fyra noder skulle gå på ca 5000 kr och öka med ca 1000 kr per nod tills du behöver köpa en större switch.
  • …till superdatorer som Nationellt SuperdatorCentrums (NSC) kluster ”Bi” i Linköping, där SMHI:s prognos- och klimatmodeller körs.
uppmax-light2.jpg
Sladdsidan av en av ”korridorERNA” med datorer i klustret Rackham på UPPMAX, Uppsala universitet.
  • Varje nod innehåller flera processorkärnor och ofta ett gemensamt RAM-minne (finns lite olika alternativ där)
  • Varje nod är ihopkopplade med nätverkskablar, t.ex. ethernet.

Screenshot 2021-08-10 at 11.10.26-1.png

  • Man kan avvara en nod till att fungera som login, eller ”Master” och styra de andra noderna därifrån.
  • På ”Mastern” kan man göra sitt eget arbete, som analysera, flytta filer, fixa, medan de andra noderna är upptagna med att t.ex köra WRF-modellen.
  • Antingen har man skärm kopplad hit, eller så kopplar man upp sig från en annan dator genom hemma-nätverket.
    • Jag kopplar upp mig trådlöst mot ”Mastern” från min Macs terminal med något som kallas secure shell (SSH). Mastern i sin tur är ihopkopplade med beräkningsnoderna med korta ethernetsladdar. Då kan jag styra allt från min laptop!
  • Beräkningsnoderna används för intensiva beräkningar.
    • ”Normala” program använder bara en kärna.
    • Parallelliserade program kan använda flera kärnor eller t.o.m flera noder.
  • För att använda beräkningsnoderna
    • logga in på en beräkningsnod och kör.
    • använd en jobb-schemaläggare och skicka ett ”batch-jobb” från ”Mastern”
  • För att allt detta ska fungera behövs en hårddisk eller en hårddiskpartition som är delad och kan kommas åt från alla noder.
Screenshot 2021-08-11 at 10.41.18.png
Bild1.png

Hårdvarulista

  • Minst två datorer eller enkortsdatorer, typ Raspberry Pi — för beräkningsnoderna
  • En dator eller enkortsdator — för master-/login-nod
  • Lokala hårddiskar
    • eller fallet RaspBerryPi ETT MicroSD-kort per dator, 16 GB kan räcka.
  • Strömsladdar
    • strömadapter: 5V, 3A, eller USB power supply hub
    • alternativ till enkortdator: Power Over Ethernet (POE), minskar sladdmängd!
  • 1x 8-port 10/100/1000 network switch (Gbit switch)
  • En hårddisk som dina noder ska dela på för att komma åt samma filer. Minst 500 GB.

Systemet LINUX

Det går att köra i Windows, men i vilket fall som helst kommer du förmodligen behöva jobba i LINUX-miljö

Vad är Linux?

  • I dagligt tal: Linux eller egentligen Gnu/Linux är operativsystem är ett UNIX-liknande och UNIX- kompatibelt operativsystem
  • MacOS är mer äkta UNIX än Linux.
  • Som handhavare och installatör av WRF behöver man jobba i skalet —kommandoraden i terminalen.
  • Om du är mer intresserad se den långa versionen:

https://www.svemet.org/hemmaprognoser-lang/

Så! Detta bör räcka för att hänga med i webbinariet!

Punkterna nedan kommer jag täcka bättre i webbinariet.

Installation av WRF och nödvändig sekundär programvara

Jag kommer på webbinariet i huvudsak följa guiden nedan.

https://github.com/DevinSmoot/HPC-Guides/blob/master/raspi_wrf_guide.md

Köra WRF

Mera på webbinariet!

Analysera resultatet

Mera på webbinariet!

Automatisera

Mera på webbinariet!

Publicera på webben

Några exempel!