Archive for the ‘Global uppvärmning – klimat’ Category

Juli månad extremt het … eller?

20/08/2019

Jag kunde för några dagar sedan i Hufvudstadsbladet, svenskfinlands största tidning, läsa en rättelse gällande de ”extrema” temperaturerna på Grönlands isvidder. Man konstaterade att rapporteringen hade blivit lite fel … i stället för rapporterade +4 C så var den korrekta temperaturen -2 C. Skillnaden är rätt betydande speciellt då vi vet att is smälter vid 0 C.

Hufvudstadsbladet har dock inte kommit in med någon rättelse gällande historiskt hög global temperatur i juli. Tidningen förde fram juli som extremt varm flera gånger och den här artikeln skall granska Hufvudstadsbladets påstående. Var juli extremt het eller är det igen fråga om fake nyheter. Man börjar naturligtvis vara ganska van vid medias fake nyheter vid det här laget.

Vi börjar med att titta på den globala temperaturen i juli i relation till alla satellitmätningar sedan 1979. Var juli en extremt varm månad eller var det fråga om att man körsbärsplockade en specifik månad som råkade vara het … eller var det fråga om total fake?

Vi hittar satellitmätningar på Roy Spencers (ansvarig för UAH satellitmätningar) vebbsida:

Vi ser att juli månad inte är speciell på något sätt. Åtminstone i förhållande till hela mätperioden från 1979 framåt så är påståendet fake news. Följande fråga blir då om månaden juli globalt har avvikit från alla andra månader juli så länge mätningar har gjorts.

Vi börjar att titta på några mätstationer i Europa. Vi vet att det under en period var mycket hett i syd- och mellaneuropa till följd av vindar från söder och Sahara.

Ingenting speciellt på Irland … move on. Det är dock intressant att trenden eventuellt är sjunkande då vi ser på de senaste 40 årens julitemperatur.

Då vi tittar på vårt kära västra grannlande servi ingenting speciellt. En normal sommar!

Hemma i Finland ser vi igen att juli inte utmärkte sig över huvud taget … en normal sommarmånad. Intressant att notera att temperaturen under de senaste tjugo åren i juli har varit konstant eller eventuellt marginellt sjunkande.

Nyheten om de historiskt extrema julitemperaturerna hittar vi hos NOAA d.v.s. den amerikanska institution som är ansvarig för lagring/analys av meteorologiska data.

Här ser det onekligen ganska rött ut. Skall vi tolka detta som att jorden håller på att brinna upp eller är också detta fake nyheter? Notera att bilden visar en kombination av land och havstemperaturer. Lägg märke till de extrema rekordtemperaturerna i centralafrika indiska oceanen och i Stilla havet.

Om vi i stället betraktar temperaturer mätta på land (samma källa NOAA) så ser vi:

Ooops! Vart försvann afrikas extrema temperaturer? Det finns inga mätningar (grått) från de områden man rapporterade som extremt heta. Temperaturerna i Indiska oceanen blev plötsligt endast marginellt varmare än normalt och vi ser stora kalla områden i Skandinavien/Ryssland, Canada/USA samt i fjärran östern … områden som NOAA trollade bort i den första bilden.

Går man till NOAA:s  vebbsida (Googla: ) så hittar man månadsdata för södra och norra halvkloten.

90S-00N: 2019  7    0.917047
00N-90N: 2019  7    0.977358
Medeltal: 0.947
00N-90N: 2018  7    1.052253
90S-00N: 2018  7    0.668862
Medeltal: 0.861
90S-00N: 2017  7    0.967710
00N-90N: 2017  7    0.968036
Medeltal: 0.968

Sett ur NOAA:s egna data så verkar det helt klart att åtminstone juli år 2017 var varmare än juli 2019 d.v.s. påståendet att juni 2019 var en historiskt varm månad är fake nyheter.

Idagens finska TV-nyheter hänvisade man till de extrema temperaturerna på Grönland (som alltså inte stämmer) samt till juli månad som den genom tiderna varmaste julimånaden. Det verkar rätt klart att allt det man sade om klimatet i TV-nyheterna igen hör till kategorin fake nyheter.

Den stora frågan då vi betraktar ovanstående fake nyheter blir naturligtvis varför vår regering, EU och många andra driver en politik som är skadlig för landets och den Europeiska kontinentens välfärd. Det är ingen slump att Europa har haft en extremt dålig ekonomisk tillväxt sett ur ett globalt perspektiv. Vilket bolag är intresserat av att verka i en omgivning med höga skatter, högt energipris och en mycket osäker framtid vad gäller energisäkerheten … det går inte att driva industri då man kör energisystemen i botten så att energitillförseln slumpmässigt måste stängas av. Det blir revolution då de tyska storbolagen börjar friställa sina anställda.

Min uppfattning är att dagens politiker i många fall är landsförrädare som inte över huvudtaget bryr sig om landets egen befolkning. Det är en helt annan agenda man driver och det skulle vara väldigt intressant att veta vilka summor de bakomliggande globala oligarkerna har behövt använda för att köpa Europas beslutsfattare.  Det är alltid intressant att notera att om man antar att man kan köpa en riksdagsman för en årslön för att driva en specifik fråga så kostar det under tio miljoner euro att köpa en majoritet i riksdagen. Sannolikt är det billigare eftersom det i alla frågor finns olika åsikter vilket betyder att alla inte behöver köpas. Tio miljoner är växelmynt/felräkningspengar i storbolagens reklambudget.

Det stora problemet idag är att media inte gör sitt jobb och granskar makten utan i stället har media blivit den globala maktens språkrör på ett sätt som obehagligt påminner om situationen i det forna sovjetunionen eller ännu värre i 1930-talets Tyskland.

Tony Heller har en intressant kommentar här:

Uppdatering: Åsiktsdiktatur

07/08/2019

SWEBBTV är nu tillbaka på Youtube!

Det blir intressant att se vad som egentligen har hänt. Mera information senare.

Exempel:

Åsiktsdiktatur i Sverige

06/08/2019

 

Det verkar nu troligt att den svenska regeringen har avtalat med Google att stänga Youtubekanalen SWEBBTV.  För några dagar sedan försvann SWEBBTV plötsligt från Youtube efter att den svenska regeringen hade haft ett möte med representanter för Google och Facebook.

Youtube_terminating_SWEBBTV

Jag har aktivt följt med SWEBBTV och min uppfattning är att kanalen ofta är kritisk till politiker och massmedia. Man har i flera program pekat på hur ”main stream” media inte längre granskar makthavarna utan fungerar som makthavarnas språkrör.

Videon ovan ger en viss inblick i vad som har hänt. Jag vet inte var ifrågavarande person står politisk men jag har tittat igenom videon.

SWEBBTV har nu flyttat över materialet till VIMEO! Lägg ett bookmark till den nya kanalen:

https://vimeo.com/user101457479

Lars Bern har en kommentar på bloggen antropocen live.

SWEBBTV stängdes tydligen ner eftersom man för vissa program har börjat få tittarsiffror i samma storleksodning som de statliga propagandakanalerna. Det är intressant att notera att man, åtminstone för tillfället, lär kunna se SWEBBTV t.ex. i USA men inte i Sverige och Finland. Googles motivering att nedstängningen skulle vara en följd av ”hate speech” håller nog inte (jag har sett de flesta avsnitten som nog är kritiska men i allmänhet helt sakliga). Jag uppmanar läsarna att titta på några program för att kunna bilda sig en egen uppfattning om huruvida kanalen är ”hatisk”. Jag är mycket intresserad av kommentarer gällande vad som i såfall uppfattas som hatiskt.

Det är spännande att notera att de flesta människor jag känner fortfarande vägrar se vad som pågår. Vad behövs det för att människorna skall vakna och se vad politikerna håller på med.

Samma sak händer här i Finland … det är många år sedan en hederlig debatt om t.ex. den globala uppvärmningen (som man idag kallar klimatförändringen) har kunnat föras. I dagens Hufvudstadsblad (den största svenskspråkiga tidningen i Finland) kunde vi läsa nedanstående ”fake news”.

HBL_temp_july_2019.png

Påståendet verkade så absurt att jag kontrollerade det mot satellitmätning av jordens temperatur. Resultatet var:

UAH_july_2019

Vi ligger långt från ett globalt värmerekord men det spelar ingen roll för dagens nyhetsmedia. Man kan igen konstatera att betalaren den politiska eliten får exakt de rapporter man har betalat för. Juli var på intet sätt extrem ur ett globalt perspektiv men det spelar ingen roll då man för ut nyheter till den lokala Europeiska pöbeln som matats med skräckhistorier om den globala uppvärmningen då det hara varit varmt i Europa en tid. Varje sommar blir det varmt och det har ingenting med klimatet att göra.

Håll ögonen öppna, sätt press på politikerna och kräv att vi får en balanserad nyhetsförmedling utan det ofantliga kontinuerliga propagandaflödet. Vi påstås ha yttrandefrihet men i dagens globala värld kan man tydligen utan problem kringå detta. Jag undrar hur mycket Sverige har betalt Google för tjänsten?

 

 

Klimat- och energipolitik

29/06/2019

Intressant diskussion i SWEBBTV med energiexperten Elsa Widding.

Det är intressant att notera hur Sverige som har en stor andel vattenkraft så småningom kommer i en situation där energi måste börja ransoneras. En politik som slår sönder samhällets energisystem är samhällsförstörelse!

Klimatpropaganda och Hufvudstadsbladet

20/05/2019

Hufvudstadsbladet (Hbl) är svenskfinlands största dagstidning och därigenom mycket viktig för svenskspråkiga i finland.

Under det senaste året har vi genom Hbl utsatts för en ofattbar ström av klimatpropaganda först som förberedelse för riksdagsvalet i Finland och sedan som fortsättning för att lära ut korrekt röstningsbeteende inför EU-valet. Varje dag har det ingått flera artiklar med skrämselpropaganda för en snar mänsklighetens undergång och domedag.

En öppen fråga till Hbl!

Bakgrund: Vi har under det senaste året sett ett ofantligt flöde av skrämmande klimatinformation/klimatpropaganda (Peter Buchert) i Hbl:s spalter. Jag tror att många läsare skulle vara intresserade av svar på nedanstående fråga med tanke på att vi förväntas satsa miljarder på en omställning i energisystemen för att undvika ytterligare uppvärmning:

Vilken är den mekanism som gör att en eventuell ytterligare uppvärmning på en halv grad från den nuvarande kanske en grad plötsligt blir katastrofal för människor och djur och därför motiverar detta extrema focus på en obetydlig uppvärmning?

Svaret bör ställas i relation till att vi under ett dygn typiskt upplever temperaturvariationer på kanske fem till femton grader, då jag går ut på vintern kan temperaturskillnaden min kropp upplever vara fyrtio till femtio grader och ute i naturen ligger årsvariationen på femtio till sextio grader d.v.s. hundra gånger större än den lilla uppvärmning man politiskt påstår sig försöka undvika.

Svaret bör även ställas i relation till att jag upplever i princip samma klimatförändring på en halv grad om jag flyttar från Tavastehus till Helsingfors. Om jag vill bo i Helsingfors och jag vill tillbaka till en äldre tids klimat så kan jag göra det genom att flytta till en lägenhet nära toppen av något modernt tornhus i Helsingfors eftersom temperaturen sjunker ungefär en grad för varje hundra meter ökande höjd.

Lars Silen, fysiker Esbo

Jag var positivt överraskad över att inlägget faktiskt togs in den 11.5.2019  följt av ett långt svar från Hbl:s klimatskribent Peter Buchert. Orsaken till att jag nu skriver den här artikeln är att det är självklart att jag inte kan besvara Bucherts påståenden inom det utrymme som finns tillgängligt i tidningen. Jag skrev en kort kommentar till Buchert som kom in i tidningen den 20.5.

Koraller

Buchert konstaterar att ”några beräknade skillnader mellan 1,5 och 2 grader för miljön är att förlusterna i biodiversitet och ekosystem blir mindre, hälften så många arter får svårt reducerade utbredningsområden, färre arter dör ut och havsförsurningen  dödar 70-90 procent av varmvattenskorallerna vid 1,5 grader mot 99% vid 2 grader.”

Min kommentar: Intressant smörja!

Vi kan titta på verkliga mätningar.

image

Notera pH variationerna i trakten av Hainan. Vi ser i praktiken ingen förändring på 180 år. En orsak till den stabila nivån kan i detta fall förklaras med att det pressas upp djupvatten som blandas med ytvatten. Notera att pH under tidsperioder på några år kan variera med 0,4 pH utan att detta leder till någon katastrof för korallerna. Man vet dock från många områden på jorden att havsvattnets pH varierar mycket över korta tidsperioder bl.a. till följd av biologisk aktivitet.

Vi kan jämföra detta med NOAA:s mätningar från Aloha Hawai i Stilla havet.

Hawaii Carbon Dioxide Time-Series

NOAA:s mätningar visar på ett samband mellan ytvattnets pH och luftens koldioxidhalt. På 30 år har pH förändrats ungefär 0,05 enheter vilket kan jämföras med de kraftiga naturliga variationerna vid Hainan som är ungefär 8 ggr större.

