Dynaamisten järjestelmien simulointia ja juttuja mallinnuksesta
2021-1-15
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Epidemioiden simulointia (edit: 2021-3-10)
Innostuin kokeilemaan epidemioiden mallintamista
10 maaliskuuta 2021
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Epidemioiden simulointia > Fantasy-21 pandemia (edit: 2021-3-10)
Minua on aina kiehtonut dynaamisten ilmiöiden mallintaminen ja niiden hallitseminen mallien avulla, joten en voinut vastustaa kiusausta kokeilla pandemian mallintamista. Koska covid-19 herättää ikäviä fiiliksiä, siirryin vaihtoehtoiseen todellisuuteen, jossa fantasy-21 -niminen virus tarttuu vain luomassani virtuaalitodellisuudessa satunnaisesti töytäileviin aivottomiin olioihin — fantasmeihin. Läheiseni ovat turvassa. Silti kesti kauan, ennen kuin rohkenin lisätä malliini kuoleman, vaikka 'kuolema' ei tee muuta kuin muuttaa näytöllä töytäilevän pienen täplän pieneksi harmaaksi ristiksi.
10 maaliskuuta 2021
Tappajavirus lintukodossa
video varalle, jos yo. ei toimi
Videokuvan oikeassa laidassa näkyvät fantasmiviranomaisten keinot hallita pandemiaa: Liikkumisrajoituksin voidaan jarruttaa fantasmien hyörinää ja testaamisen laajuudella säädellään, kuinka iso osa sairastuneista onnistutaan pyydystämään karanteeniin. Käppyröiden avulla voimme salakatsella taudin etenemistä. Reaalimaailmassa näkisimme vain testauksen avulla karanteeniin pyydystetyt, mutta nyt näemme jopa oireettomassa itämisvaiheessa olevien lukumäärän.
Videon alussa fantasmien sekaan tupsahtaa — 'ulkomailta' tietysti — itämisvaiheessa oleva taudinkantaja. Virus alkaa levitä eksponentiaalisesti, kunnes viranomaiset alkavat testauksen avulla eristää sairastuneita. Tilanteen helpotettua testausta vähennetään ja virus alkaa taas levitä. Viranomaiset asettavat liikkumisrajoituksia, tilanne helpottaa, rajoituksia lievennetään ja pandemia karkaa taas käsistä. Nyt sen annetaan levitä vapaasti laumasuojan toivossa. Tapaukset lisääntyvät rajusti, kunnes virus alkaa kohdata pääosin immuuneja. Virus melkein tukahtuu, mutta onneksi sille fantasmien immuniteetti alkaa heiketä ja tulee edellistä pahempi aalto. Seuraavasta aallonpohjasta virus selviää pelkästään hyvällä tuurilla (hyvä tuuri on oikea ilmaus, koska simulaatiossa on paljon satunnaisuutta. Jokainen simulaatio on erilainen). Parin viikon vastatoimilla pandemia olisi saatu tukahtumaan. Ehkä 'ulkomailta' olisi taas tullut taudinkantaja — haittamaahanmuuttaja — ja kaikki olisi alkanut alusta. Onneksi lintukoto pärjää paremmin omillaan kuin yhteistyössä muiden kanssa, joten se voi sulkea rajansa virustiiviisti.
'Leikkimällä' riittävän paljon simulaattorin kanssa voi oppia paljon siitä, miten hallita pandemiaa — Siis fantasy-21 pandemiaa. Ei ole mitään perustetta kuvitella, että siitä voisi oppia jotain esimerkiksi covid-19 pandemiasta.
Tai ehkä jotain. Kun covid-19 pandemian käsistä karkaamista havainnollistettiin eksponenttifunktion avulla, somessa naureskeltiin: "Tyhmät :-! Eihän virus voi ikuisesti levitä eksponentiaalisesti :-!" Ikäänkuin muutama viikko pandemiaa olisi ikuisuus. Olisiko naurajille kelvannut lineaarinen kasvu? Mikään kasvu? Koska kulkutauti ei voi levitä ikuisesti, se ei voi alussakaan levitä? Onkohan mitään kulkutautia, joka vastuskyvyttömän väestön kimppuun päästessään ei aluksi leviäisi eksponentiaalisesti?
Videolla fantasy-21 virus leviää aluksi suurin piirtein eksponentiaalisesti, kunnes vastaan alkaa tulla riittävästi immuuneja fantasmeja — Laumasuoja alkaa vaikuttaa, leviäminen hidastuu ja kääntyy laskuksi.
Aiemmin kirjoittamaani: Olisi mielenkiintoista ryhmitellä fantasmeja ryhmiin, jotka ovat enemmän tekemisissä keskenään kuin ulkopuolisten kanssa. Kuhunkin ryhmään kuuluvalla voisi olla heikko taipumus hakeutua omaan kaupunginosaansa. Kaikki voisivat seikkailla kaikkialla, mutta pieni koti-ikävä vetäisi kotiinpäin.
Nykyisessä versiossa fantasmeja on neljä eri kansaa, joilla kullakin oma kotimaa omassa nurkassaan fantasiamaailmaa.
Mukana tarinointia myös ihmisten kielellä. Ohjelmkoodin sekaan on tapana kommentteja, jotka auttavat koodia lukevaa ymmärtämään, mitä ohjelma tekee. Läheskään aika kommentit eivät kerro mitään, minkä ei näkisi koodistakin, eikä kommentteja ymmärrä, ellei ymmärrä koodia.
Minun kommenttini ymmärtää, vaikkei koodia ymmärtäisikään eikä toisaalta sitä, mitä kerron kommenteissa, näe koodista. (Niin kauaksi eksyn aiheesta.)
Koodin vääntämiseen web-ystävälliseen muotoon käytän prismjs:ää
Fantasmin terveydentila ja liikkeet
'Virasto', joka kerää tilastotietoa pandemiasta
Komentokeskus. Sai nimen 'kartta', koska kartta on näkyvin osa komentokeskusta
Virusta ja fantasmeja kuvaavia parametreja. Reaalimaailmassa luonnonvalinta ohjaa virusten mutatoitumista. Tässä fantasiamaailmassa olen joutunut virittelemään näitä parametreja viruksille suotuisiksi.
Komentotiedosto Simulointi + videoksi yms.
videon kasaaminen Komento, jolla kuvat kootaan videoksi
Tästä voit ladata ohjelman lähdekoodin , jos haluat fantasmien maailman THL:ksi.
Epidemiologit yrittävät saada mallinsa vastaamaan mahdollisimman hyvin todellisuutta, minä taas säädin fantasiamaailmani totuudet sellaisiksi, että siellä tapahtuu kiehtovia ilmiöitä, joita on lisäksi helppo visualisoida näyttävästi. Vaihtoehtoisessa todellisuudessa minä päätän.
Vaihtoehtoisten todellisuuksien markkinoilla on nykyään valinnavaraa. Eläköön valinnanvapaus!
"Pedofiilien salaliitto varasti Trumpin vaalivoiton", "Rokotukset ovat eliitin salaliiton yritys tyhmistää kansa helpommin hallittavaksi", "Ilmastonmuutos ei johdu ihmisestä vaan auringosta", "Covid-19 tartunnan voi estää positiivisella ajattelulla ja oikealla hengitystekniikalla.".
Vaihtoehtoisilla todellisuuksilla on monta vetovoimatekijää
Reaalimaailmassa vedetään tosiasioista johtopäätöksiä yleisesti järkevinä pidettyjen päättelysääntöjen mukaan. Vaihtoehtoisissa todellisuuksissa edetään toiveista vaihtoehtoisiin tosiasioihin tarpeen mukaan räätälöityjä päättelysääntöjä noudattaen. "Tee itse tutkimuksesi, webistä löytyy juuri sinunkin tutkimukseesi sopivia faktoja ", "Ole oma herrasi, älä eliitin orja"
Malleja ja simulointeja olennaisempaa pandemian hillitsemisessä lienee 1) se, miten ihmiset ihmiset ymmärtävät mekanismit, joilla tauti tarttuu, 2) miten tosissaan ihmiset yrittävät estää taudin leviämistä ja 3) kuinka huonot mahdollisuudet ihmisillä on esimerkiksi työn takia välttää altistumista.
Tarvittaisiinko valistusvideoita, joissa ovelat virukset yrittävät siirtyä taudinkantajasta uuteen uhriin: Iloisen seurueen ympärillä ratsastaisi sylkipisaroilla hilpeitä viruksia uhrista toiseen. Saisimme jännittää, onnistuuko rauhallisessa ruokaravintolassa hentoiseen aerosolihiukkaseen tarrautunut virus ylittämään turvavälin vai imaiseeko ilmanvaihto sen mukaansa.
Muutama video voisi näyttää, miten virus siirtyy käsien ja pintojen kautta uhrista toiseen. Ensin jännitettäisiin, päseekö virus suusta tai nenästä kädelle. Ellei käsidesi tappaisi virusta, jännittäisimme, pääsekö se hypähtämään ovenkahvaan, hissin nappulalle tai johonkin muuhun kymmenistä otollisista paikoista. Vielä pitäisi jännittää, ojentaako uusi uhri 'pelastavan' kätensä ennen kuin viruksen pinta kuivuu (tai mitä lie sille tapahtuu.)
Epidemioiden kulkua mallinnetaan yleensä differentiaali- tai differenssiyhtälöillä, joiden muuttujat kuvaavat mm. taudin eri vaiheita elävien osuuksia väestöstä. Parametreillä kuvataan viruksen ärhäkkyyttä, taudin vaiheiden kestoa ja sille altistumiseen vaikuttavia ihmisten käyttäytymisen piirteitä. Tässä yksi esimerkki: Modelling the Potential Health Impact of the COVID-19 Pandemic on a Hypothetical European Country Artikkeli auttaa ymmärtämään mallinnuksen periaatteen, jos jaksaa siihen paneutua, mutta johtopäätöksiä pandemiasta ei sen antamien tulosten perusteella kannata tehdä, koska alan tiedeyhteisö ei ole artikkelia vielä arvioinut.
Fantasiapandemiaani simuloin toisella yleisellä tavalla: Yhtälöiden sommittelun sijaan loin N (videolla N = 1200) oliota, jotka kuleksivat ympäriinsä fantasiakaupungissani. Videon alussa tupsautan niiden sekaan yhden itämisvaiheessa olevan oireettoman taudinkantajan.
Itämisvaihe kestää satunnaisesti välillä i0..i1 (videolla 7—14) fantasiamaailman päivää. Itämisvaiheessa ei ole oireita eikä tautia voi testaamallakaan havaita. Jos joku virukselle altis sattuu liian lähelle itämisvaiheessa olevaa potilasta, sekin saa tartunnan.
Itämisvaiheesta potilas siirtyy joko taudin lieväoireiseen vaiheeseen tai vakavampaan, hoitoa vaativaan vaiheeseen. Lieväoireiset potilaat hidastavat vauhtiaan, mutta kulkevat vapaana muiden seassa ja tartuttavat liian lähelle tulevat. Vakavammin sairastuneet ja testeissä haaviin jääneet sairastuneet pysäytetään ja eristetään karanteenin, joten he eivät voi tartuttaa muita. Tämä sairauden vaihe kestää pidempään kuin itämisvaihe — s0..s1 (21—35) fantasiapäivää.
Sairastuneilla on pieni todennäköisyys kuolla. Kuolemien oli tarkoitus harventaa väestöä niin, että tauti tukahtuu tartutettavien vähyyteen, mutta en raaskinut tappaa niin montaa fantasmeistani. Senkin voin toki tehdä, ellette muuten ala uskoa fantasy-21 viruksen vaarallisuuteen. Mukava vaihtoehtoisen todellisuuden piirre tämäkin: Reaalimaailmassa jos tulee ennustaneeksi, että tilanne pahenee, harmittaa, jos tauti sattuukin talttumaan, mutta omassa todellisuudessani ennustukseni toteutuvat.
Sairaudesta toipuneet ovat immuuneja pitkään, mutta eivät pysyvästi (200—400 fantasiapäivää). Jos tervehtyneet oliot olisivat pysyvästi immuuneja, virus kävisi enimmän porukan läpi ja kuolisi sukupuuttoon. Ei kovin jännittävää. Paljon jännittävämpää, kun väestön immuunius melkein tappaa pöpön sukupuuttoon, mutta viime tingassa ensimmäiset immuuniutensa menettäneet 'pelastavat' pöpön. Muutkin parametrit olen virittänyt niin, ettei pandemia etene liian tylsästi.
Yhdinvoimaloista, lentokoneista yms. tehdään koulutussimulaattoreita, jotka toimivat hyvin tarkkaan samoin kuin simuloitava systeemi. Riittää, että tunnetaan tarvittavat fysiikan lait ja saadaan suunnittelupiirustuksista laitoksen, lentokoneen yms. mitat ja muodot. Pandemiasta on vaikeampi saada yhtä tarkkaa tietoa.
Pandemian eteneminen riippuu viruksen ominaisuuksista: miten virus säilyy ympäristössä, miten se siirtyy uhriin, yms. Ennen kaikkea pandemian eteneminen riippuu siitä, miten ihmiset toimivat, miten jaksavat olla varovaisia, jne. Virus muuttuu, ihmiset väsyvät rajoituksiin tai pelästyvät uhriluvun kasvaessa, ... Yhteiskunnan välttämättömiä toimintoja ei voida pysäyttää.
Teollisuusprosessien säätöjä suunniteltaessa käytetään usein yksinkertaisia, karkeita ja epätarkkoja malleja. Silloinkin malliyhtälöiden perusrakenne sommitellaan usein fysiikan lakien ja prosessin suunnitteludokumenttien perusteella. Joidenkin mallin parametrien arvoja on kuitenkin vaikea tai mahdoton laskea, joten ne sovitetaan tilastollisin menetelmin mallista kerättyyn mittausdataan. Säätötekniikassa malli on hyödyllinen, jos sen avulla prosessia voidaan ohjata riittävän hyvin ja halvemmalla kuin ihmisvoimin tai paremmin kuin ihmisvoimin. Usein ihmisvoimin ohjaaminen ei edes ole mahdollista.
Yleensä malli on hyödyllinen, jos se on tarkempi ja antaa ennusteen nopeammin kuin päässälaskuna luuleminen. Erimittaisia viiveitä ja erilaisia hitauksia sisältävien ilmiöiden hahmottaminen päässälaskuna on vaikeaa. Varsinkin, koska 'päässäluuleminen' on usein ideologisesti ja muista syistä painottunutta. Hyvä tietysti, jos mallilla lasketaan luottamusväli tulokselle ja se kerrotaan havainnollisesti.
Pandemian etenemistä ei voi ennustaa pitkälle tulevaisuuteen tarkasti mm. siksi, että se riippuu ihmisten reaktiosta eikä virus pahalainenkaan pysy samana. Toisaalta esimekiksi kansantalous on pandemiaa monimutkaisempi ilmiö ja ihmisen toiminnalla on siinä tärkeä rooli. Silti kansantalouden malleilla ennustellaan esim. hallituksen työllisyystoimien vaikutusta useamman vuoden päähän. (Huom: Kansantaloudesta ja sen mallintamisesta en tiedä mitään — siitäkään.)
Mitä hatarampaa tieto on, sitä hatarampaa on ennakointi ja sitä vaikeampi suunnitella vastatoimia. Riippumatta siitä, käytetäänkö malleja apuna. Millaista 'mittaustietoa' pandemiasta on saatavissa? Perustuuko tieto potilailta kerättyihin arveluihin?
Itämisaika? Milloin minä sain tartunnan? Olin useana eri päivänä tiloissa, joissa oli muitakin ihmisiä. Yhden heistä tiedän saaneen diagnoosin parin päivän kuluttua tapaamisestamme. Todennäköisesti sain tartunnan häneltä. Tai tartutin hänet. Tai olimme kumpikin saaneet tartunnan jo aiemmin. Pari viikkoa ennen sairastumista kävin kylpylässä, jossa oli paljon vieraita. Siinä vaiheessa koronasta oli kuultu lähinnä huhuja eikä tartuntaa osattu varoa. Vaan voiko oireeton (itämis)vaihe kestää kaksi viikkoa? Kauanko siis olin tartuttaja ennen kuin huomasin oireet?
Entä milloin oireet alkoivat? Riippuu siitä, kuinka vähäiset oireet itse noteraa, mitkä oireet johtuvat koronasta, mitkä ovat sitä tavallista köhää ja kolotusta? Minun on helppo sanoa, minä päivänä selkeät oireet alkoivat, mutta moni lievemmin sairastava ei lopultakaan erota covid-19:ta tavallisesta pikku vilustumisesta.
Pitkäänkö tauti kestää? Minulla vahvoja oireita oli parisen viikkoa, lievempiä jatkoksi viikon pari. Testit näyttivät posiitivista viikko viikon jälkeen. Vaan pitkäänkö olin potentiaalinen tartuttaja?
Kuinka herkästi virus tarttuu? Vaikea sanoa, kun ei tiedä, moniko on sairastunut. Väestötason tietoa vasta-ainetesteistä kertyy pikku hiljaa, mutta vasta-aineita kehittyy sairastaneille vaihtelevasti.
Jos malli on onnistuttu sovittamaan historiatietoon ja mallin parametreilla ja muuttujilla on selkeät vastineensa epidemioiden teoriassa, sillä tuotetut skenaariot saattavat olla hyödyllisiä asiantuntijoille, joilla on hyvät yleistiedot ja hyvä 'sormituntuma' epidemioiden etenemisestä.
Simulaatioiden tuloksilla voi myös yrittää havainnollistaa suurelle yleisölle, toimittajille ja päättäjille perusasioita pandemioiden etenemisestä. Tällaiseen tarvitaan kuitenkin erityistä tieteen popularisoinnin osaamista. Asiantuntijan on vaikea selittää pandemian luonnetta, jos toimittaja koko ajan jänkkää esimerkiksi: "Palataanpa kuitenkin vielä selvyyden vuoksi tähän varoitustekstiin: Onko rokote varmasti 100% turvallinen, vaikka siihen laitetaan varoitus veritulppariskistä" Kun asiantuntija alkaa selittää, toimittaja tivaa "Kyllä vai ei vastausta" Tieteellisen tiedon perusteella ei mitään rokotetta voi taata 100% turvalliseksi. Mitään ei voi taata 100% varmaksi. Toimittajat vievät ensin keskustelun täysin hakoteille ja sitten kysyvät syyttävästi: "Miksi tämä on näin sekavaa?".
Siitä, kun tauti alkaa levitä tai tukahtua, kestää pari kolme viikkoa, ennen kuin muutos alkaa näkyä sairaalahoitoon joutuvissa. Hyvä lyhyen tähtäimen ennustemalli voisi antaa vihjettä siitä, mitä on odotettavissa ja millaisilla toimilla kannattaisi reagoida.
Sormeni syyhyävät kokeilla simulaattorini rinnalle yksinkertaista mallia, jolla 1) voisi ennakoida pandemian etenemistä lähiviikkojen aikana ja 2) kokeilla eri toimenpiteiden vaikutusta. Mallissa olisi karkeasti kuvattuna pandemian etenemisen pääpiirteet ja siinä olisi muutama parametri, jotka voitaisiin sovittaa tilastollisin menetelmin niin, että malli toimisi saman suuntaisesti kuin pandemia. Parametrit sovitettaisiin joka päivä parin edellisen kuukauden tilastotietojen perusteella ja ennuste lähiviikoille laskettaisiin joka päivä uudestaan. (Covid-pandemiasta näin keväällä tällaisen mallinnuksen, mutta linkki on vielä hakusessa.) Etäisesti tätä muistuttavaa lähestymistapaa käytetään malliprediktiivisessä säädössä mm. prosessiteollisuudessa.
Neuroverkoista suoritin pari kurssia 70-luvulla enkä ole soveltanut tekoälyä mihinkään. Täydellisen tietämättömyyden tuomalla varmuudella siis kirjoittelen.
Yleinen tapa lienee opettaa tekoälyä suurella määrällä dataa. Jos siis tekoälylle tarjoittaisiin pureskeltavaksi kaikki maailman tilastotieto pandemiasta, se kai osaisi ennustaa, miten erilaiset rajoitustoimet vaikuttaisivat pandemian etenemiseen. Vaan voiko tekoälyyn luottaa? Onko tekoäly luonteeltaan hämärämpi versio regressioanalyysistä, joka ei ymmärrä syy-seuraussuhteista mitään vaan luottaa korrelaatioihin?
Regressioanalyysin avulla voidaan tilastotieteen menetelmin löytää malliyhtälölle parametrit, joilla mallin tuottama ennuste parhaiten vastaa mittaustietoa. Tilastotiedettä ymmärtämättömän amatöörin regressioanalyysi voi kuitenkin johdattaa täysin virheellisiin johtopäätöksiin. Tältä osin tekoäly, niin kuin olen sen ymmärtänyt, muistuttaa regressioanalyysiä. Lisävaikeus tulee siitä, että regressioanalyysin tuottaman malliyhtälön parametreineen saa nähtäväkseen, mutta tekoäly ei osaa millään tavoin selittää päätelmiään.
Tarina kertoo yrityksestä opettaa tekoäly tunnistamaan hyökkäysvaunuja. Tätä varten varattiin hyökkäysvaunu yhdeksi päiväksi ja otettiin valtavasti kuvia hyökkäysvaunusta: Vaunu edestä, vaunu takaa, vaunu osin pensaiden takana piilossa, ...
Toisena päivänä käytiin ottamassa samoista paikoista kuvat ilman hyökkäysvaunua. Sitten annettiin kuvat tekoälylle pällisteltäväksi: "Näissä kuvissa on vaunu, näissä ei. Näetkö eron?"
Testidatasta tekoäly oppi erottamaan 100% oikein kuvat, joissa oli hyökkäysvaunu. Kun tekoälyä testattiin eri maisemassa, se löysi vaunut sattumaa huonommin. Tarvittiin ihminen oivaltamaan, että tekoäly oli oppinut erottamaan 100% oikein pilviset päivät aurinkoisista, mutta hyökkäysvaunua se oli pitänyt mitättömänä roskana kuvissa.
Tasapuolisuuden vuoksi päinvastainen esimerkki tekoälyn kyvyistä:
Tekoäly opetteli pelaamaan go-peliä käymällä läpi go-mestarin pelejä. Opittuaan sen, mikä ihmisten peleistä oli opittavaa, se kehitti taitojaan pelaamalla itseään vastaan. En ihan ymmärrä, miten. Jos tietää, milloin on voittanut, voinee yritys-erehdys -menetelmällä oppia erottamaan hyvän pelistrategian huonosta.
Myöhemmin ihmistä vastaan pelatessaan tekoäly teki kiperässä tilanteessa siirron, joka oli kaikkien peliä seuraavien go-mestarien mielestä tosi typerä — varma häviö tekoälylle. Tekoäly teki kuitenkin perään pari vielä 'typerämpää' siirtoa ja voitti pelin. Nykyään mestaritkin käyttävät moisia 'typeriä' siirtoja.
En lähde etsimään noille esimerkeille lähdeviitettä, koska ellei sellaista löytyisi, jäisi hyvät anekdootit kertomatta. (Tehokkaimmat anekdootit ovat usein itse keksittyjä. Miten voin vedota lukijoiden tunteisiin, jos annan lähdekritiikin rajoittaa anekdoottien kertomista.) Saattaa kuitenkin olla, että olen lukenut nuo esimerkit kirjasta Marcus de Sautoy: The Creativity Code, how AI is learning to write, paint and think. (Ei ollenkaan huono kirja. Kiitos joululahjasta!)
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Epidemioiden simulointia > Epidemian SIR-mallinnus (edit: )
Epidemioiden SIR-mallinnusta kehiteltiin jo sata vuotta sitten. Kokeilin sen suuntaista mallinnusta uteliaisuudesta, ohjelmoinnin sormiharjoituksena.
Virtausdynamiikka on aina kiinnostavaa. Laitan pari linkkiä tutkimuksiin, joissa on selvitelty virusten leviämistä aerosolien mukana. Parin metrin turvaetäisyys vie roiskeiden ulottuvilta, mutta aerosolit pirulaiset matkaavat paljon pidemmälle.
27 huhtikuuta 2021
Tein yksinkertaisen epidemia-mallin, jossa muuttujina ovat tartunnalle alttiit, oireettomasti sairastavat, karanteeniin asetetut sairaat sekä parantuneet. Noudatin wikipedian artikkelin periaatteita mallia kyhätessäni. Pitkä juttu SIQR-mallistani . Jupyterlab notebookin käyttäjät voivat ladata sen tästä .
Epidemioiden mallinnukseen perehtyessä törmäsin tällaiseen: Aerosolit vipeltämässä kaupassa
Yhtä tärkeä kuin tutkia epidemioiden etenemistä väestön keskuudessa on selvittää tartuntamekanismeja. Parin metrin turvaetäisyys suojannee roiskeilta, mutta ei aerosoleilta, joiden mukana taudinaiheuttajat saattavat ratsasta pitkällekin.
Minua kiinnosti enemmän viruksen kulkeutumisen mallintaminen kuin sen merkitys epidemian leviämiselle, joten en selvittänyt, kuinka suuri merkitys aerosoleilla on covid-19 tartunnoissa, mutta paljon näyttää asiaa tutkittavan.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Elävä maalaus (edit: 2020-12-14)
Taidenäyttelyn avajaisissa seinälle heijastettiin video vesiputouksesta, jossa vesi oli korvattu ykkösillä ja nollilla. Taiteilija kertoi pitävänsä tietokonetta monipuolisena 'siveltimenä'. Tulin kertoneeksi hänelle, että ole pitkään haaveillut simulaatiosta, jossa eriväriset maalit virtailevat muodostaen psykedeelisiä kuvioita. Soveltaisin fysiikan lakeja, mutta ottaisin taiteilijan vapauden muutella niitä.
— Sehän on tekemistä vaille valmis, hän sanoi.
Tulkitsin taiteilijan ylistävän ideaani: Onpa jumalaisen omaperäinen idea ja toteutuskin valmiiksi mietitty.
Viikon aherruksen jälkeen aloin arvella taiteilijan vihjanneen, että epämääräisen haaveen ja valmiin teoksen väliin mahtuu paljon epätoivoista puurtamista ja silti lopputulos jää pahasti vajaaksi siitä, mitä on haavehoureissaan sielunsa silmillä nähnyt.
At the opening of an art exhibition, a video of a waterfall was projected on the wall, with water replaced by ones and zeros. The artist said he sees the computer as a versatile ‘brush’. I told him that I had long dreamed of a simulation in which paints of different colors flow, forming psychedelic patterns. I would apply the laws of physics, but with the artist’s freedom to modify them.
That's ready to do, he said.
I thought he praised my idea: Such a divine original idea with implementation already thought out.
After a week of strugling, I understood that the artist had hinted that there is a lot of desperate drilling between a vague fantasy and a finished work, and yet the end result will be far from the dream.
Tammikuussa 2021
Ikuisesti alavirtaan (jos tuntuu tylsän hitaalta, nopeuta videota)
video varalle, jos yo. ei toimi
Roiskeita
video varalle, jos yo. ei toimi
Videoni ei näytä alkuunkaan samalta kuin haaveissani. Vaan enpä minä tuota tehnytkään. Sen teki tietokoneeni, joka ei antanut unelmilleni armoa. Osansa on myös fysiikan laeilla, jotka eivät noudata kuvitelmiani.
Joku on saanut aikaiseksi tällaista . Okay, Mä hävisin.
Suurta taidetta en saanut aikaiseksi, mutta yksi monista pitkäaikaisista haaveistani toteutui: Olen opiskeluajoista lähtien halunnut tehdä ohjelman, joka ratkaisee osittaisdifferentiaaliyhtälöitä ja simuloi kaasujen ja nesteiden virtailua. Uskoin toki tietäväni ratkaisun periaatteen, mutta olen oppinut, että reaalimaailman ongelmat eivät kunnioita uskoani omaan kaikkitietävyyteeni. Uskominen omaan osaamiseen on paljon helpompaa kuin tekeminen.
Valistusvideon mukaan covid-19 -sodan todellisia sankareita ovat ne, jotka kykenevät ahdistumatta lojumaan kotisohvalla mitään tekemättä. Arvelin, että koodaminenkin on covid-19 -sodassa, ellei sankaruutta, niin ainakin sallittua. Minulle koodaaminen toimii meditaationa — Kunhan saan koodata mitä haluaa eivätkä dead-linet ahdista.
Jos aikoinaan töissä ollessani sain pomon vakuuttuneeksi, että joku homma on tärkeä, pomo kysyi, paljonko se vaatii työtä.
Pelkkä kysymys alkoi ahdistaa. Miten työmäärän voisi arvioida uudenlaisesta uppo-oudosta hankkeesta, josta ei mitään tiedä? Työmäärähän on jokseenkin viimeinen asia, mikä tällaisissa hankkeissa selviää. Työelämässä tärkeintä oli keksiä mahdollisimman iso niin pieni arvio työmäärälle, että pomo saattoi sen hyväksyä. Tällaisen pikkuhankkeen työmääräksi olisin ehkä arvioinut: 'parisen viikkoa' johon pomo olisi vastannut: 'saat viikon'.
Jos tämä olisi ollut työprojekti, muutama viikko dead-linen väärällä puolella minua olisi alkanut ahdistaa, vaikka sadas prototyyppi jo olisikin osoittanut alustavia toimimisen oireita. Kun alkaa ahdistaa, tulee hosuttua ja yritettyä quick-and-dirty temppuja. Homma tyssää siihen eikä auta kuin julistaa nolottavan keskeneräinen työ valmiiksi.
Syrjähyppynä linkki juttuun, jossa hämmästellään, miksi kaikki eivät tunne virtausdynamiikan lakeja
Loin tietokoneeseeni järven saarineen. Videolla vasemmassa ruudussa näkyy järven pinta ja veden virtaukset. Mitä punaisempaa, sitä korkeammalla vesi on. Nuolet osoittavat veden virtauksen suuntia. Mitä paksumpi nuoli, sitä enemmän vettä virtaa, mitä punaisempi nuoli, sitä nopeammin vesi virtaa. Saaria en jaksanut erikseen maalata. Ne alkavat erottua, kun niiden kohdalla "pinnankorkeus" ei muuta. Vesi virtaa tietysti alavirtaan, eli järveä sopivasti kiertäessään voi koko ajan lasketella alavirtaan. Ei siis ihan reaalimaailman järvi vaan fantasiamaailman järvi. Sen voi ajatella järveksi vaihtoehtoisen totuuden maailmassa. Nykyään vaihtoehtoiset totuudet ovat suosittuja politiikassa, miksei siis fysiikassakin.
Järveen ja saarille on roiskittu punaista ja vihreää väriä, joiden pitoisuudet näkyvät videon oikeanpuoleisessa ruudussa. Mistä tämä väri on tullut? Simulaation alkua edeltävistä tapahtumista tiedämme yhtä vähän kuin maailmankaikkeuden tapahtumista ennen alkuräjähdystä. Ehkä joku värikuulameteori on poksahtanut harmittavasti juuri järveni yläpuolella.
Aluksi simuloin suorassa kanavassa virtaavaa paksuhkoa nestettä. Kun lopulta sain nesteen joten kuten virtaamaan, huomasin lopputuloksen sangen tylsäksi. Ei auttanut, vaikka väänsin kanavan mutkalle — ei auttanut toinenkaan mutka. Vaimokin käveli ohi pysähtymättä ihastelemaan. Algoritmin kehittely kuitenkin kiehtoi niin, etten luovuttanut.
Kun näin Escherin piirroksen vesiputouksesta, ymmärsin, ettei minunkaan tarvitse antaa reaalimaailman kahlehtia itseäni. Loin järven, jossa vesi valuu saarten välissä ikuisesti alavirtaan. Koska lukijan saattaa olla vaikea ymmärtää, millaisesta järvestä on kysymys, piirsiin järven pohjan kallistusten veteen aiheuttamat voimat järven eri kohdissa. Selvensi?
lisäselvennykseksi itä-länsi ja pohjois-etelä -suuntaan vaikuttavien voimien suuruudet.
Videon alussa järvi on levossa ja vettä on kaikkialla tasainen kerros. Sitten vesi alkaa virrata alas koskista kiihtyvällä vauhdilla. Ken on niin kiinni reaalimaailmassa, ettei kykene moista koskien 'käynnistymistä' mielessään kuvittelemaan, voi korvata kosket järvessä kyljellään olevilla siipirattailla, joiden toinen puoli haukkaa vettä, toinen puoli haukkaa tyhjää.
Minun mielestäni vesi virtailee juuri niin kuin sen kuuluukin ja väriaineet liukenevat veteen ja kulkevat veden virtausten mukana juuri niin kuin kuuluukin. Kovin kaunista katseltavaa tuo ei ole, ellei osaa arvostaa 'luonnonilmiöiden' hienoutta.
Aluksi laitoin järveen suorakulmaisia saaria, mutta virtaukset aiheuttivat suoakulmioiden nurkkia kiertäessään niin suuria paine-eroja, että alkeellinen algoritmini ei tilanteesta selvinnyt.
Korvasin suorakulmiot ellipseillä. (Ehkä autot ja lentokoneetkin ovat pyöreäkulmaisia, koska insinöörien algoritmit eivät selviä virtausten jyrkistä käännöksistä :-)
Ei sentään. Insinöörit joutuvat kehittelemään algoritmejaan, kunnes saavat ongelmansa ratkaistua. Minun ei tarvinnut sellaiseen ryhtyä, koska minä ja järveni elämme vaihtoehtoisessa todellisuudessa. Helpompaa kuin algoritmini paranteleminen oli 'parannella' fantasiamaailmaani — muotoilla ja siirrellä saaria, muutella 'veden' viskositeettia (= 'paksuutta') — kunnes alkeellinen algoritmini onnistui liikuttelemaan 'virtauksia' suuremmin kompuroimatta.
Saarien ja muoto ja sijainti pitää 'kertoa' simulaattorilleni sittaisdifferentiaaliyhtälöinä, mutta minä ymmärrän vain kaaviokuvia. Minulla ja simulaattorilla oli kommunikaatio-ongelma, joka tuotti ikäviä yllätyksiä. Jo kymmenennen yllätyksen jälkeen tein työkalun, joka piirtää minulle kartan siitä, millaisen saariston olen tullut keksineeksi ja joka osaa kirjoittaa sen yhtälöiksi, jotka simulointiohjelmani ymmärtää. Hauskaa matematiikan verryttelyä. Tai ei pelkkää verryttelyä — uuttakin piti opetella.
Tuntuu, että minun kouluaikoinani opetukseen liittyi sellainen harhakuvitelma, että opetettavaksi valituilla nippelitiedoilla pärjää loppuelämänsä. Matematiikan soveltamisessa tärkeintä kuitenkin on matemaattinen ajattelu, kyky opetella uusia nippelitaitoja ja ymmärrys siitä, mitä nippelitaitoja opetella. Matemaattinen ajattelu — mitä se on? Kiperä kysymys. Miten oppia opettelemaan uutta? Kiperä kysymys sekin.
Luonnontieteiden opetuksessakin tuntui riittävän, että osaa tietyt kaavat, joiden avulla ratkaista tietynlaiset tyyppitehtävät sen sijaan, että olisi ensin/samalla yritetty oikeasti ymmärtää luonnonilmiöitä. Tyttäreni kertoi, että nykyään yliopistolla on demotyyppejä, jotka ovat kunnolla miettineet, miten havainnollistaa luonnonilmiöitä.
Järvivesistön suunnittelun työkalu
Kun virtausilmiöitä simuloidaan, maailma jaetaan pieniksi kuutioiksi ja lasketaan, mitä kullekin kuutiolle tapahtuu ajan kuluessa. Järvessäni kuutio on joko maata tai nestettä. Tämän takia yllätyin ikävästi, kun testasin, miten simulointiohjelmani näkee ellipsin muotoiset saaret. Eivät olleet pehmeän pyöreitä vaan monikulmiota. Kulmia tuli paljon, mutta onneksi algoritmini ei niistä hermostunut yhtä pahasti kuin suorakulmioiden nurkista.
Virtausdynamiikan perusyhtälöt pitää vääntää simulointiin sopivaan muotoon. Opin jo koulussa, että yhtälöiden pyörittely ei ole ihmisen hommaa — ei sovi ainakaan minulle. Silloin harvoin kuin pääsin 'lopputulokseen' asti, se näytti aina jotenkin oudolta, minkä selitykseksi olin löytävinäni virheen yhtälöiden pyörittelyn alkuvaiheista tai jo lähtöyhtälöistä. Ei auttanut kuin tehdä kaikki uudestaan alusta lähtien. Ja huomata, että virhe olikin muualla. Taas alusta. Sitten huomata, että olihan se virhe siellä alussa, mutta eri kohdassa kuin ...
Onneksi yhtälöiden pyörittelyn voi teettää tietokoneella: Kirjoitetaan yhtälöt ja annetaan tietokoneen ratkaista ne. Jos lähtöyhtälöitä täytyy muuttaa, tehdään korjaukset ja klikataan 'ratkaise'. Jokohan koulussa nykyään kerrotaan tällaisesta mahdollisuudesta?
Jäljempänä olevan linkin takana kerrotaan, miten oheisista säilymislaeista tuotetaan automaattisesti seuraava, simuloinnissa tarvittava funktio.
# -*- coding: utf-8 -*- import params as par import saaret as ly def dfdt(kartta, rho_d, u_d, v_d, paint_d, Fe_u, Fe_v, D_rho, D_u, D_v, D_paint): for i in range(1, ly.DIM_i-1): for j in range(1, ly.DIM_j-1): if kartta[i, j] == 'jarvi': D_rho[i, j] = \ (0.5*rho_d[i, j]*u_d[i, j-1]-0.5*rho_d[i, j]*u_d[i, j+1]+0.5*rho_d[i, j]*v_d[i-1, j]-0.5*rho_d[i, j]*v_d[i+1, j]+0.5*rho_d[i, j-1]*u_d[i, j]-0.5*rho_d[i, j+1]*u_d[i, j]+0.5*rho_d[i-1, j]*v_d[i, j]-0.5*rho_d[i+1, j]*v_d[i, j]) D_u[i, j] = \ ((-4.66666666666667*par.mu*u_d[i, j]+1.33333333333333*par.mu*u_d[i, j-1]+1.33333333333333*par.mu*u_d[i, j+1]+1.0*par.mu*u_d[i-1, j]+1.0*par.mu*u_d[i+1, j]+0.0833333333333333*par.mu*v_d[i-1, j-1]-0.0833333333333333*par.mu*v_d[i-1, j+1]-0.0833333333333333*par.mu*v_d[i+1, j-1]+0.0833333333333333*par.mu*v_d[i+1, j+1]-par.c_fr*u_d[i, j]+0.5*par.c_p*rho_d[i, j-1]-0.5*par.c_p*rho_d[i, j+1]+(Fe_u[i, j]+0.5*u_d[i, j]*u_d[i, j-1]-0.5*u_d[i, j]*u_d[i, j+1]+0.5*u_d[i-1, j]*v_d[i, j]-0.5*u_d[i+1, j]*v_d[i, j])*rho_d[i, j])/rho_d[i, j]) D_v[i, j] = \ ((0.0833333333333333*par.mu*u_d[i-1, j-1]-0.0833333333333333*par.mu*u_d[i-1, j+1]-0.0833333333333333*par.mu*u_d[i+1, j-1]+0.0833333333333333*par.mu*u_d[i+1, j+1]-4.66666666666667*par.mu*v_d[i, j]+1.0*par.mu*v_d[i, j-1]+1.0*par.mu*v_d[i, j+1]+1.33333333333333*par.mu*v_d[i-1, j]+1.33333333333333*par.mu*v_d[i+1, j]-par.c_fr*v_d[i, j]+0.5*par.c_p*rho_d[i-1, j]-0.5*par.c_p*rho_d[i+1, j]+(Fe_v[i, j]+0.5*u_d[i, j]*v_d[i, j-1]-0.5*u_d[i, j]*v_d[i, j+1]+0.5*v_d[i, j]*v_d[i-1, j]-0.5*v_d[i, j]*v_d[i+1, j])*rho_d[i, j])/rho_d[i, j]) D_paint[i, j] = \ (-4.0*par.D_pnt*paint_d[i, j]+1.0*par.D_pnt*paint_d[i, j-1]+1.0*par.D_pnt*paint_d[i, j+1]+1.0*par.D_pnt*paint_d[i-1, j]+1.0*par.D_pnt*paint_d[i+1, j]+0.5*paint_d[i, j]*u_d[i, j-1]-0.5*paint_d[i, j]*u_d[i, j+1]+0.5*paint_d[i, j]*v_d[i-1, j]-0.5*paint_d[i, j]*v_d[i+1, j]+0.5*paint_d[i, j-1]*u_d[i, j]-0.5*paint_d[i, j+1]*u_d[i, j]+0.5*paint_d[i-1, j]*v_d[i, j]-0.5*paint_d[i+1, j]*v_d[i, j])
Yritin kirjoittaa seuraavan niin, että sitä lukiessa voi ohittaa yhtälöt ja python koodit pikaisella vilkaisulla. Virtausyhtälöiden johtaminen
Simulointitehtävät eivät ratkea analyyttisesti yhtälöitä pyörittämällä vaan viimeisenä vaiheena joudutaan turvautumaan numeeriseen laskentaan. Laskemista on niin paljon, että kymmenen vuotta vanhalta tietokoneeltani kului useampi tunti alussa olleeseen videoon tarvittavien kuvien tuottamiseen. Pikkuisen mietityttää, miten nopeuttaa laskentaa. Mietityttää, muttei onneksi niin paljoa, että ryhtyisin koodia korjaamaan.
Eh harrasta videopelaamista, mutta aika ajoin haaviin on sattunut artikkeleita, joissa tarkastellaan videopelien tarpeisiin kehitettyjä nopeita luonnonilmiöiden simulointiin soveltuvia algoritmeja. Ilmeisesti suurinpiirtein fysiikan lakeja noudattavat tehosteet säväyttävät.
virtaukset.py Varsinainen virtausten simulointi
Simulaatio-ohjelma tuotti kymmenentuhatta kuvaa. Jos ottaisi joka sadannen ja näyttäisi ne slide-showna? Ei käy: Ilmiön dynamiikasta hukkuisi olennainen. Video? Vaikkapa 48 kuvaa sekunnissa. Syntyy noin parin minuutin video. Vilistääkö olennainen liian nopeasti? Pitää kokeilla.
Miten kuvista saa videon? Kirjoitetaan webin hakukoneelle 'photos pictures to video' tai jotain tuon suuntaista. Hakukone vastaa 'ffmpeg'. Kas, minulla on koneella valmiina ffmpeg. Linuxin vakiovaruste? Vaan miten sitä käytetään?
Sitähän voidaan käyttää vaikka mihin. Ohjeita on kymmeniä sivuja. Parametrejä niin ikään kymmeniä ja jokaisen merkitystä selitetty ainakin sivun verran. Mitäs nyt tehdään?
Haetaan hakukoneella 'ffmpeg example demo tutorial' tai jotain tuon suuntaista, copy-pastetaan yksinkertaisimman näköinen löytö komentotiedostoksi ja täydennellään pikkuisen:
videon kasaaminen Komento, jolla kuvat kootaan videoksi
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Outomerellä hyppelehtivä väkkärä (edit: 2018-10-02)
Pieni matemaattinen sormiharjoitus. Symbolista ja numeerista laskentaa tietokoneella.
2 lokakuuta 2018
video varalle, jos yo. ei toimi
Väkkärän liikeyhtälöidem johtaminen symbolista laskentaa hyödyntäen ( lataa jupyter-lab notebook )
numeerinen optimointi, vilkaise koodia , ( lataa koodi ) ja väkkärän simulointi, vilkaise koodia , ( lataa koodi )
Esimerkkejä differentiaaliyhtälöiden numeerisesta ratkaisemisesta pythonilla.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Siltanosturi — virtuaalinen mekaaninen lelu (edit: 2015-06-11)
Siltanosturi ei ehkä ole pelinä erityisen jännittävä, mutta sopinee esimerkiksi tutkivasta oppimisesta.
Kesäkuu 2015, talvi 2024
Innostus tähän verryttelyyn heräsi lukion fysiikan tuntia seuratessa. Ajattelin tehdä vaikutuksen ja näyttää, miten parilla pienellä ohjelmanpätkällä voisi havainnollistaa dynaamisten järjestelmien toimintaa. Seuraavalla hyppytunnilla opettajanhuoneessa kävi ilmi, etten osaa kirjoittaa yksinkertaisen nosturin tilayhtälöitä. Nosturia liikuttavien voimien laskeminen osoittautuu ylivoimaiseksi. Tein mielestäni kaiken oikein, mutta kirjoittamilleni yhtälöille ei löytynyt ratkaisua. Ongelma kääntyi pakkomielteeksi, joka vaivasi pari kuukautta, eli siihen asti, että lopulta sain ongelman ratkaistua. Tulipa tutkittua ja opittua. Millainen tämä olisi oppimistehtävänä?
Oletetaan, että tutkivaa oppimista harjoittavassa koulussa ryhmä opiskelijoita haluaa projektityössään tutkia siltanosturin toimintaa. En keksi mitään uskottavaa tarinaa moisen idean syntymiselle, mutta ehkä rakennustyömaan pällistely voi inspiroida. Ehkä simulointi kuulostaa houkuttelevalta. Simulaattorilla pääsisi leikkimään nosturinkuljettajaa tai siitä voisi tehdä jonkin moisen pelin.
Nosturia liikuttavien voimien laskeminen osoittautuu opiskelijoille ja opettajalle ylivoimaiseksi. Opettaja lupaa illalla selvittää ongelman, mutta ilmoittaa seuraavana aamuna, ettei jaksanut pakertaa hommaa valmiiksi: "Tähän tarvittaisiin yliopistolla opetettavaa Lagrangen mekaniikkaa ja sitä on vaikea ymmärtää."
Euler-Lagrange-yhtälössä on monimutkaisen näköisiä liike- ja potentiaalienergian erotuksen derivaattoja. Liike- ja potentiaalienergian lausekkeet on helppo kirjoittaa, mutta derivaatojen laskeminen käytännössä mahdotonta.
"Eikö derivaattojen lausekkeita voisi johtaa tietokoneella, symbolisella laskennalla?"
"Voi, mutta eikö ole outoa käyttää jotain yhtälöä, mistä ei ymmärrä mitään?"
"Riittää, että simulaattorimme toimii. Lupaamme yrittää ymmärtää teorian sitten yliopistolla."
"Yhtälöistä tuli monta riviä pitkiä. Ei näitä jaksa koodiksi kirjoittaa."
"Ohjelmankin voi kirjoittaa tietokoneella."
"Iso osa tästä hommasta menee ohi ja yli lukion oppimäärän. Tästä projektista ette opi paljokaan ylioppilaskirjoituksissa tarvittavaa."
demovideo
video varalle, jos yo. ei toimi
Yhtälöiden johtaminen ja koodin generointi numeerista ratkaisua varten
Vilkaise optimointikoodia ( lataa koodi ) Vilkaise simulointikoodia ( lataa koodi )
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Peikkometsän hiilitase (edit: 2018-2-19)
Me - peikkokoulun Python-kerho - teimme pelin, joka auttaa ymmärtämään kraatterimme metsien hakkuun vaikutusta kraatterimme ilmastoon.
Helmikuu 2018
Peikkojen metsä kasvaa lasikupolilla katetussa tulivuoren kraaterissa. Kraaterin ilmastoon vaikuttava hiili on varastoituneena metsän puihin, kraaterin ilmaan ja polttopuihin peikkojen puuliitereissä. Koska kraaterissa on oma pienoisilmastonsa, meidän täytyy pitää tarkasti huolta ilman hiilidioksidipitoisuudesta, että kraatteri pysyy sopivan lämpimänä.
Satumetsän puut kasvavat sangen oikukkaasti, joten meidän satumetsän peikkojen on hoidettava metsää erityisellä huolella. Tätä varten päätimme tehdä simulaattorin, jolla harjoitella metsän hoitoa. Tai no, oikeastaan halusimme kokeilla, millaista ohjelmointi on. Olimme kulleet väitettävän ohjelmointia hauskaksi.
Puiden kasvusta on tehty tutkimuksia, mutta meillä oli niin kiire päästä ohjelmoinnin alkuun, ettemme varsinaisesti ehtineet tutustua niihin. Arvelimme, ettei metsän kasvua ole kovin monimutkaista mallintaa: Puu muuttaa ravinteet auringon valon avulla selluloosaksi yms. Mitä suurempi lehvästö ja juuristo, sitä vauhdikkaammin puu kasvaa. Jos puut kasvavat liian lähekkäin, ne varjostavat toisiaan ja kilpailevat vedestä ja ravinteista. Haitta on tietysti verrannollinen siihe, kuinka pahasti lomittain puut kasvavat. Satumetsän puut eivät kasva rajattomasti. Tietyn rajan jälkeen niiden kasvu hidastuu ja lopulta pysähtyy. Puuvanhukset kasvavat hitaammin kuin nuoret puut. Lopulta puu kuolee vanhuuteen ja alkaa lahota.
Oli yllättävän iso työ kirjoittaa työ python-kielelle. Se on ihan erilaista kuin meidän peikkojen kieli ja kaikki pitää kertoa yksityiskohtaisesti ja täsmällisesti. Python-kielessä ei esimerkiksi ole "vauhdikkaammin" -sanaa. Toisaalta oli sangen opettavasti miettiä perusteellisesti, mitä puhekieli tarkkaan ottaen tarkoittaa. Kävi ilmi, että meistä jokainen oli ymmärtänyt eri tavalla, mitä puhekielinen kuvaus metsän kasvusta tarkoittaa.
Simulointien tuloksista voi oppia monen laista. Opimme, että satumetsän puiden kasvu ei noudata kuvittelemiamme lainalaisuuksia. Karvas oppi, mutta onneksi simulaattorista tuli hauska peli, jonka suunnittelu opetti meidät miettimään, mikä on olennaista metsän kasvun ja kraatterin hiilidioksitaseen kannalta. Monet puhuvat ihan puuta-heinää, koska eivät ymmärrä ongelman ydintä.
Tarkoituksemme oli, että simulaattori piirtää kuvaruudulle kasvamaan oikean näköisen metsän, jota voisi käännellä ja katsella miltä puolen haluaa. Voisi nähdä, miten ison puun varjo siirtyy auringon nousemisen myötä pois pienen puun yltä. Puiden lomassa lennähtelevät ja niiden oksilla sirkuttavat linnut olisivat olleet mukava yksityiskohta.
Loppujen lopuksi puista tuli pyörylöillä kuvattuja palloja ja metsää voi katsoa joko tasan ylhäältä tai tasan alhaalta. Aurinko paistaa suoraan ylhäältä. Puiden varjon korvasimme puuta ympäröivällä kehällä, mutta se teki näytöstä niin psykedeelisen, että tarjoamme vaihtoehtona sekä puun, että sen varjon kattavaa kiekkoa. Puun varjo ei liiku auringon mukana, koska aurinkokaan ei liiku. Varjo on eräänlainen keskimääräinen varjo. Kiekon väri kertoo, kuinka pahasti puu on muiden katveessa. Puun kuollessa se muuttuu ruskeaksi ja lahoaa hitaasti olemattomiin.
Ohjelmoimme erilaisia hakkuustrategioita polttopuun korjuuseen: Avohakkuu, vanhojen puiden hakkaaminen, varjoon jäävien karsiminen yms. Yhtä vähän kuin simulaattorin puut kasvoivat niin kuin kuvittelimme, hakkuut vaikuttivat niin kuin kuvittelimme. Toistuva avohakkuu tosin näyttää huonolta strategialta aivan kuten peikkojen perimätietokin kertoo.
Yksinkertaistamisen vastapainoksi päätimme laskea tarkkaan, paljonko pyörylät varjostavat toisiaan. Oikeasti puut eivät ole pyörylöitä, mutta näin tulee laskettua tarkkaan edes se, mitä tapahtuisi, jos ne olisivat. "Pii kertaa peukalo" mutisi opettaja nähtyään laskelmamme. "Miksi laskea jotain tarkkaan, jos muu on pelkkää arvailua" Vastasimme laskevamme kaiken parhaalla mahdollisella tarkkuudella. Muuten joutuu kaltevalle pinnalle ja päätyy piirtämään simulointitulokset vapaalla kädellä.
Puut ovat mallissamme palloja, joista auringonvalon suuntaa näkyy kiekko. Pieni puu on isoa matalampi, joten oikeastaan vain se on varjossa, mutta oikeassa metsässä pienikin puu liian lähellä häiritsee isomman kasvua. Imee vettä ja ravinteita, haittaa oksiston kasvua, varjostaa alaoksia, ... Päädyimme arvioon, että valo lankeaa toisiaan varjostaville puiden osille puiden säteiden suhteessa. Varjostus pinta-alojen suhteessa olisi looginen sekin.
Puuta voi varjostaa kahdeksan viereistä puuta. Aluksi laskimme kunkin puun aiheuttaman katveen yhteen, mutta silloin puun saama valo meni pahimmillaan miinukselle ei hyvä. Entä jos yhden puun aiheuttaman varjon alueella valo vähenee vain 1/8? Varjostus vaikutti "normaalitapauksissa" kovin vähän. Annoimme varjojen vaikuttaa reilusti, mutta leikkaamme vaikutukset niin, että valo ei mene miinukselle. Pikkupeikko koodasi tämän kohdan. En ole varma, onko koodi oikein. Selvää on, että oikeassa peikkometsässä homma ei mene ihan näin.
Tässä vaiheessa pitkällä kiipesimme kraatterin reunaa ylös tähyilemään metsää ylhäältä päin: metsä näytti vähän kuin tiuhassa kasvavilta palloilta. Siltä osin mallimme ei liene aivan pielessä, mutta kävelyllä satumetsän siimeksessä aloimme aavistella, että simulaattorimme puut eivät välttämättä kasva kuin satumetsän puut. Pitäisi olla ainakin sadan vuoden ajalta kuvia eri-ikäisten ja erilaisissa oloissa elävien puiden kasvusta ja lahoamisesta, että osaisi edes arvioida, onko mallissa mitään tolkkua. Päätimme vakaasti, että luemme tutkimuksia puiden kasvusta. Kunhan ensin kokeilemme ohjelmointia.
Mielellään olisimme tehneet ohjelman, joka laskee optimaalisen tavan karsia satumetsää, mutta jo simulointimallin tekeminen otti hermoon sen verran, että jätimme optimoinnin myöhemmäksi ja ohjelmoimamme kokeiltavaksi muutaman erilaisen hakkuustrategian.
Puiden polttaminen
Jos kaikki kaadetut puut varastoitaisiin pysyvästi, ei hirveästi haittaisi, miten satumetsän puita hakattaisiin. Satumetsä kasvaa sen verran hyvin, että hiiltä varastoituisi joka tapauksessa riittävästi. Jos taas polttaisimme heti kaiken hakatun puun, metsään olisi paras olla koskematta lainkaan. Simulaattorissa voi muuttaa vauhtia, jolla poltamme puita ja siten tehdä hakkuutehtävästä helpomman tai vaikeamman.
Kopioimme itsellemme yksinkertaisen Python-kielisen pelin, josta arvelimme pienellä muokkauksella saavamme oivallisen metsäsimulaattorin. Installoimme ohjelmointiympäristön, latasimme koodin ja ...
Pelin ohjelmakoodi näytti englannin ja matematiikan sotkulta, eikä siitä ymmärtänyt mitään. Aina kun muutimme pelin koodia, ruutu tuli täyteen käsittämättömiä virheilmoituksia eikä näytölle piirtynyt puun puuta.
Melkoinen yllätys. Me peikot olemme tottuneet siihen, että osaamme mitä vaan ja saamme yhdessä hujauksessa valmiiksi kaiken mihin ryhdymme. Peikkovanhukset naureskelivat, että noin käy, kun ei noudata perinteitä vaan ryhtyy johonkin, mitä esi-isät eivät ole opettaneet. Totta, tämä oli ensimmäinen kerta, kun poikkesimme perinteistä. Siitä vanhukset eivät pitäneet. Kun eivät mitään ymmärtäneet.
Yksi meistä jatkoi sinnikkäästi kokeilemista, minä aloin googlailemalla selvittää, mitä ohjelman koodi tarkoittaa ja yksi meistä alkoi suorittaa ohjelmoinnin peruskurssia verkossa. Kolme kertaa päivässä kokoonnuimme kiistelemään siitä, mitä kannattaisi tehdä.
Kolmantena päivänä onnistuimme muuttamaan alkuperäisen pelin koodia niin, että yksi pelin hahmoista kääntyi ylösalaisin ja taivas värjäytyi keltaiseksi. Ilon päivä. Olimme koukussa ohjelmointiin.
Viikon kuluttua malliksi ottamamme peli oli muuttunut metsäsimulaattoriksi, joka kasvatti ensimmäisen puunsa. Puu kasvoi ja kasvoi, täytti koko ruudun ja lopetti vasta kun ruudulle tuli joku overflow -ilmoitus.
Vasta kuukauden kuluttua simulaattori oli valmis. Kuukauden! Peikkojen keskittymiskyvyllä jo päivä yhtä hommaa on huippusuoritus. Ohjelmointi koukuttaa.
Vilkaisimme opasta, jossa kuvailtiin laadukasta ja tyylikästä koodia. Ehkä joskus myöhemmin teemme simulaattorista tyylikkään version.
Tässä demovideo simulaattorista
video varalle, jos yo. ei toimi
Yritimme parhaamme mukaan kommentoida ohjelman koodia, mutta muutaman yksityiskohdan selitämme tässä. Koodi kannattaa kuitenkin lukea. Roiskaisimme sinne paljon kaikenlaisia havaintoja ohjelmoinnista ja sen opiskelusta yleensä sekä simuloinnista erityisesti.
Käytämme puiden kasvun simulointiin Eulerin algoritmia: x(t+dt) = x(t) + dx(t)/dt. Se on yksinkertaisin mahdollinen. Ei kovin tarkka, mutta riittää näin yksinkertaisessa tehtävässä.
Integrointiaskeleen pituus? Kiperä kysymys! "Ehkä puu kasvaa s-käyrän muotoisesti". Ehkä. Piirsimme makaavan S:n ja sitä seurailemaan murtoviivan. 1/4 vuoden välein piirretty murtoviiva seurasi kuvittelemaamme metsän kasvun käyrää melko hyvin. Ehkä 1/4 vuosi olisi sopiva integrointiaskel. Tai sitten ei. Onneksi löysimme vihjeen: ""Kokeile, paljonko tulos muuttuu, jos lyhennät integrointiaskeleen puoleen." Ohjelmoimme algoritmin kokeilemaan joka askelta myös kahdella puoliaskeleella.
Virhe oli iso, vaikka kuinka pienensimme integrointiaskelta. Lisäsimme välitulostuksia, kunnes älysimme, että virhe oli suuri vain, kun puu oli lähes olemattoman pieni. Kun puu on lahonnut lähes olemattomiin, seuraava integrointiaskel vie sen massan miinukselle. Lyhyemmällä askelella algoritmi huomaa nopeammin, milloin puu on lahonnut olemattomiin, pitkällä askeleella se lahoaa enemmän miinukselle. Mitätön juttu, mutta suhteellinen virhe oli iso.
Tuollainen salapoliisityö tekee ohjelmoinnista mielenkiintoista. En tiedä, loppuuko tuollainen salapoliisityö sitten, kun oppii tämän homman.
Romaanien kirjoittajat väittävät, että lukijat tulkitsevat heidän tarinoitaan yllättävillä tavoilla. Se on kuitenkin pientä siihen verrattuna, miten yllättävästi tietokone tulkitsee ohjelmakoodia. Silloin kuin yleensä suostuu sitä tulkitsemaan.
Emme yllättyneet siitä, että metsä simulaattorissamme ei kasva ihan samalla tavalla kuin kuvittelimme peikkometsän kasvavan. Olemme seuranneet metsän kasvua, leikkineet siellä, vain reilut kymmenen vuotta, joten käsityksemme siitä, miten se kasvaa seuraavat muutaman sata vuotta, on sangen hatara. Kiusallista on, ettemme kaikilta osin ymmärrä, miksi simuloitu metsä kasvaa niin oudosti kuin kasvaa.
Koska mallimme perustuu kuvitelmiimme satumetsän kasvusta, simulaattorikin kertoo kuvitelmistamme. Oli opettavaista nähdä, että kuvitelmamme johti erilaiseen lopputulokseen kuin mitä — kuvittelimme. Jouduimme korjaamaan kuvitelmiemme metsän kasvun lainalaisuuksista. Toki joskus olimme niin varmoja kuvitelmistamme, että korjailiamme simulaattoria toimimaan niiden mukaisesti. Opettaja huomautti, että tiedettä ei tehdä noin, vaikka lopputulos toki käy järkeen.
Nykyisellä ohjelmaversiolla voi tehdä kaikenlaista hauskaa, jos osaa ohjelmoida ja tuntee koodin sen verran, että osaa varoa muutamaa siihen vielä jäänyttä sudenkuoppaa. Olisi kuitenkin hienoa tehdä ohjelmasta oikea peli, jossa olisi kunnon käyttöliittymä. Ensin tietysti pitäisi miettiä pelin idea.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Ajatusmallini metsien hakkuiden vaikutuksesta ilmastomuutokseen (edit: 2018-12-5)
Olen seurannut webissä käytävää keskustelua metsien hakkuista. Ajoittain on tuntunut, että kaikilla ei ole aivan samaa käsitystä metsien kasvusta ja sen vaikutuksesta maapallon ilmastoon. Päätin koodata ajatusmallini/käyttöteoriani Python-koodiksi, että minä ja muut näkisimme, millainen minun ajatusmallini on ja toimiiko se järkevästi.
5 joulukuuta 2018
Olen myös seurannut keskustelua tietotekniikan hyödyistä ja haitoista opetuksessa. Törmäsin myös ryhmään innokkaita, jotka soveltavat tietotekniikkaa matematiikan ja fysiikan opetuksessa. Niinpä dokumentoin tähän samaan tekstiin tekemäni python-koodin.
Satuinpa myös seuraamaan keskustelua oppiainerajat ylittävästä opetuksesta. Tässäpä tarkastelen ilmiötä, joka pikkuisen ylittää oppiainerajat. Olen lisäksi soveltanut OPSin rajat ylittäviä menetelmiä. En ole dokumentoinut tekemisiäni ja tuloksia oppiainerajojen mukaisessa järjestyksessä vaan sen mukaan, miten asiat tulivat vastaan työtä tehdessä. Eli sen mukaan, missä järjestyksessä oppijatkin ehkä sattuisivat apua pyytämään.
"Ennen vanhaan" koulutehtävät rajattiin valmiiksi niin, että ratkaisuun oli yksi, opettajan antama suora valmis polku, josta ei ollut syytä poiketa. Elävän ilmiöiden tarkastelu rönsyilee väkisinkin, eikä ole niinkään selvää, mitkä polut vievät kelvolliseen ratkaisuun tai mikä yleensä on kelvollinen ratkaisu. Elävään elämään kuuluu myös pähkäily, onko tässä mitään järkeä, koulussa riittää tarkistaa, että vastaus on oikea. Tämäkin juttu rönsyilee muistutukseksi siitä, miten elävän elävän ilmiöiöiden tutkiminen ja yksittäisen asian harjoittelemiseen räätälöidyt tehtävät poikkeavat toisistaan.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Ilmastomallinnus ja ilmastodenialismi (edit: 2020-8-24)
Muutama sana varsinaisesta ilmastomallinnuksesta ja pari esimerkkiä ilmastodenialistien jutuista selittämään, millä perusteilla leimaan tietynlaiset väitteet huuhaaksi. Tämä juttu jäi vaille viimeistelyä. Lienee raskas lukea, mutta vielä raskaampaa oli yrittää kommentoida selkeästi isoa määrää epäjohdonmukaisia väitteitä.
Elokuu 2020
Tämä juttu on siinä mielessä vanhentunut, että pääosa niistä, jotka vastustavat toimia hillitä ilmastonmuutosta, ovat jo luopuneet yrityksistä horjuttaa ihmisten luottamusta ilmastonmallinnukseen ja sen tuloksiin. Sensijaan he ovat alkaneet väittää, että seuraukset eivät ole niin pahoja kuin väitetään; ilmastoimet tulevat niin kalliiksi, että niiden aiheuttama talouskatastrofi aiheuttaa enemmän vahinkoa kuin ilmastomuutos; Meitä on niin vähän, ettei tekomme vaikuta eivätkä todelliset syylliset kuitenkaan tee mitään; nyt on jo liian myöhäistä; ...
Ilmastomallinnuksen perusteista on asiantuntijoiden kirjoittamia hyviä kirjoja ja IPCC on raportoinut simulointien tuloksista. Paljon hyödyllisempää, kuin perata denialisteiksi tiedettyjen väitteitä, on perehtyä ilmastomallinnukseen ja muodostaa oma käsityksensä.
Tämä ei ole mikään huolella koostettu setti oppimateriaalia:
The Discovery of Global Warming ; NASA, carboncycle . Tieteellisemmmin em. prosesseja on kuvattu esimerkiksi seuraavassa: IPCC, The Carbon Cycle and Atmospheric Carbon Dioxide . Raskas lukea, mutta jo silmäilemällä saa käsityksen, mitä ilmastomallinnus on. Ilmastomallinnuksen periaatteista ja tavoitteista kertoo mm. kirja Demystifying Climate Models . Muilla on varmaankin muita suosituksia.
Pääsääntöisesti en kommentoi denialistien väitteitä. Vaikka heidän väitteensä kyseenalaistaisi miten hyvänsä vakuuttavin perustein, he jatkavat väitteiden levittämistä antautumatta vuoropuheluun. Sosiaalisessa mediassa denialistien väitteitä levittävät ihmiset, jotka eivät itse tunnu niihin perehtyneen: "Ilmastonmuutos todistettu vääräksi. Lue oheinen suomalaisen tiedemiehen artikkeli tai katso video ja todista sen väitteet vääräksi." Ei pienintäkään vihjettä, mihin väite perustuu. En tiedä, mikä motiivi heillä on, mutta ei ainakaan halu selvittää totuus, joten rationaalisin perustein heihin ei voi vaikuttaa. Ainakin minulle pitää esittää selkeä, hyvin perusteltu kysymys ennen kuin viitsin alkaa epämääräisiä juttuja lukea.
Pistokokeen omaisesti olen kuitenkin satunnaisesti perehtynyt ja verryttelyn vuoksi muutamaa denialistien väitettä kommentoinut. Jäljempänä on pari esimerkkiä.
Nämä esimerkit eivät tietenkään todista, että kaikki ilmastomallinnukseen kohdistuva kritiikki olisi huuhaata. Lähden siitä, että jos pistokokeeni osoittaa jonkin tahon julkaisseen huuhaata, heille ei ole halua tai kykyä tieteelliseen työhön, eikä maksa vaivaa tutustua sen enempää heidän väitteisiinsä. Trollaus perustuu siihen, että huuhaata on sata tai tuhat kertaa nopeampi tuottaa kuin todistaa se virheelliseksi niin perusteellisesti, ettei laajalle yleisöllekään jäisi epäselväksi trollaajien väitteiden virheellisyys.
Ilmastomallinnuksessa sovelletaan jo pitkään tunnettuja ja muillakin aloilla hyödynnettyjä luonnon lainalaisuuksia ja matemaattisia menetelmiä. Mallit eivät tietenkään voi kuvat jokaisen ekosfäärin atomia liikkeitä, joten eksofäärin ilmiöitä kuvaavat luonnonlait ja niihin perustuvat mallit ovat yksinkertaistuksia. Yksinkertaistusten vaikutusta tulosten tarkkuuteen arvioidaan huolella, mutta vaikka arvioitu virhe olisi promillen luokkaa, denialistit julistavat mallit täysin virheelliseksi ja julistavat jääkauden uhkaavan meitä.
Demokratiassa kansalaiset päättävät, joten on tärkeää, että kansalaiset mahdollisimman hyvin ymmärtävät, mistä päättävät. Ilmastotutkijoiden pitää kansantajuistaa ilmastomallinnusta ja sen tuottamia tuloksia, jotta kansalaisilla on edellytykset ymmärtää ehdotettujen toimenpiteiden perusteita.
Valitettavasti ilmastomallinuksen syvällinen ymmärtäminen edellyttää perehtymistä, joka vaatii mielenkiintoa tai alan koulutusta. Äänestäjä joutuu arvioimaan eri tahojen luotettavuutta. Tämä antaa tilaa populismille: Äänestäjä valitsee puolensa sen mukaan, millaisessa porukassa haluaa olla ja mihin haluaa uskoa. Valinnalla ei ole mitään tekemistä itse asian ja faktojen kanssa.
Ensimmäisenä kommenttejani facebookissa kuukausia sitten hehkutettuun Suomalaisprofessoreiden (teknillisen termodynamiikan professori Pertti Sarkomaa ja lämpö- ja virtaustekniikan ja polttotekniikan professori Seppo Ruottu) tutkimukseen.
Toinen esimerkki on vastaukseni facebookissa esitettyihin väitteisiin ipcc:n mallien virheistä. Facebookista en enää löytänyt alkuperäistä viestiketjua, mutta siinä toisteltiin monen kertaan muuallakin esitettyjä virheellisiä väittämiä, joten tuleepa vastattua niihin.
Kumpaakin juttua levitettiin facebookissa täystyrmäyksenä ilmastonmuutoksella pelottelulle. Tällaisissa tutkimuksissa on virheellisiä väitteitä, jotka ovat joko tahallisia valheita tai johtuvat vähäisen asiantuntemuksen ja valtavan itseluottamuksen aiheuttamista väärintulkinnoista. Tällaisten 'tutkimusten' kommentointi tuntuu turhauttavalta ajanhukalta, joten huitaisin kommentit vain selvemmistä virheistä tai selvennystä vaativista kohdista. Kommentit ovat siis luonnoksia facebookiin aikoinaan laittamiini kommenteihin.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Ilmastomallinnus ja ilmastodenialismi > Vaihtohtoista tiedettä (edit: 18.8.2020)
"Suomalaisprofessoreiden tutkimusraportti toteaa IPCC:n raportin täysin virheelliseksi" toteaa maaseutumedia.
Peittoaako maaseutumedia maailman tiedejulkaisut?
Elokuu 2020
lehtijuttu ja itse 'tutkimusartikkeli' climate_change_and_use_of_fossil_fuels
Tutkimusta ei näy julkaistun millään tyypillisellä tieteellisen tiedon julkaisufoorumilla, joten ensimmäiseksi pitäisi tarkistaa maaseutumedian taustat. En kuitenkaan nyt ryhdy siihen.
Proffien artikkelia ei ole kirjoitettu normaalin tieteellisen artikkelin tapaan eikä se etene järin johdonmukaisesti, joten sitä on pikkuisen hankala arvioida. Koska tässä otetaan kantaa yhteiskunnallisesti erittäin tärkeään asiaan, voi olettaa artikkelin tänne jakaneen tarkistaneen sen huolellisesti, joten hän kyennee auttamaan artikkelin lukemisessa.
Ilmastotutkijat ovat esittäneet ihmisen aiheuttaman ilmastomuutoksen pääsyyksi fossiilisten polttoaineiden käyttämisen. Toinen merkittävä tekijä on maankäytön muutokset niin, että kasvustoon ja maaperään sitoutunutta hiiiltä vapautuu hiilidioksidina ilmakehään.
Jos haluaa tyrmätä ihmisen aiheuttaman ilmastonmuutoksen, pitää kunnolla perustella ainakin jokin seuraavista virheelliseksi. Joko periaatteessa tai ainakin osoittaa, että laskelmat vaikutusten suuruuksista ovat ihan pielessä.
Artikkelin alussa on monenmoisia väitteitä:
The basic claim of IPCC (hence forward the Basic Claim) is that increase of carbon dioxide in the atmosphere causes disastrous global warming.
"The Basic Claim is based on calculations by climate models which apply hypothetical and heuristic quantities “climate sensitivity, clear sky radiative forcing and cloud feedback” These quantities prove univocally that the more than 6000 authors of IPCC’s assessment reports don’t understand mathematical theory of compound, momentum, energy and radiative transfer. The mathematical theory of compound, momentum, energy and radiative transfer doesn’t know, need or allow hypothetical or heuristic quantities hence their use in the climate models of IPCC’s assessment reports is as such a fatal error. "
Ilmastomallien perustana ovat fysiikan peruslait proffien toivomalla tavalla. Ymmärtääkseni Cloud feedback ovat ilmiöitä, joita on selvitetty ilmastomallien perusteella, eivät laskelmien perusteita. Saattaa olla, että johonkin tiettyyn tarkoitukseen laaditussa yksinkertaistetussa mallissa käytetään heuristisia suureita, mutta niiden arvo on selvitetty perusteellisilla laskelmilla. Toivoisin proffien osoittavan tarkemmin, missä kohdin IPCC:n malleissa on tällainen virhe.
Vesihöyryn ja pilvien vaikutus ilmakehään on toki monimutkainen ja hankala mallintaa eksaktisti. Proffat eivät vaikuta perehtyneen siihen, miten IPCC:n malleissa pilviä on kuvattu. (Puhun IPCC:n malleista lyhyyden vuoksi. Tarkoitan malleja, joita on käytetty tutkimuksissa, joihin IPCC perustaa johtopäätöksensä.)
Oletan jutun tänne jakaneen tarkistaneen, miten nuo 6000 tutkijaa ovat ottaneet pilvien vaikutuksen huomioon, ovatko nämä kaksi suomalaista tutkijaa ymmärtäneet oikein IPCC:n mallit ja missä mielessä he teksteissään käyttävät ym. termejä. Heidän väitteensä siitä, miten pilvet vaikuttavat, vaatisi sekin lisäperusteluja.
Aiemmin tässä ketjussa on jo esitetty perusteluja sille, että nämä proffat ovat ymmärtäneet väärin IPCC:n raportit. Yhä uskon enemmän IPCC:n laadukkaaseen työhön, kuin kahden sekavasti kirjoittavan suomalaisproffan väitteisiin. Vielä en tunne tarvetta lähteä tätä tonkimaan. Todistaminen taakka on jutun tänne jakaneella. Allaolevissa satunnaisesti googlatuissa jutuissa mikään ei viittaa, että proffien väite olisi totta. Päinvastoin, niissä korostetaan fysiikan peruslakeja:
climate model, wikipedia ; how do climate models work ; climate models primer ;
"From the carbon dioxide balance of the atmosphere it follows that carbon dioxide concentration in the atmosphere starts to decrease immediately when the outgoing carbon dioxide flow is greater than the incoming flow. In the global energy balances of the atmosphere, accumulation of energy is negligible in comparison with other energy flows hence global mean temperatures are independent of time. Accordingly, the insignificant warming influence of carbon dioxide would start to decrease immediately when the outgoing carbon dioxide flow became greater than the incoming flow"
Käytännössä hiilidioksidia yhä virtaa ilmakehään enemmän kuin poistuu sieltä, joten pohdinta ei koske nykytilannetta.
Varsinainen väite lämpiämisen pysähtymisestä heti kun hiilidioksidipitoisuus lakkaa kasvamasta, on väärä. Maapallo, varsinkin meret, lämpiävät hitaasti. Lämmönsiirto riippuu ilmakehän, merien pintakerroksen ja merien syvien kerrosten lämpötilaeroista. Vasta kun nämä ovat tasaantuneet, ilmakehän lämpiäminen pysähtyy, vaikka co2 tasaantuisi tänään. Siitä seuraa 'nykyisellä lämmitysteholla', että ilmakehä lämpiää vielä nykyisestä ennen kuin tasapaino saavutetaan, vaikka kasvihuonekaasujen tupruttelu lopetettaisiin nyt. Proffat katsoo ilmiötä liian kapeasti.
Myös jäätköiden sulaminen sitoo lämpöä.
"Claim 1.3: NO2 and CH4 are hundreds of times “stronger greenhouse gases” than CO2. The claim 1.3 proves unfathomable ignorance on radiative heat transfer of the thousands of authors of IPCC’s assessment reports."
"IPCC determines the “greenhouse gas strength” of compounds according to their indefinite “residence times” in the atmosphere. In this classification NO2 is a more than 300 times stronger greenhouse gas than CO2. “Residence time” has nothing to do with radiation. Only thermostatic state of the compounds matters. Concentration must be calculated by the compound balance, not by “residence times”."
Metaanista kun puhutaan, aina muistetaan mainita, että se ei pysy ilmakehässä koviin pitkään. Tämän poistuman dynamiikka on mukana malleissa. Miksi ihmeessä ei olisi? Kun malleissa lasketaan säteilyn vaikutusta tietyllä hetkellä, silloin tietysti käytetään sen hetkisiä konsentraatioita. Karkeammissa laskelmissa, kun arvioidaan päästöjen kokonaisvaikutusta pitkällä aikavälillä, voidaan käyttää tuollaista “greenhouse gas strength”. Eli kun puhutaan päästön kokonaisvaikutuksesta esim. seuraavan sadan vuoden aikana, pitää tietysti ottaa residence time huomioon. Kun lasketaan tarkoilla malleilla päästöjen vaikutuksia, malleissa on mukana kunkin aineen pitoisuuden muutosta kuvaavat yhtälöt, eli malleissa lasketaan kunkinhetkistä pitoisuutta. Proffat ovat sotkeneet eri asioita keskenään.
"The influence of a “greenhouse gas compound” on the thermodynamic mean temperature of the ground does not depend only on its radiation properties, but also on the radiation properties of all other compounds of all entities and the beam length. Therefore, it is entirely wrong to classify compounds according their “greenhouse gas strengths”. The only physically reasonable “greenhouse gas strength” is the linear emission coefficient of a compound of an entity. In the atmosphere the linear emission coefficients of NO2 and CH4 are insignificant and much less than the linear emission coefficient of carbon dioxide. "
En ymmärrä. Tarkoitetaanko tällä, että eri kasvihuonekaasujen määrät pitäisi ottaa huomioon? Eikö IPCC ole ottanut näitä huomioon. Mitä sanoo artikkelin jakaja?
Webistä löytyy paljon juttuja ilmastomallinnuksesta. Esimerkki (tuskin sopivin tähän tarkoitukseen) ilmakehän monikerrosmalli En jaksa perehtyä yksityiskohtaisesti näihin, mutta jo pikavilkaisulla syntyy vaikutelma, että proffat kritisoivat oman mielikuvituksensa tuotetta, eivät todellisia IPCC:n hyödyntämiä malleja.
Minun mielestäni proffat sotkevat IPCC:n raporteista poimimiaan kohtia. Samaan viittaa seuraava lainaus. Ymmärtääkseni näiden parametrien arvot on laskettu ilmastomallien avulla, mutta sitä proffat eivät halua ymmärtää, vaan päättelevat että maailmassa on tuhansia ilmastomallintajia, jotka eivät tunne perusfysiikkaa eivätkä muutenkaan ymmärrä mistään mitään. (Artikkelin jakaja voinee selittää oman näkemyksensä?)
Greenhouse Gases Absorb Infrared Radiation
"Claim 1.4: Water vapor is not a greenhouse gas The claim 1.4 proves unfathomable ignorance on radiative heat transfer of the thousands of authors of IPCC’s assessment reports. Even though water vapor differs from all other gases of the atmosphere by its thermostatic properties it is by far the “strongest greenhouse gas” of the atmosphere. In the lower atmosphere, mean linear emission coefficient of water vapor is about 27 times the linear emission coefficient of carbon dioxide. "
Tämä on jo tahallista väärinymmärtämistä. Näytäpä sellainen ilmastotutkijoiden malli, jossa vesihöyryn vaikutusta ei olisi huomioitu. Kukaan asiantunteva tutkija ei esittäisi, ei kehtaisi esittää, näin täysin vastoin totuutta olevaa väitettä.
Dynaamisia malleja tarkastellessa usein erotellaan input suureet ja tilasuuret, eli järjestelmän sisäiset, inputeista riippuvat suureet. Koska veden kierto riippuu monimutkaisella tavalla lämpötiloista, se on otettava tilasuureeksi. Inputteja, forcing factors, ovat auringon säteily, co2-tupruttelu yms.
Veden haihtuminen, tiivistyminen, pilvet ja vesihöyryn absorboima lämpösäteily ovat olennainen osa kaikkia malleja. Joka muuta väittää, ei ole tutustunut tutkimuksiin joita kritisoi.
"Claim 1.6: If the carbon dioxide flow to the atmosphere cannot be reduced, mankind will become extinct. This claim is univocally wrong, because carbon dioxide concentration in the atmosphere does not depend only on carbon dioxide flow to the atmosphere but on carbon dioxide flow to and from the atmosphere. This wrong claim is due to that nobody from the thousands of researchers of IPCC’s assessment reports hasn’t understood the mathematical theory of carbon dioxide concentration of the atmosphere. Physical and mathematical foundations of this theory and on the corresponding mathematical model (hence forward the SRcompound model) has been presented in Appendix 3. "
Kaikkialla kuvataan hiilikierto niin, että siinä on sekä virtaukset ilmakehään että siitä pois. Kaikki ymmärtävät tämän. Mallintajat laskevat enemmän tai vähemmän yksityiskohtaisesti näiden virtauksien suuruuksia kasvipeitteestä, merien lämpötilasta, ilman lämpötilasta yms. riippuen. Jopa se otetaan joissain malleissa huomioon, että hiilidioksidin lisääntyminen ilmakehässä lisää kasvien kasvua, jotka siten sitovat lisää hiilidioksidia. Väite tarkoittaa sitä, että jos hiilidioksidin tupruttelu jatkuu nykyvauhtia, hiilidioksidipitoisuus kasvaa vaarallisen korkeaksi. CO2-pitoisuuden kasvaessa ilmakehässä, myös sen poistuma kasvaa, mutta ei yhtä paljoa, eikä ole tiedossa käyttökelpoista keinoa lisätä nieluja riittävästi. Siksi tuo johtopäätös, että co2 tupruttelua pitää vähentää.
Ihan päätön väite siis tämäkin. Proffat eivät joko ole lainkaan perehtyneet IPCC:n käyttämiin malleihin tai valehtelevat. Eiköhän tämä riittänyt näiden väitteiden käsittelystä. Vai mitä mieltä on tämän artikkelin jakaja? Ihan oikeastiko uskot ennemmin näitä kahta kuin 6000 ilmastotutkijaa?
"Calculations with the SRcompound model prove that this can be achieved even with the current carbon dioxide flow to the atmosphere by reducing use of forests (logging, etc.)."
Okei, tämä liittyy ylläolevaan. Proffat väittävät, että metsät voisivat toimia riittävänä nieluna. Hyvässä kasvuvahdissa olevien metsien hakkuiden lykkääminen vaikuttaisi muutaman vuosikymmentä oikeaan suuntaan, muttei riittävästi. Jos aina järeimmät puut hakattaisiin ja käytettäisiin vaikka puurakennuksiin, saataisiin pysyvä hiilinielu. Suuruutta en tässä osaa arvioida. Nykyisen, yhä kasvavan co2-tupruttelun vaikutusta ei ymmärtääkseni voi korvata metsien hakkuuta vähentämällä, vaikka hakkuita toki kannattaisi vähentää.
"Chapter 2: Wrong claim on biomass and fossil fuels Claim 2.1: Photosynthetic biomass is a carbon-neutral fuel Amount of carbon in the atmosphere depends only on incoming and outgoing carbon flows of the atmosphere. As shown in Appendix 2, use of photosynthetic biomass instead of any fossil fuel will increase carbon flow per produced energy to the atmosphere. Anybody with elementary knowledge on chemistry can confirm this. At the same time, use of photosynthetic biomass decreases carbon flow from the atmosphere. Anybody with common sense understands this. Therefore, regarding carbon dioxide concentration of the atmosphere, photosynthetic biomass is not carbon neutral but by far the most “carbon intensive” of all fuels. "
Tämä lienee oikeansuuntainen väite proffilta. Joskus tulevaisuudessa, kun kaikki on kauniisti tasapainossa voi ajatella, että puun polton ja puiden kasvun vaikutus voisi olla tasapainossa ja kaikki hyvin. Lähivuosikymmeninä pitäisi sitoa hiilidioksidia, siihen +-0 tasapaino ei riitä.
MUTTA, onko IPCC:n raporteissa väitetty jotain päinvastaista? Missä? Missä on viite IPCC:n virheelliseen raporttiin? Onko ipcc ottanut kantaa biopolttoaineisiin vai ottavatko proffat tässä kohtaa kantaa Suomessa käytävään keskusteluun.
"Claim 3.1: Increase of carbon dioxide in the atmosphere increases storms. Cyclones (hurricanes and typhoons) are born when vertical air flow approaches tangentially ascending air flow. Small changes of the mean temperature of the ground have practically no influence on the velocities of cyclones. Heavy rains, which are related to cyclones, are due to fast condensing of water vapor due to conversion of sensible energy into kinetic and potential energy. Even though carbon dioxide concentration in the atmosphere is the same, each cyclone has different velocities and precipitation. Influence of carbon dioxide concentration in the atmosphere has nothing to do with cyclones. "
On väitetty, että CO2-tupruttelusta aiheutuva ilmaston lämpeneminen lisää myrskyjen määrää ja voimaa, koska lämpimämmässä meristä haihtuu enemmän ja lämpimämpää kosteutta, joten siinä on enemmän energiaa. Kuka on väittänyt, että hiilidioksidipitoisuus suoraan vaikuttaisi myrskyihin? Taas proffat tyrmäävät väitteen, jota kukaan ei ole esittänyt. co2 vaikuttaa myrskyihin epäsuorasta aiheuttamalla merien lämpenemistä.
Proffat perustelevat väitettään Navier-Stokes yhtälöillä. Heiltä kuitenkin näyttää puuttuvan laskelmistaan myrskyjen perussyy, meren lämpötilan vaikutus haihtuvaan vesimäärään ja sen mukana ylös nousevaan energiaan. Olkiukko tämäkin väite ???
Mankind
During the past 150 years the mankind has influenced in the ecosystem by many harmful ways.
Noillakin on vaikutusta, mutta fossiilisten polttoaineiden vaikutus puuttuu tästä listasta.
"Introduction
In this appendix it is proved by thermostatic considerations that replacing of energy of fossil fuels by energy of photosynthetic biomass increases CO2 concentration in the atmosphere. It is also shown that production of energy by from the photosynthetic biomass processed biofuel increases CO2 concentration in the atmosphere more than if the equal amount of energy had been produced by direct combustion of the photosynthetic biomass which is needed to produce the biofuel. "
Tästä lienee jonkinmoinen yhteisymmärrys tutkijoiden kesken. Eli puun polttaminen ei ole varsinainen ilmastoteko ja vielä vähemmän polttonesteen valmistaminen siitä. Ei ainakaan tässä tilanteessa, kun co2-pitoisuuden nousu pitäisi saada laskuun. Joskus hamassa tulevaisuudessa, kun ilmasto on tasapainossa, puuta voisi polttaa samaa vauhtia kuin uutta kasvaa.
"Summary
Proffien väite: The atmosphere is a mixture of gas, droplets and solid particles (hence forward the Entities). Compound, momentum, energy and number balances of the Entities form the only physically and mathematically relevant foundation of climate models. However, in IPCC’s 3D time-dependent models, compound, momentum, energy and number balances of the Entities are replaced by total mass, momentum and energy balances of the Entities and number balances are totally missing. In addition, radiative energy transfer of the 3D time-dependent models has been modelled incorrectly whereupon the models are physically and mathematically wrong.
The heat and fluid dynamical and mathematical foundations of 1D global climate model is presented in this paper. Because IPCC’s claim neglects temperature differences between the Entities the developed climate model (hence forward the SRclimate model) is simplified accordingly and applied to investigate the influence of carbon dioxide on the global mean temperatures. The investigation proves that the influence of carbon dioxide on the global mean temperatures is insignificant. "
Tässä kohtaa kirjoittajien pitäisi täsmentää väitettään — Osoittaa IPCC:n malliyhtälöistä tuo virheellinen oletus niin, että minäkin ymmärtäisin. Koska proffat eivät paljasta, missä kohdin ipcc:n malleja tuo virhe on, minun pitäisi syventyä ipcc:n 3D mallien yhtälöihin. Tässä kohdin luottamukseni näihin proffiin ei kuitenkaan enää ole niin korkealla, että viitsisin moiseen ryhtyä. Nyt voin vain todeta, että perustelemattoman väitteen perusteella he korvaavat IPCC:n mallit yksinkertaisemmalla, jota ovat vielä yksinkertaistaneet perustelemattoman väitteensä perusteella. Näiden laskelmien perusteella he sitten todistavat muun maailman olevan väärässä.
"Therefore, influence of increase of carbon dioxide in the atmosphere on radiation to the ground must be calculated by accounting simultaneously the influences of carbon dioxide and clouds. In climate models of IPCC’s assessment reports these influences are separated into clear sky “radiative forcing” and “cloud feedback” which is a fatal error."
Ilmaston ilmiöitä tutkitaan yleensä 3D-malleilla. Sen lisäksi saatetaan käyttää yksinkertaisempia malleja, joiden 'heuristiset' parametrit on määritetty 3D-mallien avulla. Tällaisia yksinkertaisempia malleja tarvitaan, jos halutaan tehdä tuhansia entä-jos-laskelmia tai muuta vastaavaa. Tarkoilla, fysiikan lakeihin perustuvilla, malleilla selvitetään, mitä oikeasti tapahtuu ja yksinkertaisemmat mallit 'viritetään' tämän perusteella. Proffilla on tällainen yksinkertainen malli, jota he vertaavat ipcc:n yksinkertaisiin malleihin. Ehkä.
Saattaa olla, että proffat eivät ole ymmärtäneet, mitä IPCC tarkoittaa cloud feedbackilla, mihin sitä käytetään ja miten se on laskettu. Hehän Käyttävät yksinkertaista 1D mallia. Ehkä se hämää heitä? IPPCC:n raporteissa cloud feedback näyttää tarkoittavan tutkittavaa ilmiötä. Mikään ei viittaa proffien kuvaamaan erotteluun itse malleissa.
Pilvien vaikutus on oikeasti monimutkainen juttu ja jotkut denialistit mitätöivät tämän perusteella kaiken IPCC:n tutkimuksen. Jonkun ilmiön toteaminen vaikeaksi mallintaa ei ole "fatal error". Ennenminkin proffat tekevät fatal errorin väittäessään, että heidän mallinsa kuvaa ilmiön oikein.
Ken haluaa perehtyä tarkemmin siihen, mitä ipcc tarkoittaa näillä termeillä ja miten pilviä mallinnetaan, voi lukaista oheiset jutut. Pikavillkaisulla syntyi vaikutelma, että proffien väite ei liity ipcc:n malleihin. Sen varmistamiseen, onko ipcc:n malleissa virheitä, tai kuvaavatko poimimani artikkelit oikein ipcc:n mallinnuksia, en jaksa ryhtyä. En tunne tarvetta.
"Cloud feedback studies point to five aspects of the cloud response to climate change which are distinguished here: changes in high-level cloud altitude, effects of hydrological cycle and storm track changes on cloud systems, changes in low-level cloud amount, microphysically induced opacity (optical depth) changes and changes in high-latitude clouds." sceptical science, cloud feedback ; IPCC, Clouds and Aerosols
"3D time-dependent climate models of IPCC assessment reports
For a big surprise of professor Sarkomaa and professor Ruottu (hence forward the Authors) their discussions with the Finnish Meteorological Institute and meteorologists of Helsinki University revealed that meteorologists don’t understand theoretical foundations of radiative energy transfer and cloud formation. References 11 and 13 of IPCC’s assessment reports prove that their authors, authors of their references and reviewers of IPCC’s assessment reports don’t understand heat and fluid dynamics. "
Ihmehän tuo olisi. Ihmeisiin en usko, ennen kuin näen. Eli yksilöidymmät perustelut haluaisin.
In the following, the Authors show that FMI’s temperature measurements are in inevitable contradiction with IPCC’s claim about 2.2 ºC warming of northern areas.
Artikkelissa vertaillaan Kaisaniemen ja Tähtelän lämpötiloja ja co2-pitoisuuksia
Kukaan ei ole väittänyt, että ilmakehän co2-pitoisuus ja paikalliset muutaman valikoidun päivän lämpötilat korreloisivat suoraan. En ymmärrä, mitä tolkkua on esittää nuo regressiot.
Noiden mittausten perusteella proffat väittävät, että IPCC on väärässä esittäessään, että ilmastonmuutoksen myötä napa-alueet lämpiävät enemmän kuin päiväntasaajan seutu. Saman tasoa kuin todistaa ilmastomuutos kiinalaisten juoneksi tuomalla lumipallo kongressisaliin.
En löytänyt mistään tietoja, miten SRclimate model:ia on validoitu. Tähän mennessä lukemani perusteella en tunne motivaatiota lähteä sen yhtälöitä tutkimaan. Olisi kiva, jos joku, joka väittää sillä saatuja todemmiksi kuin varsinaisten ilmastotutkijoiden malleilla, selittäisi selkeämmin, mikä SRclimate mallissa on parempaa.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Ilmastomallinnus ja ilmastodenialismi > (edit: )
Löysin arkistoistani luonnoksen vastauksestani erääseen ilmastodenialistien facebookissa esittämään väitteeseen. Harmi kyllä, en löytänyt po. viestiketjua, joten tämä kommenttini jää pikkuisen irralliseksi. Toisaalta nuo samat virheellisiksi osoitetut väitteet pomppaavat esiin yhä uudelleen, joten ehkei tämä juttu ihan hukkaan mene.
Elokuu 2020
Tuntuu, kuin olisin jäänyt koukkuun some-ajan teekkarijäynään, kun palaan tähän keskusteluun.
Keskustelun aloittaja väittää, että laskelmat, joiden mukaan ihmisen toiminta on syynä ilmastonmuutoksen, ovat virheellisiä. Väitteensä hän perustaa ilmastodenialisti Ed Berryn artikkeliin , jonka mukaan maapallon ekosfääri toimii kuin vuotava ämpäri ja kaikki sitä monimutkaisempi mallintaminen on turhaa. Linearisoitua vuotavan ämpärin mallia Berry kutsuu physics modeliksi.
Ilmastomallinnukseen vaikka vain pinnallisestikin perehtyneelle on selvää, että ämpärimalli ei riitä ilmaston ilmiöiden hyödylliseen tarkasteluun. Varsinkaan se ei ansaitse nimeä 'physics model'
Ipcc:n malleilla on kokeiltu (monen muun asian lisäksi) mitä tapahtuu, jos ekosysteemin tasapainoa häiritsee alkamalla puhaltaa ilmakehään pikkuisen lisää co2:ta (Ihmisen aiheuttama lisä luonnon hiilikiertoon on noin 5%). Mallien mukaan luonnon prosessit — co2 lähteet ja nielut — sopeutuvat ilmakehän co2-pitoisuuden nousuun niin, että ilmakehästä poistuu aiempaa enemmän co2:ta, mutta ei kuitenkaan koko lisäys — vajaa puolet ilmakehään puhkutusta co2-lisästä jää ilmakehään. Tätänykyä. Pidemmän päälle merien kyky liuottaa itseensä co2:ta heikkenee, mikä vähentää nieluja.
Tässä keskusteluketjussa viitataan artikkeliin: co2 levels airborne fraction increasing? Artikkelin pointti on, että ihmisen tuottamien hiilipäästöjen ja ilmakehän co2-pitoisuuden välillä on vahva riippuvuus. Koska muuta selitystä co2-pitoisuuden nousulle ei ole löytynyt, tuntuu loogiselta, että ihminen on ilmastomuutoksen aiheuttaja. Matemaattisen eksakti tieteellinen todistus tällainen päättely ei tietenkään ole, mutta niin kauan kuin muuta selitystä ei löydy, ihminen on aika hyvä selitys.
Seuraavat lainaukset ovat tästä fb-keskusteluketjusta: "jos kyseinen artikkeli kohtelisi ihmis- ja luontoperäistä hiilidioksidia samanarvoisina, hiilidioksidipitoisuus nousisi 0,43*804/3,76/2,14 ppm vuodessa." ja "Tuossa artikkelissa on ihan hurja virhe, se väittää että 43% CO2-tuotannosta jää ilmakehään. Jos kaikista tuotantolähteistä jäisi noin paljon ilmakehään, pitoisuus nousisi noin 43 ppm vuosittain. Esim. Mauna Loalla se on kuitenkin noussut 1,4 - 2,2 ppm vuosittain. Virhe on kertaluokkaa 24!"
Virhe on iso vaan onko se ipcc:n?
"...jos kyseinen artikkeli kohtelisi ihmis- ja luontoperäistä hiilidioksidia samanarvoisina..." Artikkelista ei voi päätellä, että ihmis- ja luontoperäistä hiilidioksidia ei kohdeltaisi samanarvoisina. Sellainen olisi ihan älytöntäkin. Kaikissa malleissa niitä käsitellään samanarvoisina. Tietysti. Artikkeli tarkoittaa, että kun ilmakehään tuprutetaan lisää hiilidioksidia, luonnon hiilinielut eivät kykene nielemään lisäystä kokonaan, vaan lisäyksestä 43% jää ilmakehään. Näin kummallista väärinkäsitystä ei olisi syntynyt, jos olisi perehdytty ilmastomallinnukseen. Tai sitten 'väärinkäsitys' on tahallinen.
Laskelmissa yllä co2-lähteet on oletettu todenmukaisiksi, mutta entä nielut? Jotta ilmaan jäisi noin paljon enemmän co2:ta, nielujen pitäisi vastaavasti olla paljon nykyistä pienempiä, eikö totta. Eikö se olisi outoa? Jos yo. väitteen/laskelman esittäjä olisi tarkastellut koko hiilikiertoa, hän olisi ymmärtänyt virheensä.
Lisäksi 'ämpärimallissa' on oletettu ekosysteemi lineaariseksi. Jos ämpärimallia korjaisi fysikaalisemmaksi niin, että virtaus pohjan reiästä olisi verrannollinen paine-eroon eli pinnankorkeuden neliöjuureen, ämpärimallin avullakin voisi ehkä ymmärtää virheelliseksi väitetyn artikkelin pointin.
Oletetaan, että meillä on vuotava ämpäri, johon lorotamme vettä niin, että ämpäri pysyy puolillaan. Jos alamme lorottaa ämpäriin lisää vettä, pinta nousee, kunnes vuoto lisääntyy vastaavasti. Tässäkään emme kohdelleet eri tavoin alkuperäistä veden virtausta ja siihen tehtyä lisäystä.
Vielä voi miettiä, miten yo. laskelmassa on otettu huomioon se, että järjestelmä ei ole tasapainotilassa vaan päästöt ja co2-pitoisuus kasvavat koko ajan. Pitäisi osoittaa, että kaikki luonnon prosessit reagoivat muutoksiin niin nopeasti, että tätä ei tarvitse ottaa huomioon. Muuten Berryn analyysi ei ole pätevä.
Tässä fb-ketjussakin viitataan Ed Berryn katteettomaan väitteeseen, että ipcc:n mallit kohtelisivat eri tavoin ihmis- ja luontoperäistä hiilidioksidia. Ei Berry eikä kukaan muukaan ole kyennyt perustelemaan tätä (usein toistettua) väitettä.
Aivan kuten laskelmasta yllä myös Berryn artikkelin kuvasta 16 ja siihen liittyvästä selittelystä puuttuu kokonaan nielut, eli Berryn termein reikä ämpärin pohjasta. Berry ei näytä ymmärtävän edes ämpärinsä toimintaa. Jos alkaa lisätä ämpäriin juoksevaa vettä, pinta alkaa nousta ja sen seurauksena pohjassa olevasta reiästä alkaa virrata enemmän vettä. Lopputuloksena ämpärin pinta alkaa nousta ja virtaus pohjasta kasvaa. Pinta nousee niin kauan kuin virtausta lisätään. Osa virtauksen lisäyksestä siis jää ämpäriin, osa virtaa ulos.
Berry ja tämän keskustelun aloittaja kritisoivat ipcc:n käyttämään Bernin mallia. Kuvaus yhdestä sen versioista: yksinkertaistettu ilmastomalli
Koska varsinaiset fysikaaliset ilmastomallit vaativat paljon laskentakapasiteettia, tutkijat ovat varsinaisten mallien tulosten avulla kehittäneet tällaisia 'kevytversioita'. Varsinaisilla malleilla selvitellään 'perusasioita' ja kevytversiota käytetään esimerkiksi erilaisissa satoja ja tuhansia iteraatioita vaativissa entä-jos skenaarioissa. Näitä yksinkertaisia malleja ei siis käytetä todistamaan mitään ekosfäärin perusilmiöistä.
On tarkistettu, että 'normaalilla' toiminta-alueella mallin kevytversio toimii riittävän hyvin samalla tavalla kuin varsinaiset fysikaaliset mallit. Berry ei arvioi tätä vertailua millään lailla. Liioin hän ei millään lailla arvioi varsinaisia fysikaalisia malleja vaan toteaa:
"Agreement among models does not prove they are accurate." Ei tietenkään. Missä tämmöistä on väitetty? Mutta agreement among models tietyllä toiminta-alueella tarkoittaa, että ne tuolla alueella antavat samat tulokset. Erikseen on tarkistettu, kuinka hyvin varsinaiset mallit kuvaavat reaalimaailman ilmiöitä.
Berry mm. väittää, että Bernin malli toimii väärin, koska se jättää ilmakehään pitkäksi aikaa co2:ta, mutta ei perustele, miksi tämä on mahdotonta. Ei ehkä ole perehtynyt fysiikkaan ipcc:n mallien takana.
Artikkelinsa kuvalla 9 Berry 'todistaa', että ipcc:n malli toimii väärin.
Ilmakehässä tehtyjen ydinkokeiden takia ilmakehässä on radioaktiivista 14co2 isotooppia suhteessa enemmän kuin metsän puissa, merissä yms. Normaalin hiilikierron myötä tämä ero tasaantuu. Tätä tasaantumista kuvaamaan Berryn ämpärimalli sopii hyvin. (Noin joka triljoonas hiiliatomi on isotooppia 14co2)
Tämä tasaantuminen on dynamiikaltaan aivan eri ilmiö kuin luonnon normaali hiilikierto, jota Bernin malli kuvaa. Kuvan 9 kaltainen vertailu on siis merkityksetön. Jos ilmastomallin haluaisi ottavan tasaantumisen huomioon, siihen pitäisi lisätä omiksi muuttujikseen 14co2 pitoisuudet ekosysteemin eri osissa. Vaan miksi?
Mitähän yksikköjä kuvan 9 y-akseli edustaa? Onko Bernin malli edes toiminta-alueellaan? Yksinkertaistetut malleja on tarkoitus käyttää vain rajatulla toiminta-alueella.
Berry kirjoittaa: "The IPCC Bern model cannot continue its same prediction line if it is restarted at any point. The Bern model cannot properly restart because it depends upon its history, which makes it an invalid model."
En ymmärrä. Simuloinnin tulos riippuu aina mallin alkutilasta, joka kertoo järjestelmän historiasta sen, mikä tarvitaan tulevaisuuden ennustamiseen. Erilaisissa malleissa mallin tila näky eri tavoin. Jos Berry tekisi ämpäristään differenssiyhtälömuotoisen mallin, mallin tilan kertoisi pinnankorkeus nykyisenä ja edellisenä ajanhetkenä. Ehkä Berry ei ole osannut käyttää Bernin mallia.
Paljon muutakin Berry väittää Bernin mallista, mutta sen arviointi ei mahdu fb:n sallimaan 8000 merkkiin, joten totean vain, että hänen kritiikkinsä ei ole perusteltua, eikä edusta normaalia systeemianalyyttista käytäntöä.
Webistä löytyy paljon Berryn artikkelia vastaavia. Tiedeperustaista työtä ei ole levittää kritiikittä yksittäisen tutkijan väitteitä. Vertaisarvioituja tutkimuksiakaan ei kannata automaattisesti pitää totena. Vertainen kun ei välttämättä tarkoita asiantuntijaa.
Tällainen vähän huitaistenkin tehty juttu opettavainen, mutta varsin raskas. Väitteet näyttävät soopalta, mutta niiden varmistaminen soopaksi ja todistaminen mahdollisimman kansantajuisesti soopaksi on haastavaa. Ymmärrän, jos joku menee halpaan.
Hyödyllisempää taitaisi olla perehtyä lisää varsinaiseen ilmastomallinnukseen ja yrittää kertoa siitä.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > COVID-19 mallinnusta (edit: 2020-5-15)
Lukaisin läpi artikkelin epidemiologisesta mallinnuksesta
toukokuu 2020, (v1: 2020-5-15, v2: 2020-5-17)
Mielenkiintoinen agenttipohjainen malli koronaviruksen leviämisestä
Tutkimusta ei ole vertaisarvioitu (ei kai THL:n) laskelmiakaan. Muutenkaan en tekisi päätöksiä yksinomaan tällaisten simulaatioiden perusteella. Tällaisten simulaatioiden tarkoitus on avartaa näkemystä ilmiöstä. Pitää tietysti osata arvioida, avartavatko tosimaailman suuntaan ;-)
Pikavilkaisulla (mutkat suoriksi vetäen, kannattaa lukea koko juttu) kirjoittajien johtopäätös näyttää olevan, että liikkumisen rajoituksia ja sosiaalisen etäisyyden pitämistä (1) kannattaa tukea testaamisella ja jäljittämisellä (2). Sitten kun epidemia on saatu tiukoilla rajoituksilla sopivasti kuriin, rajoituksia voi ehkä löysätä, jos testataan ja jäljitetään huolella.
Strategiaa (1) he kutsuvat mitigation (rajoittaminen, hallitseminen?) ja strategiaa (2) suppression (kuristaminen/nitistäminen?) (1) strategiaa seuraavat kuulemma saattavat tyytyä siihen, että tautiluvut tasaantuvat kun taas (2) strategiassa pyritään saamaan tautiluvut laskuun.
Toteavat yhdeksi merkittäväksi epävarmuustekijäksi sen, että taudin tappavuutta on vaikea arvioida, koska ei tiedetä, moniko sairastaa oireettomasti. Heidän mielestään tiedon lisäännyttyä alkaa näyttää siltä, että oireettomasti sairastaneita on alunperin oletettua vähemmän, mistä seuraisi, että tappavuus (kuolleisuus) voi olla aiemmin arvioitua korkeampi. Ymmärtääkseni, jos oireettomasti sairastaneita on vähän, kuuluisa R0 on pienempi kuin alunperin oletettiin.
Epidemiologisissa malleissa ihmiset näytään jaettavan ryhmiin taudin vaiheen mukaan: Susceptible, Exposed, Infectious and Recovered, (altis?, altistunut?, sairastunut?, toipunut?) Lisäksi väestö voidaan jakaa ryhmiin iän mukaan ja käyttää hyväksi sosiaalitieteilijöiden hankkimaa tietoa ikäryhmien välisistä kontakteista (jotain tuollaista. Mallissa on kontakteja kuvaaja neliömatriisi)
Taudin leviämistä kuvaavien muutaman parametrin perusteella lasketaan esimerkiksi vuorokauden välein, paljonko porukkaa siirtyy taudin tilasta toiseen. Taudin leviämiseen vaikuttavat tietysti ihmisten välisiin kontakteihin vaikuttavat toimenpiteet.
Tärkeä on ymmärtää millä perusteilla parametreille löydetään arvot. Planeettojen liikkeitä laskiessa tiedämme gravitaatiovakion monen desimaalin tarkkuudella. Koronaviruksesta tiedämme vähemmän.
Keskeinen parametri on R0. Se kertoo, montako ihmistä tautinen tartuttaa 'neitseellisessä' väestössä, siis epidemian alkaessa. R0 kuvaa viruksen ominaisuuksia. Mainitsevat myös Rt:n, joka riippuu (lisäksi?) väestön kulttuurisista tavoista.
Eniten tässä jutussa innostuin artikkelissa kuvatusta agenttipohjaisesta mallinnusmenetelmästä. Sensijaan, että laskisivat, montako ihmistä on missäkin taudin vaiheessa, heidän ohjelmassaan jokainen ihminen on oma olionsa, joka käy taudin vaiheita läpi. (Jos jokainen tyyppi ei mahdu tietokoneen muistiin, niin sitten kai voi laittaa kunkin agentin edustamaan vaikka sataa tai tuhatta ihmistä ???)
(Ensimmäisiä simulaatioharjoituksiani -70 luvulla oli agentti/olio -pohjainen parkkipaikan simulointi, johon laitoimme satoja autoja huristelemaan, jonottamaan parkkipaikalle yms. Siksi kai tämä sykähdytti. Toki kaikenlaiset väitteet koronastrategioista herättivät ajatuksen, että pitää kai epidemioiden mallinnukseen perehtyä)
Jokaisella agentilla – oliolla – on ikä, taudin vaihe (ja montako päivää on kyseisessä taudin tilassa ollut), yms. Senkin laittavat muistiin, keitä muita on tartuttanut. Agenteille on helppo laittaa erilaisia ominaisuuksia. Malliin on helpo laittaa satunnaisuutta.
Agentit voivat vaikka 'kuleksia kaupungilla' ja arpa (satunnaisluku) kertoo, saavatko tartunnan, jos kohtaavat tautisen (aivan näin eivät simulaatioitaan artikkelissa kuvaa ;-) kehuvat kuitenkin, että agenttipohjaisella mallilla on helpompi kokeilla mikrotason juttuja, mukaanlukien erilaiset rajoitukset. Kontaktoinnissa voisi ottaa huomioon jotain ihmisten arkea kuvaavia parametreja, kuten työ, asuinpaikka, työmatkasta jotain, yms. Näitä ei ole tässä eikä muissakaan malleissa.
"The possible states of a person are the following: susceptible, incubation (infected but actual illness not yet started; may spread virus), illness, hospitalized, in intensive care, recovered (i.e., immune), and dead (Figure 1). The symptom severity of a patient can be asymptomatic, mild, severe, or critical. The model follows every individual through the whole disease path from susceptible to recovery or death. "
"The agents represent individual people, who have the following properties: age (years), infected (yes/no), infection detected (yes/no), immunity (yes/no), days of incubation period left (d), days of illness since the onset of symptoms (d), other people infected (identifiers of agents that this agent infected; used for tracing), state, and symptom severity."
"The healthcare system has the following properties: number of hospital beds, number of hospital beds available, number of intensive care beds, number of intensive care beds available, testing mode (lazy: test only people with severe symptoms; active: test also people with mild symptoms; aggressive: test also people with mild symptoms and contacts of coronavirus positive people), number of coronavirus tests run per day, length of testing queue"
R0:n tilalla agenttimallissa on todennäköisyydet, millä ihmiset kohtaavat toisensa ja millä todennäköisyydellä tautinen tartuttaa terveen missäkin taudin vaiheessa:
"The model uses explicit estimates for the three quantifiable processes that are usually embedded in R0, namely contacts, exposure, and infectivity. " Kontaktit riippuvat kulttuurista, joten globaalista datasta estimoitu R0 ei ole yhtä hyvä kuin ilmiöiden erottelu.
"A Finnish contact matrix giving empirical contact frequencies for individuals by age is available with age-specific numbers of physical contacts per day."
Toteavat, että on epävarmaa, moniko sairastaa oireettomasti ja millä todennäköisyydellä virus tarttuu kohtaamisessa, ovat tehneet herkkyysanalyysejä ajamalla mallia eri parametreilla. Herkkyyttä satunnaisuudelle ovat tarkastelleet ajamalla 100 ajoa kullakin parametrilla (tietokoneen satunnaisluvut ovat näennäissatunnaisia, mutta se on oma juttunsa. 'pseudo random' tai jotain sellaista googlaamalla selviää)
Simuloinneissa on tarkasteltu HUSin alueen väestöä. Vertailtu lazy and aggressive testing strategioita eri asteisilla liikkumisrajoituksilla. Uudenmaan rajat lienevät mallissa kiinni, koska artikkelissa ei ole mainintaa ulkopuolelta tulevista sairastuneista. Tiukka karanteeni ja testaaminen estäisi ulkoa tulevat pöpöt, mutta muuten ulkoa tulisi jatkuva virta tautisia.
Tarkastelevat simuloimalla myös oireettomien määrän (joka siis toistaiseksi tunnetaan huonosti) vaikutusta. Jos suurin osa on oireettomia, tai juuri kukaan ei ole oireeton, silloin testaamisesta ja jäljittämisestä ei saada suurta lisähyötyä.
Miten hyvin malli kuvaa HUSin alueen väestön käyttäytymistä? Miten hyvin kuvaa viruksen käyttäytymistä? Tuntuu, että mallin tekijät ymmärtävät, mitä on mallintaminen ja erityisesti epidemiologinen mallintaminen. Miten lähellä totuutta pääsevät? Saattaapa hyvinkin antaa oikeansuuntaisia tuloksia. Paljon paremmin kuin päässälaskuna arveleminen tai fiilispohjalta luuleminen/toivominen.
Sen jälkeen, kun mallilla on saatu jotain tuloksia, pitää miettiä, tuntuvatko ne järkeviltä? Jos ei, onko vika järjessä vai mallissa. Joskus simulaatiot antavat ahaa-elämyksiä, intuition vastaisia tuloksia, jotka osoittavat intuition vääräksi. Mutta voi järkikin osoittaa mallista virheitä. Äkkiseltään ei minulle tullut suuria yllätyksiä. En ihan tarkkaan katsonut, milloin asteikko ulottui miljoonaan, milloin sataantuhanteen.
Vielä pitää kysyä, miksi malli antoi sellaisia tuloksia kuin antoi?
Merkittävin tulos oli, että testaaminen, jäljittäminen ja tautisten eristäminen kannattaa. Muita rajoituksia voidaan löysätä, jos tämä onnistuu hyvin. Käy järkeen. Ehkä jopa ilman mallinnusta voisi päätyä tällaiseen johtopäätökseen.
Riippuu tietysti siitä, moniko sairastaa oireettomasti. Jos kaikki saavat oireita nopeasti tartunnan jälkeen, tautiset löytää testaamattakin. Jos taas melkein kaikki sairastavat oireettomasti niin, äääh, mitä siitä seuraa? Testauksen tarkkuus, jäljittämisen onnistuminen: Näitä ei tarkasteltu. Mitä vaikuttaa, jos tautisista jää havaitsematta 10%, 20%? Miten hyvin jäjittäminen toimii? Kuinka monta prosenttia altistuneista löydetään?
Simulointien perusteellakin toteavat, että alussa tautiin kannattaa joka tapauksessa iskeä moukarilla, eli tiukoin rajoitustoimin.
Simulointitulosten mukaan, jos ei testata vaan pidetään tauti hoitokapasiteetin rajoissa pelkästään rajoitustoimilla, tarvitaan tiukempia rajoituksia ja tauti on pitkään keskuudessamme. Pahimmillaan se talttuu vasta laumasuojaan? Mikäli sille yleensä tulee immuuniksi, kuten useimmille virustaudeille. Loogista tuokin. Ellei satuta löytämään tehokkaita rajoitustoimia, joilla tauti tukehtuu.
Jossain määrin tulee fiilis, että epidemiologisissa malleissa on paras käytettävissä oleva tieto, joten niitä ei pidä ylenkatsoa. Toisaalta tuntuu, ettei paras käytettävissä oleva tieto ole toistaiseksi järin eksaktia. Virus ja ihmiset ei kulje yhtä täsmällisesti kuin planeetat radoillaan.
Selkein tulos lienee, että kannattaa sekä rajoittaa että testata ja jäljittää. Miten ja kuinka paljon riippuu monesta sellaisesta seikasta, joista malli ei tiedä mitään. Eikä mikään eikä kukaan muukaan. Myöhemmin ollaan viisaampia. Jälkeenpäin muistamme vain ne väitteemme, jotka sattuivat tuurilla osumaan oikeaan.
Toimittajilta toivoisi klikkiotsikoiden revittelyn sijaan yritystä ymmärtää ongelmaa – holistisesti – ja yritystä auttaa ihmisiä ymmärtämään. Useimmilla toimittajista tuntuu olevan syyttäjän ja rikostutkijan vaisto. Rasittavimmat ovat 'nippelikyyliä' ja epäonnistuneiden sanavalintojen metsästäjiä. Tarpeellista sekin joskus, mutta välillä olisi hyvä kokeilla jotain rakentavampaa toimintamoodia. Osa toimittajista senkin osaa.
Muutenkin, kaikki jotka vaativat saada kuulla täsmällisen strategian hallitukselta, voisivat ehdotella kunnolla mietittyjä toimenpiteitä ja strategioita.
(Muistutus todellisuuden monimutkaisuudesta: Seuraava juttu tuossa artikkelipankissa on: The socio-economic determinants of the coronavirus disease (COVID-19) pandemic) (en ehtinyt lukea)
EDIT (vartti jutun julkaisemisen jälkeen ;-) Jutun kirjoitettuani luin hesarin tiedejutun taudin leviämisestä Siinä oli pikkuin erisuuntaisia, mutta järkevän kuuloisia näkemyksiä ja tulkintoja. Onnellisia kaiken varmaksi tietävät. En kuitenkaan toivo ketään sellaista tekemään tärkeitä päätöksiä.
Heikin pohteita > Ohjelmointia, matematiikkaa, fysiikkaa … > Simulaatioita > Muiden tekemiä esimerkkejä (edit: )
En ole ainoa, jonka mielestä olisi syytä lähentää matematiikan, fysiikan ja ohjelmoinnin opetusta. Oma harrastukseni lähtee puhtaasti siitä, mikä minua kiinnostaa ja se on toisinaan kaukana ainakin kouluopetuksen realiteeteista. Laitan tähän linkkejä sitä mukaa, kun tulee vastaan muiden harrastajien sivuja.
Tammikuu 2021