Länken nedan visar ett ett enkelt experiment  där man följer pH hos havsvatten som funktion av atmosfärens CO2 halt.

På trettio år ser vi en extremt långsamt sjunkande pH men havsvattnet är fortfarande kraftigt basiskt något över 8 (neutralt pH är 7) och det finns inga teoretiska möjligheter att tillföra så mycket CO2 att vi skulle komma ens i närheten av neutralt havsvatten.  Det finns nästan oändliga mängder bufferämnen i haven i form av kalksten …

Notera den lilafärgade linjen som ger uppskattad CO2 halt i atmosfären under årmiljoner. Vi ser att koldioxidhalten i atmosfären idag ur geologisk synvinkel är extremt låg eftersom största delen av det tillgängliga kolet har bundits i kollager och kalksten. En av Greenpeaces grundare Patrik Moore har med goda argument konstaterat att människans brännande av fossila bränslen kan visa sig vara räddningen för livet på jorden. Mätningar i växthus visar att fotosyntesen inte fungerar då koldioxidhalten går under 150-200 ppm d.v.s. växterna svälter ihjäl. Under den senaste istiden då större mängder koldioxid löstes i de kallare haven låg koldioxidhalten skrämmande nära den nivå där växterna börja dö. Vi lever i en intressant tid (för att citera kineserna, då en kines önskar dig en intressant framtid så är det en förbannelse) där vi ideligen ser hur välmenande västerlänningar direkt agerar mot den natur de säger sig vilja skydda (vindkraftverk/fåglar+fladdermöss, palmolja/skövling av regnskog och arbete mot utsläpp av livets gas koldioxid).

Korallerna uppkom för ca. 500 miljoner år sedan då koldioxidhalten i atmosfären 10-20 ggr högre än idag (1000-2000%). Det verkar mycket osannolikt att en livsform som har uppkommit i en miljö med extremt hög koldioxidhalt inte skulle klara en marginell ökning av koldioxidhalten och en samtidig marginell sänkning av havets ytvattens pH. Förändringen i havets pH kan inte ens teoretiskt bli så stor att havet blir surt (det är idag klart basiskt). Peter Bucherts påstående gällande 70-90% döende av världens korallrev är ren smörja.

Det är ett känt faktum att t.ex. stora temperaturvariationer (både kalla och varma) kan leda till korallblekning där korallen byter den existerande algpopulationen, med vilken den lever i symbios , till en ny bättre lämpad för den förändrade livsmiljön. Korallblekning är normalt inte katastrofal för koraller utan korallen återhämtar sig relativt snabbt efter blekningen.

Havsytans nivå

Peter Buchert argumenterar att om vi kan hålla temperaturen vid 1,5 grader över förindustriell nivå i stället för under 2 grader så stiger havsytan stiger tio centimeter mindre. Vi kan titta på situationen i Helsingfors för att få lite lokalt perspektiv.

Havsytans_nivå_Helsingfors

Bilden visar havsytans nivå i Helsingfors sedan 1880-talet (Källa: NOAA).  Vi ser betydande årsvariationer (bruset d.v.s. bredden på den blåa kurvan) som beror av vindriktningar och hur lågtryck råkar gå över området. Kraftiga sydvästliga/västliga vindar kan pressa vatten i östersjöbassängen österut vilket ger högvatten i Finska viken. Effekten är kraftigast längst inne i Finska viken i trakten av St Petersburg där man har byggt skyddssystem just för denna situation. Denna typ av högvatten är inte kopplade till luftens CO2 halt. Den andra mekanismen för att höja havsytan lokalt är lufttrycket. En atmosfär motsvarar en vattenpelare med höjden tio meter. Ett längre stationärt högtryck kan sänka havsytan med 30-40 cm och på motsvarande sätt kan ett lågtryck som blir hängande över området höja vattennivån i ingefär motsvarande grad.  En tredje mekanism i ett innanhav med ett smalt utlopp till världshaven är naturligtvis nederbörd. Spridningen i bilden ovan d.v.s. bredden på det mätta bandet är ungefär +/- 0,45 m och denna spridning beror sannolikt i huvudsak på variationer i lufttrycket.

Den uppmärksamma läsaren ser hur havsytan i Helsingfors har sjunkit från ungefär 7.25 m år 1880 till något över 6,9 m år 2019 vilket betyder att havsytan sjunker lokalt med 2.5 mm per år till följd av landhöjningen. Notera att referenshöjden för havsytans nivå är godtycklig, vi är endast intresserade av förändringen.

Då vi betraktar NOAAs bild ovan så ser vi inget uppåtriktat blad som på en hockeyklubba. Om vi under senare år skulle ha sett en våldsam stegring i hastigheten med vilken havsytan stiger så borde havsytan i Helsingfors sluta sjunka … men detta går inte att se i bilden.

Bembölingarna (läs landets politiker) har satsat mycket krut på nya bestämmelser för att förhindra översvämningar till följd av stigande havsyta i ett område där havsytan i årtusenden har sjunkit till följd av landhöjningen.  Hbl hade i början av 1990-talet en artikel där man varnade för att havsytan (naturligtvis utan att ange tidsskala) till följd av uppvärmningen kan tänkas nå andra våningen i statsrådsborgen med hela centrum av Helsingfor översvämmat. Sedan dess, på 30 år har havsytan i Helsingfors enligt NOAAs bild ovan sjunkit ungefär 7.5 cm och av någon anledning är det väldigt sällan vi på Salutorget i helsingfors ser människor vada över ett översvämmat torg.

Djur kan inte flytta sig?

Peter Buchert konstaterar att många växter och djur inte förmår anpassa sig till en snabb klimatförändring.

Vi kan t.ex titta på sniglar. Väldigt få djur är beroende av en fullständigt stabil temperature (som vi normalt endast hittar i tropikerna med en jämn temperatur året runt på ungefär 25 grader C). I Finland varierar temperaturen under en dag ofta mer än 10 – 15 grader och växter och djur klarar denna kraftiga temperaturskillnad. Under ett år varierar temperaturen i Finland grovt taget +/- 30 grader C.  Inte heller denna totalt 60 grader temperaturskillnad verkar påverka härlevande djur och växter.

Vi kan illustrera absurditeten i Bucherts påstående på följande sätt:

Alla växt och djurarter i Finland, eventuellt undantaget arktiska fåglar och sälar, har vandrat in till landet under de senaste 12-15000 åren. I stort sett alla arter vi har i Finland har i något skede varit en invasiv art som har kommit utifrån och hittat en användbar nisch. Det faktum att en viss art inte lever i Finland bevisar inte att djuret eller växten inte skulle kunna leva här … arten har eventuellt inte ännu hunnit vandra in.

Idag är en invasiv art alla talar om den ”spanska mördarsnigeln” som kommer från sydeuropa men som inte verkar ha några problem med våra temperaturvariationer. Vilken effekt har månne en svag uppvärmning på en arts nordligaste utbredningsområde när arten är sprid över tusentals kilometer i Nord/Syd-riktning?

Antag nu att vår ”vän” mördarsnigeln uppfattar att det blir för varmt och att den vill flytta norrut. Det finns på nätet uppgifter om att mördarsnigeln kan flytta sig 50 meter under en enda natt. Antag nu att temperaturen på snigelns nuvarande ort fram till år 2100 förväntas stiga med en halv grad. Hinner månne snigeln sätta sig i säkerhet?

Snigeln behöver krypa en sträcka på ungefär 100 km norrut för att klimatet skall bli ungefär en halv grad kallare. Hur lång tid tar det då för snigeln att sätta sig i säkerhet längre norrut? Antag att snigeln kryper norrut under en månad varje år med ovanstående hastighet 50 m/natt. Hur många år tar det snigeln att sätta sig i säkerhet?

Svar: Ungefär 66 år d.v.s. snigeln har gott om tid att bilda famil på vägen och att hålla ett antal sabbatsår. Notera att snigeln naturligtvis kan krypa mycket mer än 30 dagar per år vilket personer som drabbats av snigelplågan är väl medvetna om.

Peter buchert konstaterar i Hbl den 20.5 angående exemplet ovan att jag tydligen inte vet något om ekologi. Min uppfattning är att detta gäller Peter Buchert. Exemplet snigel visar hur bred den klimatzon är inom vilken en snigel kan leva. Mördarsnigeln klarar av att leva inom ett latitudområde (syd/nord) med bredden åtminstone 3000 km. Det är då självklart att en liten temperaturvariation i medeltemperaturen som totalt domineras av väder- och årsvariation inte kan vara avgörande.

Jag är naturligtvis villig att ändra åsikt om någon kan ange en djurart som lever på våra breddgrader och som är akut utrotningshotat till följd av en liten temperaturstegring på en halv grad. Vad heter djuret och vilken är mekanismen bakom det akuta utrotningshotet?

Utrotningshotade djur

Peter Buchert konstaterar att färre arter dör ut om vi lyckas hålla uppvärmningen under 1,5 grader.

Hur är det nu med utdöenden? Media för kritiklöst fram vilka uppgifter som helst. WWF (som Buchert gärna lånar material av) talar om 100 000 arter per år. Det är naturligtvis fråga om en gissning i vilken man inbegriper alla arter från blåval till virus och där de flesta antagna utdöenden gäller okända arter som aldrig biologiskt har blivit artbestämda. Om man börjar titta på verkliga kända arter som har dött ut så ser det inte trevligt ut men under de senaste åren finns det mycket få arter som har dött ut. På Wikipedia (horror) hittade jag följande lista över utdöda djur under tidsperioden Holocen. Jag uppfattar att listan eventuellt är relativt trovärdig eftersom Wikipedia normalt har en rätt kraftig bias i riktning katastrof. Då man tittar på listan så ser man att det har dött ut relativt få djur i riktigt modern tid efter att medvetenheten om vikten av att bevara livets mångfald har spritt sig globalt. Den senaste utdöda(!) arten (Vietnamesisk noshörning) jag hittade var från 2010 men det är då fråga om utdöende inom ett lokalt område. Orsaken till utdöendet var inte klimatförändring utan jakt/tjuvjakt. Om jag uppfattar saken korrekt så finns motsvarande noshörning fortfarande på Java även där utrotningshotad men inte utdöd frågan blir då varför arten anges som utdöd i Wikipedia? Om jag rensar bort omkullfallna och döda träd i min skog och hackspettarna försvinner från den … skall jag då meddela att det har skett ett lokalt udöende i Esbo till Wikipedia?

Jag stötte nyss på en intressant artikel om det Spanska Lodjuret. Artikeln konstaterar att arten är akut utrotningshotad och konstaterar att arten antagligen kommer att utrotas inom 50 år till följd av klimatförändringen. Då man läser vidare i artikeln så upptäcker man att det Iberiska Lodjurets population minskade dramatiskt till följd av att tillgången till det viktigaste bytesdjuret (kanin) kraftigt minskade. Orsaken till att bytesdjuren minskade i antal var för mycket jakt eventuellt kombinerat med sjukdom hos byteskaninerna.

Iberian lynx

Bilden är klippt från artikeln ovan.

Naturligtvis måste man lägga in ”klimatförändringen” i artikeln för att författarna skall kunna få forskningsanslag i framtiden:

”Klimatförändringen kommer att vara den sista spiken i kistan konstaterar huvudförfattaren Miguel Araújo och hans kolleger.”

Ett grundlöst antagande då författarna själva har angett att grundproblemet är brist på mat se ovan … där människan är huvudansvarig genom alltför omfattande jakt.

Länkar:

https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2015JC011066

https://www.pmel.noaa.gov/co2/file/Hawaii+Carbon+Dioxide+Time-Series

https://static-ssl.businessinsider.com/the-iberian-lynx-will-go-extinct-in-50-years-2013-7

 

 

Den medeltida värmeperioden

06/03/2019

Hur man försökte eliminera den medeltida värmeperiodsen

Det har bland geologer och historiker funnits någon typ av koncensus att det kring vår tideräknings början var varmt. Man levde i en högkultur eftersom jordbruket producerade väl och det fanns resurser till att göra annat än att överleva.

På 200-talet eKr sjönk temperaturen kraftigt vilket ledde till folkvandringar som kom att kraftigt skada Romarriket.

På 800-talet blev det varmare och vi hade i Europa en ny värmeperiod som sträckte sig fram till 1300-talet men den bästa värmeperioden tog slut vid början av 1100-talet. Medeltidens värmeperiod utmärktes av byggandet av ståtliga katedraler … sannolikt igen för att det fanns ett överskott av människor som inte behövdes för produktion av livets nödtorft.

Medeltida_värmeperioden.png

Bild 1. Den medeltida värmeperioden och det Romerska klimatoptimet. Bilden är tagen ur Ljungqvist (2010): A NEW RECONSTRUCTION OF TEMPERATURE VARIABILITY IN THE EXTRA-TROPICAL NORTHERN HEMISPHERE DURING THE LAST TWO MILLENNIA

Bilden stämmer överens med uppfattningen från några årtionden sedan men den har ett stort problem. Bilden visar hur temperaturen under romartiden och under medeltiden sannolikt var lika hög som idag för att efter år 1300 kraftigt börja sjunka mot den lilla istiden under 1600-talet och början av 1700-talet. Problemet är helt enkelt att man har svårt att använda dagens temperatur för att skrämma människor av politiska orsaker om man kan visa att det har varit lika varmt tidigare … utan att jorden gick under.  Åtminstone kan man väl anta att någon undergång aldrig kom eftersom vi finns här idag (/sark).

År 1990 gav Romklubben, de västerländska oligarkernas sammanslutning ut rapporten:

Den första Globala Revolutionen: ”Då vi sökte efter en gemensam fiende mot vilken vi kunde enas kom vi fram till att nedsmutsning, hotet om global uppvärmning, vattenbrist, farsoter och liknande kunde passa in på detta. I sin helhet och i växelverkan mellan dessa fenomen utgör de ett gemensamt hot som alla tillsammans måste konfronteras med. Om vi pekar ut dessa faror som en fiende, faller vi i fällan, som vi redan har varnat våra läsare för nämligen att se på symptomen som orsaker. Alla dessa faror är en följd av mänsklig inverkan på naturliga processer och det är endast genom förändrade attityder och beteende som de kan övervinnas. Den verkliga fienden är mänskligheten själv.”

Samma frågor hade långt tidigare diskuterats inom Romklubben (gör en Google sökning).

Om vi vill skrämma människor till att ge ifrån sig sin lokala makt att ta egna beslut så måste man kunna visa på att vår tid är extrem och att om utvecklingen fortsätter så kommer vi att uppleva en katastrof. Vi har många gånger sedan 1990 fått höra hur vi har endast 10, 12, 15 år på oss att reagera innan mänskligheten riskerar att utrotas. Profetiorna om domedagen har kommit och gått utan synliga katastrofer men detta korrigeras genom att man kommer fram med en ännu värre profetia …

Ett sätt att fixa beställningsarbetet med att eliminera den medeltida värmeperioden som var ackepterad och välkänd, d.v.s. tiden då vikingarna koloniserade grönland, föll på klimatforskaren Michael Mann. Mann använde s.k. proxyn d.v.s. han uppskattade bl.a. via årsringar från träd vilken temperaturen var det år då årsringen bildades. Tanken är att om man väljer träd som växer nära trädgränsen så kommer trädets växthastighet främst att begränsas av temperaturen. Under varma år växer trädet bättre och årsringen blir bredare och under dåliga år blir årsringen smalare.

Hockey_stick_IPCC.png

Michael Manns hockeyklubba eliminerade hela den medeltida värmeperioden (jämför med Ljungqvists kurva) och visade på en extrem uppvärmning från början av 1900-talet. Det stora problemet med kurvan är att den lyftes fram som en ikon för en katastrofal uppvärmning samtidigt som den stod i fullständig konflikt med många ärtionden av historisk och geologisk forskning.

Det visade sig emellertid att det också fanns andra problem. Manns rekonstruktion använde sig av en då relativt ny statistisk metod PCA som inte tillämpades helt korrekt. Resultatet var att metoden visade sig kunna plocka ut hockeyklubbor ur brus d.v.s. om man matade algoritmen med brus så skapade den en hockeyklubba.

Ett annat problem som bl.a. statistikerna McIntyre och McKitrick påvisade var att Manns hockeyklubba var beroende av ett enda träd för att man skulle få fram klubban. Detta förnekades naturligtvis på det kraftigaste av Mann och gruppen runt honom.  Historien har dock nu hunnit ifatt Mann efter att gruppens epostmeddelanden nu har gjorts offentliga efter ca. 8 års förhalanden. I ett epostmeddelande från Malcolm Huges (en i gruppen) till Mann kan vi läsa:

From: Malcolm Hughes
To: Michael E. Mann
Cc: rbradley@geo.umass.edu
Subject: Re: close call
Date: Monday, July 31, 2000 3:00:26 PM
Dear Mike – I have read and re-read the draft, and have come to the
conclusion that it would be a mistake to publish it. I would also urge
you not to publish it. I think my enthusiasm aroused by the first
version of the figure allowed me to ignore the most important
problem. In the 1999 GRL paper the dangers of using too few
proxies for a hemispheric reconstruction were rehearsed – that was
our intention. That this new version of your post-1980 calculations
should be so sensitive to the omission of a single record is very
worrying indeed.

Den sista meningen ovan: ”Att denna nya version av dina beräkningar efter 1980 är så känsliga för bortlämnandet av en mätning (ett träd – min kommentar) är mycket oroande.”

Vi ser alltså att gruppen trots förnekanden var mycket väl medvetna om att hela rekonstruktionen byggde på ett enda träd som råkade ge korrekt resultat.

… epostmeddelandet avslutas med:

Då jag tänker närmare på saken skulle det vara klokare att hålla vårt krut torrt och om någon ifrågasätter detta i ett trovärdigt forum poängtera att vi jobbar med att sätta ihop ett tätt högkvalitativt datasett som ligger närmare dagens situation.

Jag läser detta som ett direkt bevis på att man körsbärsplockar data så att de skall ge det resultat man vill ha. Detta påstående om körsbärsplockning går också att direkt veriefiera genom de nyligen frisläppta epostmeddelandena:

Michael Mann:

Well, one thing that is different here is that we are  actually screening all proxies to see if they have a verifiable signal (temperature or precip) against the instrumental record. So we are using an objective measure, rather than just deciding what we think is good or not.

Alltså, en sak som skiljer här är att vi väljer bland alla proxys för att se om det finns en verifierbar signal (temperatur eller nederbörd) jämfört med mätningar. Vi använder alltså en objektiv metod i stället för att helt enkelt välja vad som är bra eller inte.

Det här är hårresande! Man säger alltså att man går igenom årsringsserier och väljer ut de serier som stämmer överens med mätningar som kriterium för att använda serierna.  Det är självklart att det hela datasettet efter denna filtrering kommer att visa precis det urvalsfiltret valde ut. Josh har illustrerat saken på kornet nedan …

Nedan ser vi vetenskaplig heder (/sark) i arbete. Vid arbetet på IPCC:s rapporter fanns det klara direktiv på hur publikationer kunde tas med. Publikationen skall ha genomgått peer review etc.  före ett givet deadline för att kunna användas i IPCC:s rapport. Saken gäller naturligtvis inte den inre kretsen/teamet. Den egna artikeln, som försökte försvara hockeyklubban mot McIntyres och McKitricks kritik, var försenad. Vad borde man då göra?

From: Phil Jones [mailto:p.jones@uea.ac.uk]
Sent: Wednesday, September 12, 2007 11:30 AM
To: Wahl, Eugene R; Caspar Ammann
Subject: Wahl/Ammann

Gene/Caspar,
Good to see these two out. Wahl/Ammann doesn’t appear to be in CC’s online first, but comes up if you search.
You likely know that McIntyre will check this one to make sure it hasn’t changed since the IPCC close-off date July 2006!
Hard copies of the WG1 report from CUP have arrived here today.

Ammann/Wahl – try and change the Received date! Don’t give those skeptics something
to amuse themselves with.

Cheers<
Phil

Phil Jones en av teamets huvudfigurer föreslår:

Amman/Wahl – försök att ändra ankomstdatumet! Ge inte de där skeptikerna någon orsak att ha roligt.

Kanske nog för denna gång!

Det stinker!

06/03/2019

Skall jag tro på auktoriteterna?

Jag har deltagit i en liten grupp som har diskuterat den antropogena globala uppvärmningen AGW) som sedan blev  ”den katastrofala globala uppvärmningen” (CAGW) som man sedan har morfat till ”klimatförändringen”. Det finns personer med åsikter både för och emot. Notera att begreppet klimatförändring nog har funnits med länge men hela motiveringen till dagens domedagsprofetior har varit påståendet att vi råkar ut för en för människan katastrofal uppvärmning om vi inte radikalt lägger om hela vårt samhälle och samtidigt kraftigt sänker vår levnadsstandard. Om stigande koldioxidnivåer inte leder till en ohanterlig uppvärmning så borde vi snarare tacka högre makter för den välsignelse koldioxiden för med sig i form av bättre tillväxt inom växtriket.

År 1990 gav Romklubben, de europeiska oligarkernas sammanslutning ut rapporten:

The First Global Revolution. “In searching for a common enemy against whom we can unite, we came up with the idea that pollution, the threat of global warming, water shortages, famine and the like, would fit the bill. In their totality and their interactions these phenomena do constitute a common threat which must be confronted by everyone together. But in designating these dangers as the enemy, we fall into the trap, which we have already warned readers about, namely mistaking symptoms for causes. All these dangers are caused by human intervention in natural processes, and it is only through changed attitudes and behavior that they can be overcome. The real enemy then is humanity itself.”

Vi presenteras flera gånger dagligen nyheter om den katastrofala klimatförändringen som kräver att vårt västerländska samhälle gör självmord genom att snabbt eliminera alla fossila bränslen, bränslen som idag utgör stommen i västvärldens energiförsörjning.

Ett sätt att motivera detta är att visa på den uppvärmning man påstår vara förorsakad av människan. Utvecklingen hos den globala temperaturen sett genom auktoriteternas glasögon är:

Untitled

Bilden ser onekligen imponerande ut och vi kan ur den glättade linjen läsa ut att temperaturen har stigit ungefär 1,3 grader C sedan år 1910. Det finns dock en hel mängd intressanta tvivelaktigheter i den här bilden. Notera att då jag talar om GISS så bör man i princip kunna byta ut GISS mot datamängden ghcn i vårt fall version 3. Jag tar inte ställning till om vi har en exakt överenstämmelse eller om GISS gör ytterligare korrektioner.

Vi börjar med att titta på puckeln vid 1940 och vi ser hur den jämfört med perioden 1960-80 ligger ungefär 0,1 grad högre än platån som kommer efter den. Notera dock att norra och södra hemisfären uppför sig något olika varför en global kurva inte har en lika accentuerad puckel vid 1940 som motsvarande kurva för nordliga områden.

Det finns dock belägg för att bilden kanske inte är korrekt och att det är fråga om ett politiskt beställningsarbete.

Vid Climatgate i november 2009 släppte en okänd person ut en stor mängd e-postmeddelanden som gav en inblick i spelet bakom kulisserna i den inre ringen ”klimatvetenskapsmän”.

From: Tom Wigley <wigley@ucar.edu>
To: Phil Jones <p.jones@uea.ac.uk>
Subject: 1940s
Date: Sun, 27 Sep 2009 23:25:38 -0600
Cc: Ben Santer <santer1@llnl.gov>

It would be good to remove at least part of the 1940s blip, but we are still left with “why the blip”.

Översatt: Det skulle vara bra att eliminera åtminstone en del av 1940s puckel men vi har fortfarande kvar frågan ”varför puckeln”.

James Hansen publicerade en vetenskaplig artikel år 1981 där han presenterar temperaturen på olika håll på jorden.

Hansen_1981

Notera hur temperaturen år 1910 ligger endast ungefär 0,1-0,2 grader C under temperaturen ungefär år 1970. Jämför detta med GISS temperaturkurva där motsvarande temperaturdifferens har vuxit till ca. 0,5 grader C d.v.s. differensen har fördubblats genom ”justeringar”. Jag har inte tillgång till användbara data där GISS kurva i bild 1 (korrigerad och homogeniserad) kunde jämföras med motsvarande kurva beräknad från ojusterade data. GISS har däremot gett tillgång till ifrågavarande information för olika mätstationer stationer för vilka vi alltså enkelt kan beräkna en differens mellan de mätta ojusterade temperaturer GISS utgått från och de justerade och homogeniserade tomperaturer GISS presenterar för beslutsfattare och publik.

Nedan ges ett exempel på hur man har justerat en specifik station (Reykjavik). Chefen för Islands meteorologiska institut konstaterade, då justeringen fick offentlighet, att Island själv har korrigerat sina temperaturdata utgående från flyttningar av stationen, byte av mätinstrument etc och att ytterligare justeringar inte behövs … GISS justerade ner gamla temperaturer genom att kyla det förgångna med upp emot 2 grader (man justerade alltså gamla mätningar så att de blev kallare vilket gör att trenden ökar). Genom att man justerar det förgångna och presenterar dagens data oförändrat så kan man inte få fast förfalskarna genom att i nutid jämföra dagens mätningar med det som rapporteras. Sarkastiskt så kan man dock konstatera att moderna topptemperaturer inte tenderar att ligga speciellt länge på toppen eftersom också dessa kommer att justeras nedåt inom något år vilket gör att man år efter år får nya värmerekord …

På 1940 talet upplevde man konkret att det var varmt och temperaturen hade stigit under många år:

WarmerArctic_14.12.1940.png

Notera hur man beskriver att havsisarna i ishavet har smultit snabbt under de senaste femtio åren och kanske en tredjedel av isen har försvunnit.

November 2, 1922 The Washington Post: The Arctic ocean is warming up, icebergs are growing scarcer and in some places the seals are finding the water too hot, according to a report to the Commerce Department yesterday from Consulafft, at Bergen, Norway.

Reports from fishermen, seal hunters and explorers all point to a radical change in climate conditions and hitherto unheard-of temperatures in the Arctic zone. Exploration expeditions report that scarcely any ice has been met as far north as 81 degrees 29 minutes. Soundings to a depth of 3,100 meters showed the gulf stream still very warm. Great masses of ice have been replaced by moraines of earth and stones, the report continued, while at many points well known glaciers have entirely disappeared.

Very few seals and no white fish are found in the eastern Arctic, while vast shoals of herring and smelts which have never before ventured so far north, are being encountered in the old seal fishing grounds.

Enligt GISS kurva nedan (Norra halvklotet utanför tropikerna) så såg man en snabb avsmältning som ledde till att glaciärer helt försvann. Hur stämmer detta med samma kurva som säger att temperaturen var högre på sjuttiotalet men att havsisen bredde ut sig och det spekulerades kring inledningen till en ny istid eftersom temperaturen enligt dåtidens uppfattning hade sjunkit 0,5 grader C (NAS rapport 0,6 grader)från trettiotalats topp. På 1920-talet var temperaturen enligt GISS betydligt lägre än på 1970-talet men enligt rapporter skedde en snabb avsmältning i polarområdet. Skall vi tolka detta som att för avsmältning behövs kyla och för växande isar behövs värme (/sark).

I USA hade man på 1930-talet upplevt ”the dust bowl” d.v.s. extremt höga temperaturer med svår torka vilket ledde till utbredd misär bland odlare. På 1970 talet då man inte endast hade mätningar att falla tillbaka på utan också forskare som personligen hade upplevt 1930-talets värme uppskattade man att temperaturen efter 1930-talets topp föll med 0,5-0,6 grader C fram till mitten av 1970-talet. (Notera att den digitaliserade rapporten saknar vissa delar sannolikt till följd av fel vid inscanningen)

NATIONAL ACADEMY OF SCIENCES

UNITED STATES COMMITTEE FOR THE GLOBAL ATMOSPHERIC RESEARCH PROGRAM National Research Council

UNDERSTANDING CLIMATIC CHANGE A Program for Action NATIONAL ACADEMY OF SCIENCES WASHINGTON, D.C. 1975

36 UNDERSTANDING CLIMATIC CHANGE

A striking feature of the instrumental record is the behavior of temperature worldwide. As shown by Mitchell (1970), the average surface air temperature in the northern hemisphere increased from the 1880’s until about 1940 and has been decreasing thereafter (see Figure A. 6, Appendix A). Starr and Oort (1973) have reported that, during the period 1958-1963, the hemisphere’s (mass-weighted) mean temperature decreased by about 0.6 °C. In that period the polar and subtropical arid regions experienced the greatest cooling. The cause of this variation is not known, although clearly this trend cannot continue indefinitely.

Notera hur 1930-talets värmeperiod och avkylningen har eliminerats i stort sett helt i GISS temperaturuppskattning nedan:

GISS_NorthernHemisph

Vad beror den kraftiga förändringen på? Min personliga uppfattning är att vi ser en medveten justering (läs förfalskning av temperaturdata för att data skall följa politikernas krav). Jag har inte programvara för att reproducera GISS globala bild ovan men vi kan titta på ett exempel på hur förfalskningen görs.

Bilden är intressant eftersom vi från bevarade nyheter från 1900 – 1940 har mänder av belägg för att glaciärer har smultit, polarisarna krymte och situationen var mycket lik den idag. Från ca. 1950 fram till ca. 1965 sjönk temperaturen med ca. 0,6 grader vilket gav upphov till spekulationer om en kommande ny istid. Vi kan egentligen inte se någon betydande sjunkande temperatur alls i GISS kurva. Var den amarikanska vetenskapsakademins rapport  ovan någon typ av social sinnessjukdom eller var temperaturmätning på 1960-talet något så svårt att behärska att forntidens människor måste ha gjort stora fel som man måste korrigera?

Temperaturen i Reykjavik på Island

Islänningarna har mycket klart meddelat att deras temperaturdata har justerats på bästa sätt enligt förändringar i stationens läge, eventuella termometerbyten etc. och att vidare justeringar av denna orsak inte skall göras.

Reykjavik_ojusterad

Bilden ovan visar temperaturen som den mätts i Reykjavik före justeringar. Meteorologerna på Island anger att inga ytterligare justeringar skall göras. Notera hur temperaturen på 1930-talet ligger på ungefär samma nivå som idag. Variationerna på 1930-talet var eventuellt större än idag.

Reykjavik_unadj_adjusted

Temperaturen i Reykjavik efter att GISS (ghcn) har gjort sina justeringar (svart kurva). Värmeperioden på 1930-talet har i praktiken försvunnit.

Där den svarta GHCN V3 justerade, homogeniserade kurvan börjar är justeringen strax över en grad C. Till vänster om den svarta kurvan stiger justeringen till ca. 2 grader C (taget ur kurvan).

Hur ser då temperaturjusteringen ut? Vilka är de stationsförändringar i omgivningen som skulle kräva nedanstående förändringar som alltså Islänningarna anser att inte skall göras:

GISS_Reykjavik_justeringar1930-2018

Kurvan fås genom att ladda ner numeriska data för den justerade svarta kurvan i föregående bild och räkna differensen mot råa mätdata.

Sorry det finns inga stationsförändringar som hederligt skulle kunna ge denna typ av justering. Av en slump (/sarc) så justerar ovanstående kurva bort 1930-talets värmeperiod exakt såsom man diskuterade i mailet ovat. Vi vet att Islänningarna är mycket bra på fotboll men jag gissar nog att de inte ens i övningssyfte har burit Reykjaviks temperaturmätstation med sig på ryggen då de har övat med tanke på de våldsamma justeringarna (/sark).

Albert Einstein lär någongång ha sagt:

No amount of experimentation can ever prove me right; a single experiment can prove me wrong.

Översatt ungefär:
Inget experimenterande kan någonsin bevisa att jag har rätt. Det räcker med ett enda experiment för att bevisa att jag har fel.
Exemplet ovan (som inte på något sätt är unikt) visar tydligt att dagens historiska temperaturuppskattningar är tagna ur luften och de fakto fabricerade. Man har justerat mätta data så att de skall motsvara den bild man vill ha. I detta fall är justeringarna större än hela den påstådda uppvärmningen. Jag tror faktiskt inte att meteorologer och fysiker för mindre än hundra år sedan inte skulle ha klarat av att mäta luftens temperatur.
Min uppfattning är att om man en gång har blivit blåst så kan detta förlåtas. Att gång på gång bli blåst bevisar blåögdhet eller dumhet. Det faktum att eliten i världen har resurser och möjlighet till denna typ av Orwellska datamanipulationer och det faktum att den tredje statsmakten d.v.s. nyhetsmedia låter denna typ av förfalskningar passera utan ett knyst visar att vi har skäl att allvarligt ifrågasätta också andra nyheter vi överöses med varje dag.
Eftersom jag nu har ett kalkylark med data från Reykjavik så kan det vara intressant att jämföra 1930-talets värmeperiod (1930-1949) för Reykjavik med motsvarande period i nutiden (1998-2018). Jämförelsen gäller alltså rådata d.v.s. de temperaturer meteorologen på 1930-talet avläste från en MAX/MIN termometer jämfört med motsvarande mätningar i vår tid.
Värmeperioden i Reykjavik på 1930-talet låg på en medeltemperatur på ca. 5,5 grader C och motsvarande period i nutiden ligger på 5,6 grader. Temperaturökningen under tiden 1930 – 2018  d.v.s. under 88 år har varit ungefär 0,001 grad per år vilket naturligtvis måste uppfattas som extremt skrämmande eftersom talet innehåller så många nollor (/sark).
Notera att man under tiotals år har poängterat att uppvärmningen på nordliga breddgrader bör bli betydligt större än i tropikerna (polar förstärkning). En enkel fråga är då:
Varför kan man inte se ifrågavarande temperaturstegring i vårt specifika fall för en så lång period som 88 år?  Giss justerade temperaturdata från Reykjavik ger en uppvärmning på 0,94 grader C vilket ligger mycket nära motsvarande temperaturskillnad plockad visuellt från bilden över temperaturen i den extratropiska norra hemisfären.  Skall jag tolka detta som att bilden av temperaturutvecklingen på norra hemisfären i medeltal har genomgått samma massage som Reykjavik?
Ett annat kanske korrektare sätt att se på bild ett är att vi precis som bilden anger faktiskt har en antropogen uppvärmning på nästan en grad sedan 1930-talet. I stort sett hela uppvärmningen är en följd av antropogen justering av mätdata  d.v.s. människor är orsak till uppvärmningen som gjorts så att resultatet skall bli det politikerna vill ha. Vem betalar kalaset och varför?

Andra stationer:

Notera att alla nedanstående uppskattningar inte är beräknade ur numeriska data. Stationer där jag ger årsintervall har kontrollerats som medeltal över 20-års perioder. Övriga är uppskattade ur GISS grafer där GISS har plottat både rådata och justeringar.
Sodankylä (Finland, clean, rådata motsvarar helt GISS justerade och homogeniserade data). Jag har under många år regelbundet återkommit till temperaturen i Sodankylä för att kontrollera att dessa data inte förfalskas. Det är mycket hedervärt att jag aldrig har kunnat se förfalskning av finska data.

Angmagssalik (Grönland, clean, rådata motsvarar helt justerade och homogeniserade data).

Gothab Nuuk (Rådata 1930-1950 = -0,62,  1998-2018 = 0,63 d.v.s. ingen förändring på ca 80 år)

Gothab-Nuuk (GISS justerade åren 1930-1950)= -1,37, åren 1998-2018 = -0,59, Delta=-0,78)

Malaye Karmaku (Ryssland, Novaja Zemlja) historiska data har justerts ned ca. -1 grad.

Akureyri (Island) 1930-talet nedjusterat ca. -2 grader C.

Stykkisholmur (Island) 1930-talet nedjusterat med ca. -0,6 grader.

Archangelsk (Ryssland) 1930-talet nedjusterat med ca. -0,5 grader C.

Prince Albert (Canada) 1930-talet nedjusterat med ca. -1 grad C.

Isla Juan Fernandez (Chile) 1930-talet nedjusterat med ca. -0,7 grader C.

Pudahuel (Chile) 1930-talet nedjusterat ca. 0,7 grader C.

Salta Aero (Argentina) början av 1900-talet nedjusterat mer än -2 grader C.

Bahia Blanco Aero (Argentina) 1930-talet nedjusterat med -1,3 grader.

Santa Cruz Ae (Argentina) sjunkande temperatur 1950-1960 höjd med ca +0,5 grader C. Plockar bort sjunkande temperatur efter 1950.

Capetown (Sydafrika) början av 1900-talet -1,7 grader.

Port Elisabeth (Sydafrika) början av 1900-talet sänkt med -1,4 grader C.

Antananarivo (Madagaskar) 1930-talet sänkt med -1 grad och 1980-talet höjt med ca 1 grad C.

Port Blair början av 1900-talet -1 grad C.

Alice springs (Australien) början av 1900-talet -2 grader C.

Nome (Alaska) 1930-talet ner ca. -0,7 grader C.

St. Paul (utanför Alaska) 1930-talet ner -1 grad.

Punta Arenas (Chile) 1930-talet ner -0,7 grader C.

O.s.v.  jag tycker mig se en trend och trenden är att storleksordningen på justeringarna ungefär motsvarar den påstådda uppvärmningen under 1900-talet fram till vår tid. Det är skäl att komma ihåg att dagens uppskattning är att temperaturen sedan ”förindustriell tid” har stigit med 0,8 – 1 grad C. Är faktiskt mätdata så urusla att korrigeringarna är större än hela den signal man försöker mäta? Vilket värde har temperaturdata där korrigeringarna är större än mätsignalen?

Notera att ovanstående lista över justeringar inter har genomgått Peer review 😉 men uppgifterna kan enkelt kontrolleras genom att gå till:

https://data.giss.nasa.gov/gistemp/stdata/

Kom ihåg att välja datatyp (uadj=ojusterad, adj=olika varianter av justerad). Notera att mätserierna ofta är homogeniserade endast en del av mätperioden.

 

Enkel temperaturlogger

08/01/2019

Jag gjorde för en tid sedan en första preliminär mätning av UHI (Urban Heat Island) d.v.s. värmenedsmutsning av tätorter. Det är självklart att meteorologiska mätstationer som ligger nära eller i tät bebyggelse bör mäta högre temperaturer än stationer som ligger ostörda på landsbygden. De lärda tvistar idag om hur stor inverkan från UHI har på globala uppskattningar av temperaturen och uppskattningarna varierar från i princip ingen alls till några tiondels grader.

Temperaturloggerns upplösning d.v.s. de minsta temperaturskillnaderna den kan detektera är 0.1 grader C.  Sensorns precision d.v.s. felet i förhållande till en välkalibrerad temperaturgivare ligger antagligen på ca. +/- 0.5 grader C.

Jag har ingen aning om hur sensorn driver med tiden och inte heller hur linjär den i verkligheten är (om jag exempelvis vet att sensorn visar rätt vi 20 grader C, hur stort är felet vid +40?). Min gissning är dock att de relativa felen vid temperatursving på några grader är mycket små d.v.s. i storleksordningen +/- 0.1 grad C.

imgp5759

Fig. 1  Den första loggerprototypen. Det 3D-utskrivna skalet är misslyckat men bättre än ingenting. Följande version kommer ur ”ugnen” efter fyra timmar då detta skrivs. Bilden visar temperaturmätning i mitt arbetsrum kväll-natt. temperaturtoppen på nästan en grad är förorsakad av min kroppsvärme.

arbetsrum20190107

Fig. 2  Mätning av temperatur i mitt arbetsrum natten mellan den 7 och 8.1.2019. Rummet är i andra våningen /därav rätt hög temperatur) och det värms endast av datorer, skrivare etc. Det är intressant att notera hur temperaturen stiger med nästan en grad då jag sitter i rummet. En människa torde producera ungefär 200W värme vilket jag uppfattar att man kan se i mätningen. Andningsluften innehåller rätt mycket fukt vilket kan ses i den röda kurvan som är relativ luftfuktighet. Grafen skapades genom att läsa in mätvärdena i LibreOffice Calc i CSV (Comma Separated Values) format. Inläsningen krävde ingen editering av datafilen.

temp_logger_base

Fig. 3  En virtuell bild av stommen till version #2 av den nya lådan till loggern i programmet Repetier-host som jag använder för utskrift. Lådan är konstruerad i programmet openscad. Processorn och skärmen är skyddade men enkelt åtkomliga. I den första versionen kom kretskortet lite för nära lådans inre vägg vilket har åtgärdats här. Likaså modifierade jag öppningarna till USB-kontakten, SD-kortet och anslutningen för signalsladden till sensorn.  I nedre hörnet finns fack för SD-kortet och Bluetooth givaren HC-05. Nära det övre hörnet finns hjälpväggar som fungerar som kraftavlastare för sensorns sladd. Normalt brukar jag behöva tre iterationer för att designen skall bli ungefär vad jag vill ha.

tloggerboxutskrift

Fig. 4  Utskrift av den nya lådan från föregående bild. 3D-skrivaren är en Geeetech I3 kopia på motsvarande Prusa I3 skrivare. Skrivaren är byggd från en byggsats och den fungerar bra. Det krävdes dock en hel del tid, kanske två veckor,  att få allt korrekt injusterat både mekaniskt och mjukvarumässigt. Fördelen med en byggsats är dock att jag inte har några som helst hämningar att fixa eventuella problem eller göra uppgraderingar.  Det här är den bästa leksak jag har gett mig på många år.

imgp5761

Fig. 5  De i temperaturloggern ingående delarna. Från vänster Arduino Mega 2560 (blå). Därefter SD-kortadapter(ljusgrön). Bluetooth adapter HC-05 (vit) och bildskärmen sedd bakifrån (röd).  I den 3D-printade lådans skruvfästen smälts mässingsgängor vilket på sikt är mycket pålitligare än att skruva direkt i plast.

En Arduino Mega som temperaturlogger

En temperaturlogger kan byggas billigt från följande komponenter:

  • Processor Arduino Mega 2560 (ca. $10 ebay)
  • Display 480×320 pixlar innehåller ofta SD-korthållare ($5-$10 ebay). Kontrollera att displayen är kompatibel med en Arduino Mega och att den inte är gjord för en Arduino Uno (SD-kortet kan vara svårt att få att fungera om kortet är för en UNO). Det lönars ig inte att använda en Arduino Uno som logger om bildskärm används … minnet räcker inte till.
  • Bluetooth adapter HC-05 ($5 på ebay)
  • Någon typ av låda för att skydda loggern jag designade en egen låda och skrev ut den med 3D-skrivare.
  • Temperatur/fuktighetsgivare DHT22 ($3 på ebay). Det finns kombinationsgivare som också mäter lufttryck. Jag byter eventuellt senare ut DHT22 givaren mot en givare som mäter temperatur, luftfuktighet och lufttryck.
  • Ett minneskort t.ex. 8 GByte (det minsta man hittar i en normal butik)
  • Två stycken 1 kohms motstånd

Utöver ovanstående behövs lödkolv, gärna en universalvoltmätare, tröd, lödtenn o.s.v. normala hobbytillbehör för elektronikhobby.

Egenskaper hos den färdiga loggern

Loggern mäter och lagrar temperatur och luftfuktighet på ett SD minneskort. Mätta data plottas i grafisk form till bildskärmen. Mätintervallat kan ställas från ca. 1s till timmar mellan mätningarna. Bildskärmen kan skalas enligt behov d.v.s. det minsta och det största värdet p skärmen kan ställas via kommandon.

Jag kommer att lägga till funktionalitet i loggern senare. Det är enkelt att lägga till mätning av andra parametrar om det behövs. Jag har för närvarande endast en temperatursensor. Tanken är att lägga till en annan sensor så att jag kan mäta utetemperaturen nära bilens tak och ca. 10 cm högre upp. Det bör vara möjligt att få en uppfattning om hur mycket värmen i bilen stör mätningarna genom att placera två termometrar på olika höjd i luftflödet.

Kontroll/styrning av loggern

Loggern skriver ut mätningar till processorns USB serieport samt till Bluetooth modulen HC-05. Via båda dessa kanaler kan man ge kommandon åt loggern.

Bäst kontrollerar man loggern via t.ex. en mobiltelefon eller en lämplig läsplatta med bluetooth.  En lämplig App för kontroll är appen ”Bluetooth Terminal” som man hittar på Google Play. Appen är gratis (det finns säkert många andra som också fungerar). Då man kopplar på strömmen till loggern och då Bluetooth är aktiv i telefonen så kommer det att dyka upp en enhet HC-05. Om det i omgivningen finns flera HC-05 enheter så känner man igen dem på deras unika id (hexadecimal sträng av bokstäver/siffror). Då anslutningen har lyckats så kan man testa förbindelsen med kommandot ”help” som visar vilka kommandon systemet känner.

Följande kommandon finns för närvarande (kommandot ”help” ger en lista över kommandon):

COMMANDS:
help      --> This help.
start     --> Start logging
stop      --> Stop logging
sdstart   --> Re-initialize SD
sdstop    --> SD write stopped
tlog      --> Print tlog.txt
tdata     --> Print tdata.txt
ls        --> List SD files
ctlog     --> Erase tlog.txt
ctdata    --> Erase tdata.txt
!         --> Comment to tlog.txt.
logint    --> Logging interval secs.
ymin      --> Set plot ymin
ymax      --> Set plot ymax
ytic      --> Set plot ytic
replot    --> Clear screen and replot

Innan man börjar logga lönar det sig att ställa in skärmen:

ymin

Säller in y-axelns minsta värde. Om vi t.ex. vet att temperaturen ute ligger på ca. +5 och vi kommer att göra en körning som kräver några timmar så kan vi sannolikt ställa in skärmen på t.ex. 0 grader C. Commandot är då ”ymin 0” utan citationsteckn.

ymax

På motsvarande sätt ställer vi in det största värdet som ryms påskärmen t.ex. 15 grader C. Kommandor är ”ymax 15”.

logint

Kommandot ställer in intervallet mellan mätningar uttryckt i sekunder. Om vi t.ex. vill logga en gång per minut så ger vi kommandot ”logint 60”.  Intervallet är inte helt exakt. Den löpande tiden d.v.s. tidpunkten för mätningen i sekunder sedan start är relativt noggrann.

replot

Kommandot ”replot” raderar skärmen och ritar ut koordinatsystemet på nytt. Räknaren som håller reda på mätningens ordningsnummer sätts till ett (1).

start

Starta loggningen med de parametrar systemet för närvarande känner (ymin, ymax och logintervall).

stop

Stoppa loggning.  Loggning kan startas på nytt med ”start”.

sdstart

SD minneskortet initialiseras t.ex. om man har tagit ur kortet och kopierat innehållet till en dator ellr om minneskortet har bytts. Samma initialisering görs då loggern startas d.v.s. det är inte nödvändigt att ge kommandot ”sdstart” då loggern startas.

sdstop

Stoppar skrivning till SD minneskortet. Det är säkrast att ge kommandor ”sdstop” innan man tar ur SD-kortet eller innan man stänger av strömmen till loggern. Om man råkar rycka ur kortet precis då loggern skriver data till minnet så kan SD minnet förstöras. På motsvarande sätt kan kortet förstöras om man stänger av strömmen medan loggern skriver till kortet.  Risken för skador på minneskortet är naturligtvis störst om loggningsintervallet är kort. Användning av ”sdstop” förhindrar skador på SD-kortet eftersom skrivning till kortet stoppas.

tlog

Lista (skriv ut) hela loggfilen. Man kan skriva kommentarer till loggfilen genom att börja en kommentar med kommandot ”!”. Den maximala längden på en rad är satt till 50 tecken.

Exempel:

! Sommarö, start

Strängen lagras som sådan i filen tlog.txt men den förses med en tidsstämpel som motsvarar tiden för mätningarna. Man kan alltså senare direkt relatera kommentaren till specifika mätningar.

tdata

Skriv ut alla mätdata i mätfilen till både USB serieporten och till Bluetooth (HC-05). Ett sätt att överföra data till en annan apparat är att lista mätdata till serieterminalen och sedan på den kontrollerande enheten kopiera data från terminalen till en fil. Användning av tdata gör att loggningen inte behöver avbrytas och man behöver inte ta ut minneskortet.

ctlog

Radera loggfilen. Allt innehåll i loggfilen försvinner.

ctdata

Radera innehållet i datafilen. Allt innehåll i datafilen försvinner.

Koppling av termometer/luftfuktighetsmätare till loggern

Sensorns signalstift kopplas till Arduino Mega A15.

Sensorns strömmatning VCC koplas till 5V bredvid Arduinons stift 22.

Sensorns jord kopplas till Arduinons jord bredvid Arduinons stift 52.

Koppling av Bluetooth HC-05

Bluetooth VCC går till 5V på Arduino Mega (bredvid VCC för temperatursensorn). Till samma stift kopplas också VCC för SD-kortet.

Bluetooth jord GND kopplas till GND på Arduino (nära A15).

Bluetooth TXD kopplas till A13.

Bluetooth RXD kopplas via spänningsdelare t.ex. så att signalen från Arduino leds till jord via två 1 kohms motstånd kopplade i serie. Signalen till Bluetooth modulen tas ut mellan motstånden. Problemet är att HC-05 RXD är gjord för 3.3V spänningsnivå medan Arduinon använder 5V nivåer. HC-05 kan fungera en tid utan spänniungsdelare men den blir inte långlivad om den kopplas direkt.

Koppling av SD-kort

SD-korthållaren bör vara av en som har inbyggd spänningsregulator och 5V tålig. Orsaken är att SD minnet är konstruerat för endast 3.3V. Ansluter man ett oskyddat SD-kort till ett 5V system så kommer minnet att förstöras snabbt (jfr. HC-05 problemet).

SD 5V kollas till Arduino 5V (kombinerat med HC-05).

SD jord (GND) kopplas till Arduino GND (kombinerat med HC-05),

SD MOSI kopplas till Arduino Mega 2560 ICSP pin 1 (MISO)

SD MOSI kopplas till Arduino Mega 2560 ICSP pin 4 (MOSI)

SD SCK kopplas till Arduino Mega 2560 ICSP pin 3 (SCK)

SD CS kopplas till Arduino Mega 2560 dig. io pin 48

LCD skärmen

LCD skärmen är en billig kinesisk skärm designad för en Arduino UNO. Skärmen har inbyggd SD-kortläsare men problemet är att SPI gränssnittets signaler i en Arduino mega ligger påannan plats (ICSP konnektorn). Jag uppfattade det inte som mödan värt att tjuvkoppla mig runt problemet så jag använder en separat SD-kortläsare.

Problemet med många billiga kinesiska skärmar är att de är totalt ”namnlösa” och det finns ofta ingen information om vilken drivkrets de använder. Drivkretsens typ avgör vilket bibliotek jag måste använda på Arduinon för att skriva till skärmen. Vill jag has en skärm som är enkel att använda för t.ex. mätändamål så vill jag inte ha en skärm som sitter som en skäld ovanpå Arduinon och samtidigt förhindrar åmst till arduinons in/ut kontakter.

Skärmen jag har använt i det här projektet använder UTFT APIN f skärmaccess. Många kinesioska skärmar använder kontrollkretsen ILI9xxx för vilken man oftast hittar drivrutiner på nätet.

Notera att skärmen inte är nödvändig för funktionen.

Om ingen skärm finns kan programmet fortfarande köras genom att kommentera bort

#define HAVESCREEN

genom att skriva // framför definitionen d.v.s:

//#define HAVESCREEN

Programmet använder då inte alls skärmen men kontroll över programmet via Bluetooth och Arduino IDE fungerar fortfarande.

Programmet i Arduino

Programmer är skrivet i Arduinos C/C++ som är standardspråket om man använder Arduino IDE. Programmet är skrivet i en form som är typisk för en mikrokontroller där det ofta helt saknas ett underliggande operativsystem. Programmet sköter alltså själv alla funktioner och det är programmerarens sak att se till att programmet aldrig hamnar i en återvändsgränd och stoppar. Programmet är i princip en oändlig slinga som upprepas på nytt och på nytt. En cykel körs på ungefär 1/10 sekund. Vid varje varv genom programslingan kontrollerar programmet om det är tid att göra en mätning, kontrollerar om det finns något nytt kommando som borde utföras.

Om det är tid att göra en mätning så mäts temperatur och luftfuktighet och mätningens nummer, tiden sedan programstart, temperatur och luftfuktighet loggas till SD-minne. Temperaturen skrivs också ut på skärmen.

Om det finns ett kommando så utförs kommandot varefter programmet väntar på att följande varv genom slingan skall starta. Långa kommandon t.ex. en utskrift av en lång datafil kan ge tidsfel d.v.s. avståndet mellan två mätningar behöver inte vara helt exakt.

Notera att indenteringarna iprogrammet har förlorats vid inklistringen  i bloggen.

Jag kommer senare att lägga ut programmet på Github som fri programvara. Tillåtelse att använda programmet fritt ges här.

// Temperature_logger
// (c) 2019 Lars Silén
// Version 1.0
//
// Runs on an Arduino Mega 2560
//
// Using a 480×320 TFT diplay will hide the ICSP connector which caries
// the HW SPI signals. The are two options going around this problem.
// The first option is th solder the signals to the ICSP allowing us to use
// the ICSP connector with the display mounted (this option is selected here).
// The other option is to use a SW SPI library driving the SD memory card.
// This option is not selected.
//
// Any free text comin in over BT is stored including clock stamp.
// This allows simple input of location.
//
#include <Arduino.h>
#include <dhtnew.h>
#include <SPI.h>
#include <SD.h> // Support library for SD memory
#include <SoftwareSerial.h>

#define HAVESCREEN

#ifdef HAVESCREEN
//################################################
// GLUE class that implements the UTFT API
// replace UTFT include and constructor statements
// remove UTFT font declaration e.g. SmallFont
//################################################

#include <UTFTGLUE.h> //use GLUE class and constructor
UTFTGLUE myGLCD(0,A2,A1,A3,A4,A0); //all dummy args

// Declare which fonts we will be using
//extern uint8_t SmallFont[]; //GLUE defines as GFXFont ref

#define ORG_X 10
#define ORG_Y 10
#define MAX_X 470
#define MAX_Y 300

#define SCALE_MINY -10.0
#define SCALE_MAXY 30.0
#define SCALE_TICY 2.5
#define CIRCLE 0
#define CIRCLE_SIZ 2
#define SQUARE 1
#define TRIANGLE 2
#define LINES 1
float miny = SCALE_MINY;
float maxy = SCALE_MAXY;
float ytic = SCALE_TICY;

#endif

#define SDavailable // We have access to a sd memory
#define REPORTINTERVAL 60*10 // For testing reporting is done ar one minute interval.
int reportinterval=REPORTINTERVAL;

// ****************************************************
// Thermo and humidity sensor
// ****************************************************

#define connectedTSens1 true
#define connectedTSens2 false

// Looks like digital IO 22-53 don’t work properly.
// Use PWM pins or A-series pins.
#define DHT22Sens1 A15
#define DHT22Sens2 A12

DHTNEW mySensor1(DHT22Sens1);
#ifdef DHT22Sens2
DHTNEW mySensor2(DHT22Sens2);
#endif

// ****************************************************
// SD-memory support
// ****************************************************
// MISO, MOSI and SCLK in ICSP header.
// CD on pin 53.

Sd2Card card;
SdVolume volume;
SdFile root;
int SDstop = false;

int measured = false;
float Temperature = -999.0;
float Humidity = -999.0;
unsigned long timeSecs = 0; // Updated at 1s intervals using interrupts this is the main clock
unsigned long timeSinceStart=0; // Time in seconds since start
unsigned long stepper_rotate=0; // How often should we rotate the tower by one movement step (one turn of the motor).

int reportCnt = 0;
boolean stringComplete = false;
String inputString = ””; // a String to hold incoming sewrial needs initialization in setup().
String sysString = ””; // Handles writing/reading data
SoftwareSerial BTSerial(A13, A14); // RX, TX

unsigned long t;
int counter=0;
int shortcnt=REPORTINTERVAL;
int isRunning = false;
unsigned long tOffs;

void setup() {
// Serial interface towards supervising computer at 9600 baud
Serial.begin(9600);
pinMode(A14,OUTPUT);
BTSerial.begin(9600);

// Set up the temperature/humidity sensor type DHT2x (AOSONG AM230x)
//pinMode(50,INPUT);
if(connectedTSens1){
mySensor1.read();
}
#ifdef DHT22Sens2
if(connectedTSens2){
mySensor2.read();
}
#endif
Serial.println(”Started the Temperature/humidity sensor”);
BTSerial.println(”Started the Temperature/humidity sensor”);

// Start the system
inputString.reserve(50);
sysString.reserve(50);

// ***********************************************
// Setup SD-memory
// ***********************************************
#define SDCS 48
//pinMode(SDCS,OUTPUT);
if (!card.init(SPI_HALF_SPEED, SDCS)) {
Serial.println(”initialization failed. Things to check:”);
Serial.println(”* is a card inserted?”);
Serial.println(”* is your wiring correct?”);
Serial.println(”* did you change the chipSelect pin to match your shield or module?”);

BTSerial.println(”initialization failed. Things to check:”);
BTSerial.println(”* is a card inserted?”);
BTSerial.println(”* is your wiring correct?”);
BTSerial.println(”* did you change the chipSelect pin to match your shield or module?”);
return;
} else {
Serial.println(”Wiring is correct and a card is present.”);
BTSerial.println(”Wiring is correct and a card is present.”);
}
SD.begin(SDCS);
if (!volume.init(card)) {
Serial.println(”Could not find FAT16/FAT32 partition.\nMake sure you’ve formatted the card”);
BTSerial.println(”Could not find FAT16/FAT32 partition.\nMake sure you’ve formatted the card”);
return;
}
if(SDstop==true){
Serial.println(”SD stopped use SDstart”);
BTSerial.println(”SD stopped use SDstart”);
}

#ifdef HAVESCREEN
// ***********************************
// Setup the LCD
// ***********************************
Serial.println(”Trying to init LCD”);
BTSerial.println(”Trying to init LCD”);
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
#endif
}

float get_temperature(int sensorNo){
switch(sensorNo){
case 1: if(connectedTSens1){
Serial.println(”mySensor1.temperature”);
BTSerial.println(”mySensor1.temperature”);
return mySensor1.temperature;
} else {
return -999.0;
}
break;
case 2: if(connectedTSens2){
Serial.println(”mySensor2.temperature”);
return mySensor2.temperature;
} else {
Serial.print(”Not connected connectedTSens2=”);Serial.println(connectedTSens2);
return -999.0;
}
break;
}
Serial.println(”Fell through no such sensor number”);
BTSerial.println(”Fell through no such sensor number”);
return -999.0;
}

unsigned long get_time_since_start(){
// Get time in seconds since start
return timeSinceStart;
}

void ck_serial(){
// ***********************************
// Handle incoming serial data
// ***********************************
// CheclUSB serial typically Arduino Serial Monitor
while (Serial.available()>0) {
// get the new byte:
char inChar = (char)Serial.read();
inputString += inChar;
// if the incoming character is a newline the command is complete
// set a flag so the main loop can
// do something about it:
if (inChar == ‘\n’) {
stringComplete = true;
//Serial.println(”Got CR”);
}
}
// Check Bluetooth connection to phone/pad
while (BTSerial.available()>0) {
// get the new byte:
char inChar = (char)BTSerial.read();
inputString += inChar;
// if the incoming character is a newline the command is come,
// set a flag so the main loop can
// do something about it:
if (inChar == ‘\n’) {
stringComplete = true;
//Serial.println(”Got CR”);
}
}
serial_cmd();
}

void writeToLog(String ipStr){
if(SDstop==true) return;

File wrf=SD.open(”tlog.txt”,FILE_WRITE);
wrf.print(counter);
wrf.print(”,”);
wrf.println(ipStr);
wrf.close();
}

void serial_cmd(){
int n=0;
float h;
float energy=0;
float price=0;
// Some very basic commands
if(stringComplete==true){
// Ensure that case doesn’t matter when entering commands.
inputString.toLowerCase();
if(inputString.startsWith(String(”#”))){
// Handle comments
// Allows us to use scripts on the PC to set parameters on the controller.
Serial.print(”# ”);
Serial.println(”inputString”);
BTSerial.print(”# ”);
BTSerial.println(”inputString”);
stringComplete=false;
return;
}
// Restart use of the SD memory card after a SD stop.
if(inputString.startsWith(String(”sdstart”))){
Serial.print(”# command=sdstart ”);
BTSerial.print(”# command=sdstart ”);
// Re-initialize the card. The card may have been replaced.
if (!card.init(SPI_HALF_SPEED, SDCS)) {
Serial.println(”initialization failed. Things to check:”);
Serial.println(”* is a card inserted?”);
Serial.println(”* is your wiring correct?”);
Serial.println(”* did you change the chipSelect pin to match your shield or module?”);
BTSerial.println(”initialization failed. Things to check:”);
BTSerial.println(”* is a card inserted?”);
BTSerial.println(”* is your wiring correct?”);
BTSerial.println(”* did you change the chipSelect pin to match your shield or module?”);
inputString=””;
return;
} else {
Serial.println(”Wiring is correct and a card is present.”);
BTSerial.println(”Wiring is correct and a card is present.”);
}
SD.begin(SDCS);
if (!volume.init(card)) {
Serial.println(”Could not find FAT16/FAT32 partition.\nMake sure you’ve formatted the card”);
BTSerial.println(”Could not find FAT16/FAT32 partition.\nMake sure you’ve formatted the card”);
return;
}
SDstop = false;
inputString=””;
stringComplete=false;
return;
}
// Secure removal of the SD memory card.
if(inputString.startsWith(String(”sdstop”))){
Serial.print(”# command=sdstop”);
BTSerial.print(”# command=sdstart ”);
SDstop=true;
inputString=””;
stringComplete=false;
return;
}
// Start logging
if(inputString.startsWith(String(”start”))){
Serial.println(”# command=start”);
BTSerial.println(”# command=start”);
isRunning=true;
tOffs=millis()/1000;
stringComplete=false;
inputString=””;
return;
}
// Stop logging
if(inputString.startsWith(String(”stop”))){
Serial.println(”# command=stop”);
BTSerial.println(”# command=stop”);
isRunning=false;
stringComplete=false;
inputString=””;
return;
}
if(inputString.startsWith(String(”ymin”))){
Serial.print(”# command=ymin value=”);
BTSerial.print(”# command=ymin value=”);
#ifdef HAVESCREEN
miny=inputString.substring(4).toFloat();
Serial.println(miny);
BTSerial.println(miny);
#else
Serial.println(”Error: No screen defined”);
BTSerial.println(”Error: No screen defined”);
#endif
stringComplete=false;
inputString=””;
return;
}
if(inputString.startsWith(String(”ymax”))){
Serial.print(”# command=ymax value=”);
BTSerial.print(”# command=ymax value=”);
#ifdef HAVESCREEN
maxy=inputString.substring(4).toFloat();
Serial.println(maxy);
BTSerial.println(maxy);
#else
Serial.println(”Error: No screen defined”);
BTSerial.println(”Error: No screen defined”);
#endif
stringComplete=false;
inputString=””;
return;
}
if(inputString.startsWith(String(”ytic”))){
Serial.print(”# command=ytic value=”);
BTSerial.print(”# command=ytic value=”);
#ifdef HAVESCREEN
ytic=inputString.substring(4).toFloat();
Serial.println(ytic);
BTSerial.println(ytic);
#else
Serial.println(”Error: No screen defined”);
BTSerial.println(”Error: No screen defined”);
#endif
stringComplete=false;
inputString=””;
return;
}
if(inputString.startsWith(String(”logint”))){
Serial.print(”# command=logint value=”);
BTSerial.print(”# command=logint value=”);
reportinterval=inputString.substring(6).toInt();
Serial.println(reportinterval);
BTSerial.println(reportinterval);
reportinterval=10*reportinterval;
stringComplete=false;
inputString=””;
return;
}
if(inputString.startsWith(String(”replot”))){
Serial.println(”# command=replot”);
BTSerial.println(”# command=replot”);
#ifdef HAVESCREEN
setup_graph_screen();
#else
Serial.println(”Error: No screen defined”);
BTSerial.println(”Error: No screen defined”);
#endif
counter=1;
stringComplete=false;
inputString=””;
return;
}
if(inputString.startsWith(String(”tlog”))){
Serial.println(”# command=tlog”);
BTSerial.println(”# command=tlog”);
#ifdef SDavailable
dumpTLog();
#else
Serial.println(”SD card not available”);
BTSerial.println(”SD card not available”);
#endif
inputString = ””;
stringComplete=false;
return;
}
if(inputString.startsWith(String(”tdata”))){
Serial.println(”# command=tdata”);
BTSerial.println(”# command=tdata”);
#ifdef SDavailable
dumpTData();
#else
Serial.println(”SD card not available”);
BTSerial.println(”SD card not available”);
//BTSerial.println(”SD card not available”);
#endif
inputString = ””;
stringComplete=false;
return;
}
if(inputString.startsWith(String(”ls”))){
Serial.print(”# command=ls: ”);
BTSerial.print(”# command=ls: ”);
File root = SD.open(”/”);
printDirectory(root,0);
root.close();
//root.openRoot(volume);
// list all files in the card with date and size
//root.ls(LS_R | LS_DATE | LS_SIZE);
inputString = ””;
stringComplete=false;
return;
}
if(inputString.startsWith(String(”ctlog”))){
Serial.print(”# command=ctlog”);
BTSerial.print(”# command=ctlog”);
clearTLog();
Serial.println(”tlog.txt cleared (erased)”);
BTSerial.println(”tlog.txt cleared (erased)”);
inputString = ””;
stringComplete=false;
return;
}
if(inputString.startsWith(String(”!”))){
Serial.print(”# command=”);
Serial.println(inputString);
BTSerial.print(”# command=”);
BTSerial.println(inputString);
#ifndef SDavailable
return;
#endif
t = millis()/1000;

File wrf=SD.open(”tlog.txt”,FILE_WRITE);
wrf.print(counter);wrf.print(”,”);
wrf.print(t);wrf.print(”, ”);
wrf.println(inputString);
wrf.close();
inputString = ””;
stringComplete=false;
return;
}
if(inputString.startsWith(String(”ctlog”))){
Serial.print(”# command=ctlog”);
BTSerial.println(”# command=ctlog”);
clearTLog();
Serial.println(”tlog.txt file erased”);
BTSerial.println(”tlog.txt file erased”);
inputString = ””;
stringComplete=false;
return;
}
if(inputString.startsWith(String(”ctdata”))){
Serial.println(”# command=ctdata”);
clearTData();
Serial.println(”tdata.txt file erased”);
BTSerial.println(”tdata.txt file erased”);
inputString = ””;
stringComplete=false;
return;
}
if(inputString.startsWith(String(”help”))){
Serial.println(””);
Serial.println(”COMMANDS:”);
Serial.println(”help –> This help.”);
Serial.println(”start –> Start logging”);
Serial.println(”stop –> Stop logging”);
Serial.println(”sdstart –> Re-initialize SD”);
Serial.println(”sdstop –> SD write stopped”);
Serial.println(”tlog –> Print tlog.txt”);
Serial.println(”tdata –> Print tdata.txt”);
Serial.println(”ls –> List SD files”);
Serial.println(”ctlog –> Erase tlog.txt”);
Serial.println(”ctdata –> Erase tdata.txt”);
Serial.println(”! –> Comment to tlog.txt.”);
Serial.println(”logint –> Logging interval secs.”);
Serial.println(”ymin –> Set plot ymin”);
Serial.println(”ymax –> Set plot ymax”);
Serial.println(”ytic –> Set plot ytic”);
Serial.println(”replot –> Clear screen and replot”);
Serial.println(””);

BTSerial.println(”COMMANDS:”);
BTSerial.println(”help –> This help.”);
BTSerial.println(”start –> Start logging”);
BTSerial.println(”stop –> Stop logging”);
BTSerial.println(”sdstart –> Re-initialize SD”);
BTSerial.println(”sdstop –> SD write stopped”);
BTSerial.println(”tlog –> Print tlog.txt”);
BTSerial.println(”tdata –> Print tdata.txt”);
BTSerial.println(”ls –> List SD files”);
BTSerial.println(”ctlog –> Erase tlog.txt”);
BTSerial.println(”ctdata –> Erase tdata.txt”);
BTSerial.println(”! –> Comment to tlog.txt.”);
BTSerial.println(”logint –> Log interval secs.”);
BTSerial.println(”ymin –> Set plot ymin”);
BTSerial.println(”ymax –> Set plot ymax”);
BTSerial.println(”ytic –> Set plot ytic”);
BTSerial.println(”replot –> Clear screen and replot”);
inputString = ””;
stringComplete=false;
return;
}
// Any comman that isn’t recognized is assumed to be a comme that is loged
// into the tlog.txt logfile.
Serial.print(”inputString”);
Serial.println(inputString);
writeToLog(inputString);
inputString = ””;
stringComplete=false;
return;
}
return; // Never reached
}

void report_serial(){
// Write as comma separated values for easy import to a spread sheet program

Serial.print(”Time,”); Serial.print(t); Serial.print(”, ”);
BTSerial.print(”Time,”); BTSerial.print((timeSecs/3600.0)); BTSerial.print(”, ”);
if(connectedTSens1){
Serial.print(”Temp1, ”); Serial.print(mySensor1.temperature); Serial.print(”, ”);
Serial.print(”Hum1, ”); Serial.print(mySensor1.humidity); Serial.print(”\n”);
BTSerial.print(”Temp1, ”); Serial.print(mySensor1.temperature); Serial.print(”, ”);
BTSerial.print(”Hum1, ”); Serial.print(mySensor1.humidity); Serial.print(”\n”);
}
//if(connectedTSens2){
// Serial.print(”Temp2, ”); Serial.print(mySensor2.temperature); Serial.print(”, ”);
// Serial.print(”Hum2, ”); Serial.print(mySensor2.humidity); Serial.print(”\n”);
//}
}

// ********************************************
// SD related functions
// ********************************************

void printDirectory(File dir, int numTabs) {
while (true) {

File entry = dir.openNextFile();
if (! entry) {
// no more files
break;
}
for (uint8_t i = 0; i < numTabs; i++) {
// Repaced ‘\t’ with ‘ ‘ to save screen space
Serial.print(‘ ‘);
BTSerial.print(‘ ‘);
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println(”/”);
BTSerial.println(”/”);
printDirectory(entry, numTabs + 1);
} else {
// files have sizes, directories do not
Serial.print(”\t\t”);
Serial.println(entry.size(), DEC);
BTSerial.print(”\t\t”);
BTSerial.println(entry.size(), DEC);
}
entry.close();
}
}

void dumpTLog(){
// Dump the logfile to the external computer
char c;
#ifndef SDavailable
Serial.println(”Error: No SD memory available”);
BTSerial.println(”Error: No SD memory available”);
return;
#endif
File rdf = SD.open(”tlog.txt”,FILE_READ);
if (rdf){
while (rdf.available()) {
c=rdf.read();
Serial.write(c);
BTSerial.write(c);
}
rdf.close();
} else {
Serial.println(”Error: Could not open tlog.txt”);
BTSerial.println(”Error: Could not open tlog.txt”);
}
}

void clearTLog(){
#ifndef SDavailable
Serial.println(”Error: No SD memory available”);
BTSerial.println(”Error: No SD memory available”);
return;
#endif
SD.remove(”tlog.txt”);
}

void dumpTData(){
// Dump the logfile to the external computer
char c;
#ifndef SDavailable
Serial.println(”Error: No SD memory available”);
BTSerial.println(”Error: No SD memory available”);
return;
#endif
File rdf = SD.open(”tdata.txt”,FILE_READ);
if (rdf){
while (rdf.available()) {
c=rdf.read();
Serial.write(c);
BTSerial.write(c);
}
rdf.close();
} else {
Serial.println(”Error: Could not open usrlog.txt”);
BTSerial.println(”Error: Could not open usrlog.txt”);
}
}

void clearTData(){
#ifndef SDavailable
Serial.println(”Error: No SD memory available”);
BTSerial.println(”Error: No SD memory available”);
return;
#endif
SD.remove(”tdata.txt”);
}

#ifdef HAVESCREEN
int cy(int y){
// Convert y into screen coordinate sy)
int v=0;
v = MAX_Y – y;
if(v<0){
v = ORG_Y;
return v;
} else if(v>MAX_Y){
v= MAX_Y;
return v;
}
return v;
}

int cx(int x){
// Dummy conversion of x-coordinate to screen coordinate
int v=0;
v = x+ORG_X;
if(v<ORG_X){
return ORG_X;
} else if(v>MAX_X){
return MAX_X;
}
return v;
}

void draw_axisX(){
// Draw x-axis
myGLCD.drawLine(cx(0), cy(0), cx(MAX_X), cy(0));
}

void draw_axisY(){
// Draw y-axis
myGLCD.drawLine(cx(0), cy(0), cx(0), cy(MAX_Y-10));
}

int cnvYfloatToInt(float y){
int intY;
//intY = MAX_Y*(y-SCALE_MINY)/(SCALE_MAXY-SCALE_MINY);
intY = MAX_Y*(y-miny)/(maxy-miny);
//Serial.print(”y=”);
//Serial.println(y);
//Serial.print(”Conv intY=”);
//Serial.println(intY);
return intY;
}

void ticX(int dx){
// Starts from x=0
// Draw x-ticks
myGLCD.setBackColor(0, 0, 0);
for (int i=0; i<460; i+=dx){
myGLCD.drawLine(cx(i), cy(0), cx(i), cy(10));
sysString=String(i);
myGLCD.print(sysString, i+5, cy(15));
}
}

void ticY(float dy,int ltype){
float ypos;
int intY;
int i;
//for (int i=0; i<MAX_Y; i+=dy) myGLCD.drawLine(cx(0), cy(i),cx(10), cy(i));
ypos = miny;
while(ypos < maxy){
intY = cnvYfloatToInt(ypos);
myGLCD.drawLine(cx(0), cy(intY),cx(10), cy(intY));
if(ltype==LINES){
myGLCD.setBackColor(0, 0, 0);
for(i=10; i<469; i=i+10){
myGLCD.drawLine(cx(i), cy(intY),cx(i+3), cy(intY));
}
}
sysString=String(ypos);
myGLCD.print(sysString, 15, cy(intY+9));
ypos = ypos + dy;
}
}

void setup_graph_screen(){
myGLCD.clrScr();
myGLCD.setColor(255, 0, 0);
myGLCD.print(”* Temperature logger V1.0 *”, 30, 20);
// Draw a background
myGLCD.setColor(255, 0, 0);
myGLCD.fillRect(0, 0, 479, 13);
myGLCD.setColor(64, 64, 64);
myGLCD.fillRect(0, 306, 479, 319);
myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(255, 0, 0);
draw_axisX();
ticX(60);
draw_axisY();
ticY(ytic,LINES);
}

void plot_point(int x, float flY, int symb){
int y;
//Serial.print(”Initial float Y=”);
//Serial.println(flY);
y = cnvYfloatToInt(flY);
//Serial.print(”Converted intY=”);
//Serial.println(y);
switch(symb){
case CIRCLE: myGLCD.drawCircle(cx(x), cy(y), CIRCLE_SIZ);
break;
}
}
#endif

void store_data_SD(){
if(SDstop==true) return;
File wrf=SD.open(”tdata.txt”,FILE_WRITE);
wrf.print(t-tOffs);
wrf.print(”,”);
wrf.print(counter);
wrf.print(”, T , ”);
wrf.print(mySensor1.temperature);
wrf.print(”, h , ”);
wrf.println(mySensor1.humidity);
wrf.close();
}

// ********************************************************************************************
// MAIN PROGRAM
// We run, very roughly one loop per second.
// Notice that variables defined within the loop are local to loop() and they
// are initialized when a new loop starts. To preserve data between loops variables have
// to be declared outside the loop().
// ********************************************************************************************

void loop() {
// ******************************************************
// Main loop for actual work
// ******************************************************
ck_serial();

if (counter==0){
#ifdef HAVESCREEN
setup_graph_screen();
#endif
counter=1;
}
shortcnt–;
if((shortcnt<=0) & isRunning==true){
mySensor1.read(); // Read Temperature and Humidity sensor #1
t = millis()/1000; // Seconds since start
Serial.print(t-tOffs);
Serial.print(” , ”);
Serial.print(counter);
Serial.print(” , T , ”);
Serial.print(mySensor1.temperature);
Serial.print(” ,h, ”);
Serial.println(mySensor1.humidity);
BTSerial.print(t-tOffs);
BTSerial.print(”,”);
BTSerial.print(counter);
BTSerial.print(” , T , ”);
BTSerial.print(mySensor1.temperature);
BTSerial.print(” , h , ”);
BTSerial.println(mySensor1.humidity);
shortcnt = reportinterval;
#ifdef HAVESCREEN
plot_point(counter,mySensor1.temperature,CIRCLE);
#endif
store_data_SD();
counter++;
}

delay(100);
}

Världens största blåsning någonsin

17/12/2018

Det är ett välkänt faktum att det är mycket olönsamt att råna en bank. Det finns inte längre några pengar i en vanlig bank och de pengar som finns eller som transporteras mellan företag och kund är väl skyddade.

Dagens gangsters är väl skolade och de är inte intresserade av småsummor. Vad är väl bättre än att formelt lagligt töma världens skattebetalares (läs medelklassens) fickor och flytta över pengarna i dagens superrikas fickor. Hur görs detta?

För att få vara med om den stora fördelningsfesten måste man ha ett bra startkapital. Man påverkar världens beslutsfattare (önskade beslut fås alltid till stånd om priset är det rätta) till att skapa en överföringsautomat som garanterar investeraren en riskfri inkomst … de verkliga kostnaderna dras från statssubsidier d.v.s. skattebetalaren betalar kalaset.

Jag tänker naturligtvis på den globala klimathysterin och satsningen på samhällsförstörande s.k. hållbar energi. Det stora problemet med den synliga delen av den hållbara energin d.v.s. vindkraft och solkraft är att den är destruktiv för världens energisystem. De här energikällorna behandlas inte likvärdigt med andra energikällor bl.a. genom att de har förtur till nätet d.v.s. de kan alltid sälja den energi som de producerar även om detta betyder att man tvingar t.e.x. konventionella kraftverk att gå på tomgång med dålig verkningsgrad. Då det blåser mycket kan det bli en katastrofal överproduktion som måste dumpas utanför producentens gränser eftersom energin inte kan lagras ekonomiskt.

Satsningen på vind/sol har kostat bortåt 1 miljard dollar per dag sedan 2011. Satsningen har inte gett några CO2 inbesparingar (se t.ex. på Tyskland) men satsningarna har kraftigt höjt energipriset i länder med en stor andel förnybar energi av denna typ. Investeringarna i förnybar energi har sedan 2011 kostat grovt taget 2200 miljarder dollar som till betydande del har flyttats över i superrikas fickor genom garantipriser, garantiproduktion och garanterad inkomst.

RenewableInvestment1-768x419_2011_2017.png

Vad kunde 2200 miljarder dollar användas till

Summan 2200 miljarder är ofattbart stor. Antag att vi anställer en miljon människor till att räkna igenom en hög med 2200 miljarder mynt och antar att varje räknare kan räkna och bokföra en slant per sekund. Hur lång tid behövs det för denna miljon räknare att ta sig igenom hela högen?

Svar: Ungefär fyra månader för en miljon arbetare om man antar 8 timmars dagar utan pauser.

Ovanstående satsning 2 200 000 000 000 dollar motsvarar sett ur en annan synvilkel ungeför 50 000 000 årsverken med finsk medellön.

Vad kunde man ha fått till stånd med dessa pengar?

Brunnar i Afrika

Det finns ett stort behov av brunnar i Afrika. Att borra en brunn kostar 1000 – 1500 dollar/brunn med lokal teknologi. Vi kunde finansiera 1.4 miljarder brunnar för den summa vi har förslösat på fantasier. Vi kunde alltså ha bygga bort hela brunnsbristen för en liten del av summan.

Avsaltning av havsvatten

På platser där det inte finns grundvatten behöver vi producera vatten på annat sätt. T.ex. vid afrikas horn så finns det havsvatten att tillgå. Vad skulle byggandet av avsaltningssystem kosta i detta område? Befolkningen i området uppgår till 48 miljoner och vi antar att vi vill producera 100 liter vatten per person och dag för t.ex. tio procent av befolkningen. Notera att det finns fungerande vattentillgångar idag. Vad skulle en avsaltningsanläggning (anläggningar) kosta?

Isarael har byggt avsaltningsanläggningar som idag tillåter landet att exportera vatten till grannländerna.  Priset på en anläggning som avsaltar 125 liter vatten per person  för fem miljoner invånare kostar ca. 500 miljoner dollar och priset per kubikmeter är idag ca. 58 cent. Vi får en bättre bild av priset om vi jämför priset med t.ex. amerikanska F35 jaktplan. Priset för att bygga bort vattenbristen i området motsvarar ungefär 5 st jetjaktplan. Till detta bör naturligtvis läggas distribueringssystem. Vi kunde för de bortkastade klimatpengarna bygga fyratusen motsvarande system. Pengar skulle således finnas för även andra ändamål.

Utbildning av världens befolkning

Ett annat sätt att titta på summan är att se vad utbildning kostar. Man har uppskattat att det kostar ungefär 1.25 dollar per barn och dag att utbilda barn till den nivå man strävar mot (FN). Summan 2 200 000 000 000 dollar skulle räcka till för nästan 5 miljarder utbildningsår d.v.s. man kunde på kort tid bygga upp utbildning för alla världens barn … om det skulle finnas intresse för detta.

Vad har det kostat per kapita

Vi har blivit rånade på ungefär 600 dollar för varje man, kvinna och barn på det här jordklotet med ett resultat som ur klimatsynvinkel är fullständigt omätbart. Pengarna används idag av världens jetset till privata flygplan, ett antal hus vid havsstränder (Al Gore) etc. Däremot förväntas betalarna d.v.s. världens medelklass skära ner på sin konsumtion .

Jag kan personligen leva trots en stöld på 600 dollar. Situationen är dock mycket värre för världens fattiga som enligt världsbankens definition lever på 1.9 dollar per dag. För dessa människor betyder det att de har blivit bestulna på 88% av sin årsinkomst. Ökade kostnader slår alltid hårdast mot de fattiga. För de superrika spelar det ingen roll om t.ex. bensinpriset stiger tiofalt … peanuts!

Hmmm!

 

 

 

 

 

 

UHI (Urban heat Island)

15/12/2018

Man har i debatten om den katastrofala globala uppvärmningen, som sedan blev klimatförändringen då väldigt lite synligt inträffade :), också diskuterat inverkan från mänsklig uppvärmning av mätstationerna. Det är lätt att förstå resonemanget bakom UHI d.v.s. värmenedsmutsning av mätstationerna. Om en station då den byggs placeras i orörd natur men där det senare byggs en stad kring mätstationen så verkar det naturligt att uppvärmning av hus, trafik etc. bör värma omgivningen kring termometern som således bör visa en för hög temperatur jämfört med en tvillingtermometer som antas ha placerats ut på en motsvarande plats men som besparats från kringliggande bebyggelse.

Det är självklart att en viss uppvärmning bör gå att observera. Att mäta hur stort UHI felet är, är däremot mycket svårt eftersom felet är beroende av vindriktning, vindstyrka, den omgivande bebyggelsens typ etc. I allmänhet försöker man uppskatta UHI felet som funktion av t.ex. den närliggande stadens storlek jämfört med någon möjligast ostörd station inom några tiotals kilometer från den värmenedsmittade stationen. Notera att om det finns stora vattenytor i närheten av en termometer så kommer vattnet att påverka temperaturen nära stranden. Inverkan från havet går antagligen att se i figuren nedan.

En enkel mätning av UHI i Helsingfors

Jag satte ihop en enkel datalogger baserad på en Arduino Mega 2560 processor. Till processorn anslöt jag ett SD-minneskort och realtidsklocka (RTC).  Programmet skrevs så att data insamlas med ca. en minuts mellanrum under hela experimentet. För varje mätning loggades tid, temperatur och luftfuktighet.

En termometer av typen AM2302 som mäter luftfuktighet och temperatur anslöts till Arduinoprocessorn. Uppgifter på nätet och de angivna tekniska data säger att termometerns precision ligger på ca. +/-0.5 grader, repeterbarheten är ca.  +/- 0.3 grader. Sensord upplösning d.v.s. den minsta skillnaden mellan två mätvärden är 0.1 ⁰C respektive 0.1 % relativ leftfuktighet. I ett ostört slutet rum ligger brusnivån klart under dessa värden. Okalibrerad så är sensorns absoluta noggrannhet antagligen på ovan angivna +/- 0.5 C medan däremot relativa förändringar går att avläsa med bättre precision.

Loggningen startades då jag körde iväg från Mankholmsvägen på Sommarö i Esbo mot Herlsingfors. Avståndet från Mankholmsvägen till Helsingfors absoluta centrum är ca. 25 km (kortare fågelvägen, se bild). Starten gick kl. 21.18. Vindriktningen var enligt meteorologen ungefär 60 grader och vindhastigheten var 3 m/s.

De första mätvärdena är antagligen något för höga eftersom jag inte väntade på att sensorn skulle svalna innan jag startade. Sensorn är liten till formatet och den har en liten termisk massa.  De sista mätvärdena är antagligen representativa också för starten. Sensorn mätte temperaturen ca. 5 cm upp från biltaket  så att sensorkablen som är relativt styv samtidigt fungerade som kort mast.

Rutten ses i bild ett.

UHI_rutt.png

Temperaturmätning över hela den körda sträckan gav följande resultat:

UHI_measured

Avståndet mellan mätningarna är ungefär en minut. Exakt tid har loggats men den är ointressant. Vid start från Mankholmsvägen torde temperaturen ha varit ungefär -3.5 grader. Jag lät inte termometerns temperatur stabiliseras innan start vilket betyder att den var något varm vid starten. Kurvan visar avvikelse från hela körningens medelvärde d.v.s. en temperaturanomali. . Hela körningens medeltemperatur var -3.92 grader C. Färden går först mot nordväst (Sökö) och kallast är det vid Sököviken. Sököviken är en förort med uppskattningsvis 15 000 invånare.

Färden går nu mot Helsingfors på motorväg och temperaturen stiger jämnt. Vid mätning nummer 23 har vi nått Gräsviken där motorvägen tar slut. Vid mätning nummer 27 har vi nått Helsingfors absoluta centrum med våningshus på alla sidor (Järnvägsstationen, det man i Sverige skulle kalla centralen). Temperaturen har nått ett toppvärde.

Förden går vidare längs Kajsaniemigatan över ”Långa bron” mot Berghäll.  Vi passerar Kajsaniemiparkens ena sida vid mätning 35. Vid mätning 41 är vi tillbaka vid Kajsaniemi efter att ha kört tillbaka över långa bron. Jag kör nu på en liten väg runt Kajsaniemiparken i vars ungefärliga mitt Meteorologiska Institutionen har en mätstation med kontinuerliga temperaturmätdata från 1800-talet. Vid 22-tiden, då jag kör genom parken, anger stationen temperaturen till ca. -4.8 grader (min mätning kanske 100 meter från stationen visar -4.3 grader vilket verkar plausibelt eftersom jag kör längs en strand).

Vid mätning nummer 44 kör jag ut från Kajsaniemiparken precis vid Järnvägsstationen d.v.s. jäg är igen vid stadens absoluta centrum och temperaturen stiger snabbt.

Vid mätning nummer 50 är jag tillbaka vid Gräsviken nära uppfarten till motorvägen ”Västerleden”. Vid mätning 63 är jag tillbaka  vid Esboviken och färden gär därefter vidare tillbaka ut mot skärgården. Vid mätning 72 har jag parkerat och stängt av loggningen.

Editering 16.12.2018:

Nedan visas luftfuktigheten under körningen. Här gäller igen att jag borde ha låtit sensorn stabiliseras under någon timme innan körningen. De första mätvärdena borde vara sannolikt betydligt högre. Fuktighetsmätningen tyder på att UHI temperaturmätningen är realistisk eftersom varm luft kan innehålla mera fuktighet. Om luftens absoluta mängd vattenånga antas vara konstant så bör en högre temperatur ses som lägre relativ luftfuktighet vilket också är fallet här.  Luftfuktighetsmätningen visar att temperaturstegringen i centreala Helsingfors är verklig och inte endast en följd av t.ex. varierende körhastighet och värmeläckage från vilen till sensorn.

Notera att jag visar luftfuktigheten i relation till mätseriens medeltal d.v.s. luftfuktighetsanomalin. Den relativa luftfuktigheten var under körningen i medeltal ungerfär 73% relativ luftfuktighet.

UHI20181215_humidity

Jag har planerat att skriva ut en hållare för två stycken sensorer, en på avståndet 5 cm från bilens tak och den andra på 10 cm avstånd från biltaket. Användning av dubbel sensor bör visa hur stort felet (UHI störning) från min egen bil är.

Slutsatser

Egentligen kan inga slutsatser ännu dras. Vindriktningen var sådan att det ligger stora bostadsområden i riktning ONO. Det är egentligen förvånande att det gick att se något som sannolikt kan vara UHI. En första gissning är att UHI ligger på kanske en halv grad (0.5 grader C) under dagens förhållanden.

Vidare planer

Jag planerar att göra samma körning vid trafiksvag tid vid olika vindriktningar för att få en bild av hur vädersituationen inverkar. Jag har också planer på att köra ner till Porkala udd som ligger västerut från Helsingfors (som också ligger på en udde). Tanken är att se hur havet inverkar på temperaturen då Porkala är mycket glest bebyggt. En kombinerad körning till både Helsingfors och Porkala under samma kväll (2-3 timmar) kunde vara en intressant jämförelse.


Pointman's

A lagrange point in life

THE HOCKEY SCHTICK

Lars Silén: Reflex och Spegling

NoTricksZone

Lars Silén: Reflex och Spegling

Big Picture News, Informed Analysis

This blog is written by Canadian journalist Donna Laframboise. Posts appear Monday & Wednesday.

JoNova

Lars Silén: Reflex och Spegling

Climate Audit

by Steve McIntyre

Musings from the Chiefio

Techno bits and mind pleasers

Bishop Hill

Lars Silén: Reflex och Spegling

Watts Up With That?

The world's most viewed site on global warming and climate change

TED Blog

The TED Blog shares interesting news about TED, TED Talks video, the TED Prize and more.

Larsil2009's Blog

Lars Silén: Reflex och Spegling

%d bloggare gillar detta: