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

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.

Havens uppvärmning stigande havsyta

27/11/2018

Det här är ett försök att uppskatta hur stor den termiska havsytehöjningen är utgående från kända bakgrundsdata. Kontakta mig gärna om du hittar grova felaktigheter. Notera att det här är en överslagsberäkning (back on the envelope). Vi är intresserade av storleksordningen.

Världshaven är jordklotets värmeregulator eftersom 70% av jordens yta är hav. Världshavens vämekapacitet är många hundra gånger större än atmosfärens värmekapacitet.

Världshaven är intressanta genom att temperaturprofilen botten –  yta är precis tvärtemot vad man intuitivt skulle vänta sig. Världshavens bottenskikt är kallare än ytan vilket är en följd av att vattnets täthet (vikt per kubikmeter) minskar då temperaturen sjunker mot +4 grader för att därefter börja öka igen. Den här egenskapen hos vatten är orsaken till att planeten inte är i huvudsak en isklump med ett tunt lager ytvatten nära ekvatorn.

Vattnets täthetsförändring som funktion av temperaturen skapar en effektiv mekanism för värmetransport från tropikerna till polerna. Varmt vatten transporteras på ytan mot polerna. Då havsis bildas vid polarområdena sjunker kallt och saltrikt vatten ner mot havsdjupen och rinner tillbaka mot tropikerna längs havets botten.

Haven har en annan mycket effektiv värmeregulator som leder till att havsytans temperatur vid tropikerna ytterst sällan går över ca. 28 – 30 grader C. Då det tropiska havet värms kommer avdunstningen från havsytan att öka och stora mängder vatten förs upp i atmosfären som ånga varvid det bildas moln som reflekterar bort solljus till rymden.  Vattenångan är samtidigt en extremt god värmetransportör som effektivt transporterar värme från ytan till ca. 10 km höjd där värmen strålar ut i rymden.

De två värmeregulatorerna ovan aranterar att hvsytans temperatur vid nordliga breddgrader sällan går mycket under 0 grader C eftersom det bildas ett isolerande isskikt vid lägre temperaturer och tropiska hav värms inte över 28-30 grader C eftersom det ger upphov till kylande åska på eftermiddagarn. Om mera värme strålar in till tropiska hav så leder detta till att eftermiddagens åskväder förskjuts en aning mot en tidigare tidpunkt på dagen och havsytans temperatur ändras mycket lite.

Kontroll av havens temperaturtrend

Det finns många sätt att kontrollera havens temperaturtrend. Den skenbart enklaste metoden är extremt svår i praktiken d.v.s. att mäta temperaturen på olika djup i havet och beräkna trender för hela havet. Problemet är att havets medeldjup är ca. 3500 meter och det finns helt enkelt inte ännu tillräckligt mycket pålitliga mätningar för att man skall kunna få fram en pålitlig trend. Försök görs hela tiden (en artikel i The Guardian) .

Något om hur extremt små/stora tal noteras inom naturvetenskaperna:

Vattnets temperaturutvidgningskoefficient (längd) är ungefär 0.0000293 per grad C. Det är väldigt jobbigt att skriva ner ett stort antal nollor före ett tal eller många nollor efter ett tal. Man har av denna orsak förenklat saken så att man anger de signifikanta siffrorna som ett decimaltal t.ex. ovan 2.93 och sedan anger man hur många nollor man skall sätta före eller efter detta tal för att få fram det ursprungliga talet. I ovanstående fall blir utvidgningskoefficienten:

0.0000293 = 2.93/100000 = 2.93/(10*10*10*10*10) = 2.93/10⁵ = 2.93*10⁻⁵ = 2.93E-5

På motsvarande sätt kan vi kompakt uttrycka världshavens totala (uppskattade) vikt:

1.37E21 kg vilket kan skrivas som:

1.37*10²¹ kg vilket blir:

1.37*10*10*10*10*10*10*10*10*10*10*10*10*10*10*10*10*10*10*10*10*10

1.37* 1 000 000 000 000 000 000 000 kg vilket alltså blir:

1370000000000000000000 kg

Multiplikation/division  av stora tal blir enkla:

121000000*3140000 = 1.21*3.14*10⁸*10⁶= 1.21E8*3.14E6 = 1.21*3.14E(8+6) = 3.79E14

Antalet nollor får vi genom att addera exponenterna d.v.s. indexen över 10 eller talen efter E.

 

Egenskaper hos vatten

Vatten är ett rätt komplicerat ämne vad gäller expansion. Vid 10 ⁰C är utvidgningen ungefär 2.93E-5 per ⁰C. Då temperaturen sjunker så sjunker också expansionskoefficienten för att vid 4 grader C ligga på noll och därefter börjar vattnet igen att utvidga sig.  Största delen av havet har en temperatur nära 4 grader C d.v.s. expansionen är mycket liten inom detta intervall.

Vi kan göra en enkel mycket konservativ (d.v.s. den överdriver den termiska expansionen) överslagsberäkning av hur mycket havsytan stiger till följd av stigande temperatur. En grov överdrift fås t.ex. genom att anta att havets nuvarande temperatur skulle vara +10 grader C. Frågan blir då hur mycket havsytan stiger för varje grad temperaturen ökar.

dh = h*dT*a

dh = havsytehöjning i meter

h   = havets medeldjup 3500 meter

dT = temperaturstegringen i grader celsius eller Kelvin.

a   = längdutvidgningskoefficient vid +10 ⁰C = 2.93E-5/⁰C

Då vi lägger in talvärden får vi:

dh = 3500m*1⁰C*2.93E-5/⁰C = 0.1 m

Vi ser att den termiska expansionen är helt försumbar för alla förväntade havstemperaturer. Den lilla årliga stegringen 2-3 mm/år  vilket motsvarar ca. 20 cm på hundra år skulle kräva att hela havets medeltemperatur skulle stiga med 0.66 grader på hundra år. Vi ligger lång från den nivån.

Uppskattning av hur mycket havet värms idag

Man har grovt uppskattat att det i haven lagras en energimäng på ungefär 8.5E21 J/år.Mängden låter, och är, ofantlig. Frågan blir då hur mycket hela havet värms upp per år om trenden fortsätter under en lång tid framår.

Vi vet att världshavens totala massa är ungefär 1.37E21 kg.

Imbalans i havens energi-innehåll är ungefär33E22 J på 30 år. Ur detta kan vi då vi känner havets massa beräkna temperaturstegringen då vi vet att värmekapaciteten hos vatten är 4.18 J/g⁰C. Temperaturstegringen per år blir då ungefär:

dT = /33E22J/30år)/(1.37E24g*4.18J/g⁰C) = 0.00192 ⁰C/år

Min personliga åsikt är att uppskattningen är grovt i överkant eftersom haven värms uppifrån och stigande yttemperatur leder till ökande avdunstning och snabbare värmeförlust via konvektion till rymden. Vattentemperaturen under ca. 1000 m djup ligger mycket nära fyra grader d.v.s. utvidgningskoefficienten är mycket nära noll. Detta betyder att nedanstående beräkning överskattar den verkliga havsytehöjningen ca. 3 ggr.

Vi kan nu beräkna hur mycket havsytan stiger till följd av termisk utvidgning av havsvattnet som långsamt blir varmare.

dh = 3500m*0.00192⁰C/år*2.93E-5/⁰C = 1.98E-4 m/år = 0.2 mm/år

Korrektion för att två tredjedelar av havsdjupen har en längdutvidgningskoefficient mycket nära noll ger då:

dh = 0.3*0.2 mm/år = 0.06mm/år vilket torde ligga långt under vad vi idag kan mäta.

Är det här faktiskt något det lönar sig att vara orolig över 6 – 20 mm på hundra år? Det korrekta värdet torde ligga betydligt närmare 6 mm/århundrade än 20 mm/århundrade.

Osäkerheten i uppskattningarna gällande stigande havsyta ligger på uppskattningsvis 1.5 mm/år vilket är ungefär 25 gg större än den ovan uppskattade termiska havsytehöjningen.

 

Rötmånadshistorier ”Fake News” i Hbl sommaren 2018

11/09/2018

Den här artikeln är en något utvidgad variant av ett debattinlägg till en finlandssvenska huvudtidningen Huvudstadsbladet. Inlägget refuserades vilket jag antar beror på att det ingår konkret kritik mot tidningen och ett konstaterande att det Hbl skrivit är att betrakta som ”Fake News”. Den största skillnaden mellan den här artikeln och debattartikeln till Hbl är att jag kan använda illustrationer på vebben vilket inte är möjligt i Hbl. 

Hbl:s ”Fake News” marknadsfördes så här:

Fig. 1.  Hbl:s ”Fake News”.

Vi har under rötmånadstiden nästan dagligen kunnat följa med klimatnyheter i Hbl med rafflande rubriker. Sommarens varma sköna väder har gjorts till något vi borde vara rädda för eller hellre skämmas över. Skall jag som läsare tro på Meteorologiska institutets chef Juhani Damski och på att Hbl vet vad de talar om eller skall jag uppfatta skriverierna som dagens populära ”Fake News”?

Hbl konstaterar lördagen den 18.8 att temperaturen mellan 1880 och 2010 har sigit med 0,85 grader och att temperaturen i Finland stigit ännu mera vilket i sig sannolikt stämmer.

Fig. 2.  Bredden på det horisontella strecket tvärs över termometern motsvarar över hundra års temperaturstegring.

Bildens källa:”https://4k4oijnpiu3l4c3h-zippykid.netdna-ssl.com/wp-content/uploads/2018/08/Context2-220×126.png&#8221;

Enligt IPCC (*) kan mänsklig inverkan på temperaturen inte urskiljas över de normala variationerna före ungefär 1950. Efter ca. 1975 uppfattar IPCC att merparten d.v.s. över 50% är mänsklig inverkan. Temperaturen i världen, enligt Hbl, har stigit med ca. 0,6 grader C sedan 1975. Ca. 50% av detta är mänsklig uppvärmning d.v.s. 0,3…0,4 grader som vi alltså teoretiskt eventuellt kunde göra något åt. Finns det någon som helst orsak att kasta miljarder och åter miljarder på en petitess av den storleksordningen då landets temperatur varierar +/-30 grader varje år?

Meteorologiska Institutet har en vebbsida (**) som visar temperaturtrenden i två välskötta Finska meteorologiska stationer Sodankylä och Kaisaniemi i centrum av Helsingfors. Sodankylä, en ostörd station på landsbygden, har en temperaturtrend över perioden 1908 – 2017 på ca. 1,25 grader per århundrade av vilket igen kanske en fjärdedel eventuellt är mänsklig påverkan om vi antar att IPCC:s gissning att en mänsklig påverkan kan börja urskiljas ca. 1950 stämmer.

Det är intressant att notera att årsvariationerna i medeltemperaturen är så stora att alla årsmedeltal utom några extremt låga temperaturer i början av 1900-talet ryms inom gränserna två standardavvikelser d.v.s. hela mätserien ryms med god sannolikhet inom ramen för naturlig variation. Skrämmande? Absolut eftersom våra politiker kastar miljarder på något som inte är mätbart med en konventionell utetermometer och en temperaturstegring som inte går att urskilja med hjälp av våra egna sinnen. Det är också skrämmande att en tidigare pålitlig nyhetskälla (Hbl)  tydligen inte längre går att lita på.

Fig 3.  Årsmedeltemperaturerna i Sodankylä sedan 1935.

Hbl konstaterar att havsytan har stigit med 19 cm på strax över hundra år. Uppgiften stämmer men vägt mot vinklingen i fig. 1 är detta ”Fake News”. Hur påverkar detta oss? Skall vi fortfarande tro på Hbl:s uppgifter från 1990 talet då Hbl talade om att havsytan kunde stiga till andra våningen i statsrådsborgen? Varför ser vi inte idag permantenta murar med sandsäckar på Salutorget?

Svaret är naturligtvis att havsytan har stigit med ungefär 15-20 cm/århundrade i århundraden. Man kan inte se någon acceleration i havsytans höjning d.v.s. vi ser ingen förändring alls under de senaste århundradena för vilka det finns mätningar. Hbl beskriver detta som att ”Klimatkrisen är här”.  Var är krisen då ingenting går att se? Uppgiften som sådan är sann men den marknadsförs som katastrofal vilket är Hbl:s ”Fake News”.

Fig. 4.  Havsytans nivå  Helsingfors sedan 1880. Trenden är att havsytan idag sjunker med 22 cm per århundrade. Påståendet att det skulle finnas stora risker för översvämningar till följd av stigande havsytenivå i Helsingfors där havsytan sjunker är ”Fake News”.

Vår landhöjning mäts i förhållande till världshavens yta vilket betyder att vi de fakto inte ser någon förändring alls, landhöjningen fortsätter i stort sett i samma takt som förut. Den intressanta frågan är dock varför Hbl lyfter fram den stigande havsytan med ”Klimatkrisen är här” havsytan har stigit med 19 cm. Är tanken månne att man försöker visa att det inte heller här finns någon katastrof på lur … eller är det fråga om ”Fake News” där man använder människors brist på kunskaper till att göra läsarna rädda för en ”stigande havsyta” som hos oss fortsätter att sjunka? En stigande världshavsyta som har stigit sedan slutet på istiden och sällan så långsamt som nu.

För att havsytan skulle stiga en meter i Helsingfors under de närmaste åttiotvå åren (dvs. till år 2100) måste vi med början från idag se en havsytehöjning i världshaven på (1000 + 0.82*220)/82 mm/år= 14.4 mm/år (notera att jag har använt NOAA:s värde för stegringen i havsytan som är större än Hbl:s värde vid beräkningen). Vi skulle då i södra finland kunna se havsytan stiga märkbart på en generation … ingenting går att se. Inte ens i Österbotten är havsytans nivåförändring så snabb … men där sjunker havsytan nästan så snabbt och om trenden i fig 4 fortsätter så måste man nog fortsättningsvis varje generation flytta bryggor i österbotten eftersom havet drar sig tillbaka  (notera att havsytan sjunker med ca 10 mm/år i österbotten).

(*)   AR4 WG1 SPM fig 4.

(**) FMI: http://ilmatieteenlaitos.fi/vuositilastot

Global uppvärmning klimatkänslighet och havsytans nivå

30/10/2017

Bakgrund

Vi har under de senaste årtiondena sett en lång rad av domedagsprofetior . Den idag populära varianten är att jorden till följd av ökande koldioxidhalt i atmosfären går mot en snar värmekatastrof som kommer att lägga världens kustområden under vatten och leda till ett okänt antal döda i värmeslag.

Den här artikeln är en fortsättning på en diskussion på FaceBook som startade från en länk till klimatupplysningen.se:
http://www.klimatupplysningen.se/2017/10/19/forskarna-tonar-ned-koldioxidens-betydelse-klimatforandringen/#.WejlNu7eGeV.facebook

I denna tråd diskuterades den såkallade klimatkänsligheten d.v.s. hur mycket jordens temperatur borde stiga vid en fördubbling av koldioxidhalten. Artikeln hänvisar till ca. 40 olika uppskattningar av klimatkänsligheten och det verkar finnas en trend mot ett relativt lågt värde. Den intressanta frågan är naturligtvis hur man skall få ett grepp om klimatkänslighetens ungefärliga storlek. Man brukar definiera klimatkänsligheten som:

dT = lamda * RF

där RF är såkallad ”forcing” som brukar ges som:

RF = 5.35*ln(co2/co2ref)

En enkel överslagsberäkning t.ex. genom att använda satellitdata från 1980 – 2017 (vi gör en överslagsberäkning, det är alltså inte kritiskt hur vi väljer intervallet). En överslagsberäkning ger resultatet:

lamda = 0.52

För en fördubbling av koldioxidhalten i atmosfären skulle det beräknade värdet på lamda ge en temperaturstegring på ungefär:

dT = 0.52*5.35*ln(co2_dubblad/co2_1980)
dT = 0.52*5.35*ln(678/339) = 1.92 C

Klimatforskaren Rahmstorf, som jag uppfattar som en alarmist, gjorde motsvarande uppskattning från förindustriell tid till vår tid och han beräknade uppvärmningen till 2.1 C.  Min uppskattning är antagligen tillräckligt god då IPCC:s uppskattning ligger mellan 1.5 och 4.5 C för en fördubbling av CO2-halten i atmosfären.
Knappast skrämmande och sannolikt på alla sätt en positiv uppvärmning då alla faktorer tas i beaktande.

Överslagsberäkningen är naturligtvis inte hela sanningen. En uppvärmning leder till att mera vatten avdunstar från världshaven vilket gör att luftfuktigheten ökar vilket i sin tur, eftersom vattenånga är en växthusgas, bör leda till en förstärkning av växthuseffekten … problemet är att vattenångan i atmosfären finns i tre olika former (aggregationstillstånd) gas (vilket förstärker växthuseffekten), som dimma d.v.s. vatten i form av små droppar (moln) samt i form av is. Vatten i form av moln eller iskristaller kommer att reflektera bort stora mängder av infallande ljus i vilket det största energiflödet från solen finns. Vi har idag inte den kunskap som behövs för att med säkerhet säga om den återkoppling vi får via vattenånga är positiv eller negativ. Om återkopplingen är negativ så kommer klimatkänsligheten att minska d.v.s. temperaturstegringen till följd av ökande koldioxidhalt blir lägre än väntat. Om återkopplingen är positiv så kommer temperaturstegringen att bli större än det beräknade värdet.

Havet som termometer

Avsikten med den här artikeln är att använda havsytans nivå som en termometer som mäter jordens temperatur genom vattnets expansion då det blir varmare.  Det är skäl att notera att uppskattningen av temperaturstegringen blir mycket grov eftersom vi helt enkelt inte har tillgång till alla data vi behöver:

  • Inverkan från avsmältning från glaciärer
  • Inverkan från användning av grundvattenreserver
  • Inverkan från invallning och torrläggning av havsområden
  • Inverkan från vattnets termiska expansion då temperaturen stiger. Det är denna punkt vi studerar nedan.

Det finns olika uppskattningar om ovanstående parametrar men en uppskattning är att den observerade havsytehöjningen beror till 1/3 av termisk expansion och resten är avsmältning och andra orsaker. Vi kan använda detta till att göra en grovuppskattning av hur mycket havet värms upp per år. Vi kan också uppskatta hur mycket energi som borde lagras i havet per år utgående från förändringen i havsnivån.

Bakgrundsdata

Havens medeldjup uppskattas till 3688 m.

Havens totalyta (70% av jordytan) är ungefär 3.60E+14 m².

Vatten värmekapacitet 4180 J/kg C

Vatten längdutvidgningskoefficient 6.9 E -5 /K

Det finns olika uppskattningar om hur snabbt världshavens yta stiger. Någon form av koncensus säger att stegringen är ca. 3 mm/år vilket jag personligen uppfattar vara taget rätt grovt i överkant eftersom detta helt skulle stoppa upp landhöjningen vid den egna stranden 0.3 m/100 år. Mätstationerna för mätning av havsnivån indikerar inte en så snabb plötslig höjning av havsytan. Ett exempel är Stockholm där man i likhet med Helsingforstrakten i Finland har landhöjning efter istiden på ungefär 0.35 m/århundrade som långsamt avtar av naturliga orsaker.

78_high

Fig. 1  Bilden visar hur havsytan långsamt ”sjunker” i Stockholm till följd av landhöjningen efter istiden. Notera också hur trenden ser helt oförändrad ut sedd över det senaste århundradet. Om vi upplever en extrem  uppvärmning till följd av ökande koldioxidhalt i atmosfären … varför kan vi inte se detta i t.ex. ovanstående bild. Trenden är densamma som den har varit i över hundra år. Notera att en kraftigt stigande havsyta borde synas som bladet på en hockeyklubba vinklat uppåt i bilden. Vi ser inget sådant.

Vi kan nu titta på hur stor uppvärmning av havet vi behöver för att få en signifikant höjning av havsytan. Havet värms uppifrån så att synligt ljus tränger ner i vattnet och sedan förvandlas till värme. Ljus tränger ner till kanske 100 m medan huvuddelen av energin absorberas i de första 30 m av ytskiktet. Vi hittar också, utgående från havens temperaturprofiler, en undre gräns vid ca. 1000 m djup där temperaturen inte i praktiken förändras utan den ligger på en konstant temperatur om ca. 4 C.

320px-annual_mean_temperature_change_for_land_and_for_ocean_nasa_gistemp_2017_october

Fig. 2  Uppskattning av världshavens yttemperatur sedan 1950 (NASA GISS).

En typisk temperaturfördelning i världshaven ges av:

m1u2-sf20fig2-520summer202620winter20temp

Fig. 3  Temperaturfördelningen i världshaven. Notera hur temperaturen når ett någorlunda konstant värde vid ca. 700 – 1000 m djup (ca. 4 grader). Kallt vatten fylls på vid polerna och detta vatten har en temperatur på ca. 4 grader C. Det sker en mycket långsam blandning av det varma ytvattnet och det kalla bottenvattnet.

Vi kan nu utnyttja temperaturprofilen till att uppskatta hur stor den årliga temperaturstegringen i världshaven måste vara för att havsytan skall stiga med ett givet värde. Temperaturprofilen visar att vi inte behöver bekymra oss om havet nedanför ca. 1000 meter eftersom temperaturen går mot ett konstant värde som bestäms av vattnets maximala densitet. Inverkan från termisk utvidgning av havsvattnet kommer alltså från ett ca. 1 km tjockt varmt ytvatten.

Längdutvidgningen i ett material ges av:

dL = alfa * dT * L

där:

alfa är längdutvidgningskoefficienten 6.9*E-5 /K.

L är det aktiva djupet uppskattat till ca. 1000 m

dT är den behövliga uppvärmingen i ytskiktet i grader C (eller K).

Vi löser dT ur formeln ovan och får då:

dT = dL/(alfa*L)

Notera att temperaturstegringen är störst i ytskiktet för att sedan falla mot det konstanta 4 grader på över 1000m djup. Resultatet är att det värde vi beräknar blir grovt i överkant eftersom ytskiktet inte uppvärms homogent. Vi ser idag uppgifter om att havsytan stiger med ca. 3 mm/år även om uppskattningarna varierar mellan ca. 1mm/år och ca. 3.5 mm/år. Ytterligare har man gjort en uppskattning att den termiska utvidgningen idag utgör ca. 1/3 av det totala värdet på höjningen av havsytan.

Om vi accepterar höjningen av havsytan 3.2 mm/år och accepterar att 2/3 av stegringen är till följd av smältande glaciärer och pumpning av grundvatten som på slutändan hamnar i haven och andra faktorer så får vi:

dL = 1.07 mm/år till följd av termisk utvidgning.

För att detta skall vara riktigt måste hela ytskiktet på 1000 m värmas upp med ungefär:

dT = 1.07E-3 m/(6.9E-5 /K * 1000m) = 0.0155 K/år

Om vi beaktar att stegringen är störst vid ytan för att linjärt gå mot 4 grader vid 1000 m djup så måste vi fördubble temperaturstegringen för att få en tillräckligt stor höjning av havsytan se bild 3 ovan. Vi får då ungefär dT = 0.03 C / år.

Vi kan jämföra detta med trenden hos havsytans temperatur (se fig. 2) som under tiden 1950 – 2017 ger en årlig temperaturstegring på ca. 0.009 grader per år. Vi ser alltså att den observerade temperaturstegringen är ungefär en tredjedel (1/3) av vad den skulle behöva vara för att vi skulle få den angivna totala havsytehöjningen på 3.2 mm/år.

Om ovanstående grova överslagsberäkning är korrekt så kan man endast dra slutsatsen att det angivna värdet för stigande havsyta sannolikt har överdrivits åtminstone  2 … 3 ggr.

Vi kan kontrollera riktigheten genom att jämföra vårt värde med ett värde man har fått från tidvattenmätare. Ett medelvärde för 11 uppskattningar ger en stegring av havsytan med ungefär 1.87 mm/år (ca. 19 cm/århundrade).  Vi bör igen använda samma uppskattning att 1/3 av detta värde är termisk utvidgning d.v.s. 0.62 mm/år. Vi kan nu kontrollera hur stor temperaturstegring det behövs för att den termiska utvidgningen skall höja havsytan med 0.62 mm/år.

dT = dL/(alfa*L)

dT = 0.62E-3m/(6.9E-5/K*1000m) = 0.009 K  (grader C)

Det är intressant att notera att detta exakt motsvarar den mätta trenden för havsytans temperatur. Vi bör dock sannolikt göra samma korrektion som tidigare  d.v.s. anta en ungefär linjär temperaturfördelning ner mot 1000 m djup och vi får då 0.018 C/år. Värdet är då ungefär dubbelt större än den observerade vilket tyder på att någon eller en kombination av nedanstående punkter kunde gälla:

  • Uppskattningen att 1/3 av stegringen i havsytans nivå är termisk utvidgning är alltför hög och ett riktigare värde skulle vara t.ex. 1/6.
  • Den uppskattade stegringen i havsytans nivå ligger i den undre kanten av uppskattningarna från kustbaserade mätare (Gomiz and Lebedeff 1987) .
  • Satellitmätningar av havsytans nivå stämmer inte överens med resultatet från konventionella havsnivåmätare (tidal gages) utan uppskattningen är nästan dubbelt större än resultatet från direkta mätningar. Satellitmätningarnas korrektioner har diskuterats rätt mycket och någon klar koncensus finns inte. Under senare år har satellituppskattningarna trimmats uppåt … är det möjligt att dessa justeringar är fel?

Jag avslutar denna artikel med att knyta tillbaka till kommentaren om klimatkänsligheten till följd av ökande koldioxid eftersom vi ovan har utnyttjat temperaturdata gällande havsytans temperatur (NASA GISS) som visar en högsta uppskattningen av temperaturstegring av alla de allmänt utnyttjade globala temperaturuppskattningarna. Min avslutningsfråga blir då:

Då 70% av jordens yta är vatten så borde vi inte då vid beräkning av klimatkänsligheten hellre använda havsytans globala temperaturanomali än mätstationer på land som störs av t.ex. värmeläckage från bebyggelse UHI (Urban Heat Island). Världshaven dominerar vädersystemen och påverkar kraftigt temperaturen på land.

Klimatkänslighet utgående från havsytans temperatur

Vi utgår från den välkända formeln för temperaturförändring till följd av stigande koldioxidhalt i atmosfären (se ovan):

dT = lamda * RF

där:

dT är temperaturstegringen till följd av ökande växthusgaser.

lamda är klimatkänslighetparametern.

RF är påverkan från växthusgaser (radiative forcing).

Vi har dessutom följande uttryck för RF:

RF = 5.35*ln(CO2/CO2_ref)

Då vi kombinerar dessa och löser lamda får vi:

lamda = dT/(5.35*ln(CO2/CO2_ref))

Vi tar världshavens uppvärmning ur figur 2 och uppskattar detta till ungefär 0.6 grader då vi noterar att svansen vid 2016-2017 sannolikt beror på en kraftig ”eEl Ninjo” d.v.s. vi gör en linjär uppskattning av temperaturen. År 1950 var CO2-halten ungefär 307 ppm och 2017 ungefär 404 ppm. Vi lägger in talvärden och beräknar lamda:

lamda = 0.6/(5.35*ln(404/307))

lamda = 0.408

Vi kan nu utnyttja det beräknade värdet på lamda för att få en uppskattning av hur mycket temperaturen skulle stiga vid en fördubbling av koldioxidhalten i atmosfären:

dT = lamda*5.35*ln(614/307)

dT = 0.408*5.35*ln(2) = 1.5 grader C

Skrämmande? Nej! Klimatkänsligheten är så låg att vad vi än gör så kommer vi att ligga under den godtyckliga politiska gränsen 2 C. Politikerna har alltså gjort en helgardering där de inte kan förlora däremot är ju klimatfrågan perfekt för att flytta över pengar i de rikas fickor på de fattigas bekostnad. Klimatfrågan är politiskt omsatt i en ny form av utvecklingsbistånd där man via Världsbanken förbjuder uländerna industrialisering och ett fungerande energisystem oftast baserat på kol med hänvisning till ett ickeproblem.

Det finns naturligtvis de som konstaterar att ovanstående beräknade värde på klimatkänsligheten inte är korrekt då uppvärmningen kommer att leda till större avdunstning och mera vattenånga i atmosfären. Vattenånga är i likhet med CO2 en växthusgas … problemet är att vattenånga förekommer i tre olika aggregationstillstånd i atmosfären nämligen vattenånga, vattendimma (moln) och iskristaller (moln). Vi kan inte ännu övertygande uppskatta om ökande molnighet ger positiv återkoppling till följd av mera växthusgas eller negativ återkoppling till följd av att mindre solljus når jordytan. Min uppfattning är att om vi inte ännu kan bestämma återkopplingens förtecken så är det bäst att utgå från det okorrigerade beräknade värdet ovan.

Källor:

  1. Havsnivåmätere (tidal gages) http://sealevel.colorado.edu/content/tide-gauge-sea-level
  2. Havsytans nivå: http://www.ioc-sealevelmonitoring.org/
  3. Stockholm : http://www.psmsl.org/data/obtaining/stations/2131.php
  4. Världshavens temperaturprofil University of Havai: https://manoa.hawaii.edu/exploringourfluidearth/physical/density-effects/ocean-temperature-profiles/compare-contrast-connect-vertical-profiles-ocean
  5. Havsytans temperatur: https://www.epa.gov/climate-indicators/climate-change-indicators-sea-surface-temperature

 

 

Ice melts when it is warm … or how did it go?

27/06/2015

In 1975 the National Academy of Sciences published the picture below that showed the temperature of the northern hemisphere. The picture shows roughly one degree of warming from 1885 to 1940 and also that essentially all warming had disappeared by 1970.

Temp_1880-1970_National_Academo_of_Sciences

The temperature of the Northern hemisphere by the National Academy of Sciences 1975.

We know it was really cold in the Nordic countries 1860 – 1870 why? This is because we know that up to 20% of the population of areas in Sweden and Finland died in famine because crops failed for several years in a row. From Sweden it is reported:

The 1860-ies was a decade when crops failed in Norrland several times. The spring 1867 was extremely cold and the summer was late. There are many reports about how the winter didn’t want to loose its grip:

On may 22 at 11:30 am it was 1 deg C cold (-1) with the wind from NE. The markers on the lake (on the ice) are still standing upright and the depth of the snow is 1 1/2 aln (roughly 85 – 90 cm). May 25: Cold wind no melting and perfectly possible to move by sled, depth of snow 1 1/4 aln. On may 24 we run on ice frozen to land and no marker had melted off. On june 1: Run on the ice in a sled, good driving. On june 17 the lake was free of ice and in the evening a strong storm arose with lots of rain. June 19: Let out the cows. Snow still in the woods, no leafs on trees, no leafs on blueberry bushes no grass. (Noted by Zakarias Wallmark in Burträsk)

The harbour in Sundsvall in the 1870-ies: Neither sailing ships or steamers were able to negotiate the ice. Not until midsummer 1867 it was possible to sow in the area of Burträsk (where Zakarias Wallmark lived) och the situation was similar in other parts of Norrland.

The temperature curve above shows that still in the middle of the 1880-ies was very cold on the northern hemisphere. The Temperature now started to rise and in the beginning of 1920-ies it was possible to read essentially the same as we read in the news papers today:

Northpole_melting 1923

There are reports that the polar ice is melting and speculations that the ice could vanish altogether. Glaciers are melting fast.

After the temperature peak in 1940 the temperature started to go down again and in the early 1970-ies the whole warming from the beginning of the century had disappeared. The news papers now wrote about the cold and the risk of a new ice age.

NY_Times_1970_ice_age

At the end of the 1970-ies the cooling stopped and the new warming become a part of the politics. Note by the way that meteorologists say that a period of at least 30 years is needed  to draw any valid conclusions regarding climate. The period cooling from the 1940-ies to 1970 is thus an indication of a possible shift from a warming climate to a cooling climate (20 – 30 years). Only ten years after the cooling ended the marketing of a warming catastrophe was started.

Why the establishment suddenly did a 180 degree turn is easy to see by reading for example what the club of Rome was discussing. In the first part of the 1970-ies the worrying population growth  was discussed based on ideas of Malthus. After WWII much psychological research had been done regarding controlling the behaviour of mobs (large groups of people) had been done. The club of Rome had, after thorough internal negotiations,  found that ”weather”, o how British, could be used as a tool for influencing the population of the west.

At the end of the 1980-ies Gro Harlem Bruntland presented the idea of ”sustainable development” and roughly at the same time James Hansen of GISS presented the risk of global warming only ten years after the cooling scare ended by intentionally selecting the statistically hottest day of the summer. Before his thesis was presented to decision makers the air conditioning was shut down to allow the politicians to really feel the heat …

The climate establishment is controlled by the WMO (World Meteorological Institute) under UN (United Nations) and most national meteorological organizations are close coupled to the WMO. A small group of people within the WMO and other top organizations in the hierarchy have been able to control who is allowed to publish and also what is allowed to be published. I recommend the interested reader to Google ”Climate Gate” in different permutations to look at e-mails from the inner circle among other things talking about eliminating the warm period of the 1930-ies … a few years later the warm period had disappeared through corrections. The same set of leaked e-mails also showed how the clique conspired to force editors in important scientific magazines not willing to follow orders to resign … this was also successful in some cases.

As briefly mentioned above the e-post messages shows how the ”task group” discussed how to eliminate the high temperatures in the 1930-ies.  The marketing of the warming couldn’t be effective if it was possible to show that only half a century ago the temperatures were as high as today. The solution was to start correcting the measurements. The corrections were made by making old temperatures colder because changing today’s temperatures upwards wasn’t feasible … too easy to see through. The corrections were done as a series of corrections over a number of years. The adjustments have now almost eliminated the warm period of the 1930-ies just what the leaked mail discussed … an interesting random chance? Are the previous adjustments really done so incompetently that new adjustments that always cool the past are needed annually or semiannually.

GISS_corrections_since_1999

An example of GISS adjustments to temperatures. In this case it is US temperatures since the latter part of the nineteenth century (1880 – 2000).

Notice how the temperature adjustments are 0.5 – 0.6 deg C which is a significant part of the total global warming since the 1880-ies. How was  the correction curve created? Very easy: The original raw data is available on the net. What is needed is simply a subtraction of the raw data from the the GISS temperature estimate. The difference is the magnitude of GISS adjustments. Any reader can check this fairly easily if he/she wants to do the effort. It could also be an interesting effort for anybody to check for example the mean temperature of one year as read from a meteorological year book in one’s own country and compare this data point against the same year as presented by GISS (you find nice web sites where GISS presents its temperature estimates). Not all stations are adjusted yet. I have personally annually checked two stations Sodankylä and Helsinki in Finland but so far there hasn’t been any major changes.

Reykjavik_before_adjustments

The temperature as measured by the Islandic Meteorological institute. According to the local Meteorologists all necessary adjustments have been applied.

The picture above clearly shows the warm period in the 1930-ies followed by a very deep cooling to roughly 1980.

Reykjavik_after_adjustments

The same meteorologic station (Reykjavik) after being massacred by GISS.

Notice how the warm period of the 1930-ies has disappeared almost completely. The Meteorological institute of Island notes:“The GHCN ”corrections” are grossly in error in the case of Reykjavik”.

The same kind of ”adjustments” can today be found all over the world. The same kind of adjustments have been done in Australia where the matter has been brought to justice … so far without results. No valid explanations for the adjustments have been given.

What have these ”Orwellian corrections” brought? One result is of course that official global temperature estimates show a steeply rising temperature curve that closely follows the meme of CO2/temperature. One funny thing few will notice is that the result of the corrections is a number of funny conflicts. The heading of this article is ”Ice melts when it is warm … or how did it go?”.  When we today compare historic reports about melting/high temperatures and cooling/freezing we will notice funny conflicts.

In the first half of the 1920-ies one could read that glaciers and the polar ice were melting fast.

In the beginning of the 1970-ies one could read that the polar ice was advancing and glaciers were starting to advance again.

GISS_global_temp_meteorological_stations

Global temperature according to GISS per june 27 2015. Compare how ”corrections have changed to form of the curve completely.

The original estimate by the National Academy of Sciences in 1975 was:

Temp_1880-1970_National_Academo_of_Sciences

Notice how adjustments almost completely erased the warm period in the 1930-ies just as requested.

How does this work logically? According to GISS , read the curve, the temperatures in the 1970-ies were higher than in the 1920-ies. We know based on news reports from the 1920-ies that there was a fast melting up til perhaps 1950. After this melting period the ice was growing again.

The corrected temperature estimates of GISS thus says according to their own curve:

Glaciers and the polar ice will melt when the global temperature is low and the melting will stop when the temperature is high.

According to GISS the global temperature in the 1920-ies was ca. 0.3 deg C lower when ice was melting fast than in the 1970-ies when it according to GISS was warm and polar ices and glaciers were advancing.

Unfortunately I don’t buy this. Either the historical reports from the 1920 – 1950 are wrong or GISS corrections are wrong. I tend to believe the historical reports especially as the raw data doesn’t show this funny conflict.

Ordinary ”peasant’s logic” tells us that ice melts when it is warm and freezes when it is cold. On the other hand I know that we live in an interesting time … perhaps George Orwell was correct!

Is smälter då det är varmt … eller?

06/06/2015

Notera!
Artikeln har uppdaterats den 28.6.2015. En kurva över den globala temperaturen efter GHCN/GISS korrektioner hade fallit bort vilket kunde ha gjort artikeln onödigt svår att förstå.

År 1975publicerade den Nationella vetenskapsakademin i USA nedanstående bild som visar temperaturen på det norra halklotet. Bilden visar ungefär en 1 grad C uppvärmning från 1885 till 1940 och också att hela uppvärmningen från 1900 till 1940 hade försvunnit ungefär år 1970.

Temp_1880-1970_National_Academo_of_Sciences

Temperaturen på norra halvklotet 1880 – 1970 presenterad av amerikanska National Academy of Sciences år 1975.

Vi vet att det var verkligt kallt i Norden på 1860 – 1870-talet eftersom upp till tjugo procent av befolkningen dog på vissa områden i svält. Från Sverige rapporteras:

1860-talet var ett årtionde då missväxten drabbade Norrland upprepade gånger. 1867 var våren extremt kall och sommaren dröjde. Många vittnesmål finns om hur vintern vägrade släppa greppet:

den 22 maj kl 11.30 på dagen var det 1 grad kallt med vinden från nordost. Stockbuskarna stå ännu stångraka på träsket och snödjupet är 1 1/2 aln.den 25 maj: Kall blåst och aldrig töat, alldeles fullt snöföre, snödjup 1 1/4 aln. Den 24 maj körde vi på landfast is och ingen stickbuske var löstinad.den 1 juni: Kört isen med gott slädföre.den 17 juni blev träsket rent från is och på aftonen blev det stark storm och mycket regn.den 19 juni: Släppt ut korna. Snö i skogen, icke löv, icke blåbärsblad och intet gräs.
Anteckningar ur väggalmanackor funna hos Burträskbon Zakarias Wallmark[1]
Sundsvalls hamn på 1870-talet. Varken segelfartyg eller ångare kunde ta sig igenom is.

Först vid midsommar 1867 kunde man så i Burträsktrakten, och liknande förhållanden rådde på många håll i Norrland.

Bilden ovan visar att det ännu i mitten av 1880-talet var mycket kallt på norra halvklotet. Temperaturen började nu stiga och i början av 1920-talet kunde man i tidningarna läsa i princip samma sak vi har kunnat läsa i vår tid:

Northpole_melting 1923

Redan 1923 undrade man över om nordpolsisarna kommer att smälta bort helt.

Efter 1940 började temperaturen på nytt att sjunka och i början av 1970-talet hade hela uppvärmningen från början av 1900-talet fram till 1940 försvunnit. Tidningarna debatterade nu kylan och risken för en kommande istid.

NY_Times_1970_ice_age

Norra halvklotet är extremt kallt. Klippet är från NY Times 1970.

I slutet av 1970-talet hade avkylningen stoppat och den nya uppvärmningen hade blivit en del av politiken. Notera att man inom meteorologin anser att det behövs en trettioårsperiod av uppvärmning/avkylning för att man skall kunna tala om klimatförändring. Endast tio år efter att den 20-åriga avkylningen hada tagit slut så började marknadsföringen av en kommande värmekatastrof. Varför man vände kappan kan man antagligen förstå då man ser vad ”etablissemanget” bl.a. Romklubben höll på med. Man hade i början av 1970-talet diskuterat den katastrofala folkökningen och utgående från Matlthus idéer den kommande befolkningskatastrofen. Efter det andra världskriget hade man forskat mycket i hur man kan styra människomassor. Romklubben hade efter interna överläggningar kommit fram till att ”vädret”, ack så brittiskt, eventuellt kunde vara den hävstång som kunde användas till att påverka västerlandets befolkning.

I slutet av 1980-talet lanserade Gro Harlem Bruntland den ”hållbara utvecklingen” och ungefär samtidigt presenterade James Hansen den globala uppvärmningen som ett extremt hot genom att på sommaren stänga av luftkonditioneringen i det rum där teserna skulle presenteras … åhörarna kunde alltså känna värmen i sitt eget skinn…

Klimatetablissemanget kontrolleras via WMO (World Meteorological Organization) onder FN och de flesta nationella meteorologiska organisationer är kopplade till WMO. En liten klick på en handfull personer inom WMO, NASA och andra centrala organisationer har rätt väl kunnat kontrollera vem som fått publicera inom det meteorologiska området och också vad som får publiceras. Epostmeddelandena från ”klimategate” d.v.s. interna meddelanden från den inre ringen visar hur man bl.a. konspirerade för att ge sparken år obekväma redaktörer på centrala vetenskapliga tidskrifter. Historien visar att man i vissa fall lyckades …

E-postmeddelandena visar också hur man för ca. 15 år sedan diskuterade hur den obekväma värmetoppen på 1930-talets slut skulle elimineras. Marknadsföringen av den katastrofala uppvärmningen kunde inte vara övertygande om man samtidigt kunde peka på en period i närhistorien då temperaturerna var lika höga som idag. Man beslöt tydligen att eliminera problemet genom att ”justera” mätta temperaturer. Justeringen gjordes så att äldre mätningar gjordes kallare eftersom höjning av dagens temperaturer skulle vara alltför enkel att genomskåda genom att själv följa med temperaturen. Justeringarna har genomförts i en serie uppskattningar av jordens temperatur där de tidigare mätta temperaturerna efter varje justeringsgeneration har blivit kallare. Justeringarna har med åren nästan helt eliminerat 1930-talets värmeperiod, precis det de läckta ”klimate gate” epostmeddelandena efterlyste … intressant slump?

GISS_corrections_since_1999

Korrektioner till temperaturen i USA sedan 1999. Notera hur korrektionerna kring 1940-minskar den obekväma temperaturtoppen i slutet av 1930-talet.

Kurvan visar alltså den officiella temperaturen minus mätta rådata.

Samma korrektioner genomförs på många ställen i världen trots protester. Temperaturen i Reykjavik som den har blivit mätt av Islands meteorologiska institut visas i följande bild.

Reykjavik_before_adjustments

De Isländska meteorologerna har mätt följande temperatur för Reykjavik. Mätningarna innehåller relevanta korrektioner för plats och använda termometrar.

Amerikanska GISS (Goddard Institute of Space Science [NASA]) korrigerar mätningarna på följande sätt:

Reykjavik_after_adjustments

Temperaturen i Reykjavik efter GISS justeringar. De Isländska meteorologerna protesterar men utan resultat.

Notera hur värmeperioden kring 1940 då temperaturerna var lika höga som idag har eliminerats. Det Meteorologiska institutet på island konstaterar: “The GHCN ”corrections” are grossly in error in the case of Reykjavik”. (GHCN korrektionerna gällande Reykjavik är grovt felaktiga).

Samma typ av justeringar hittas på allt fler ställen i hela världen. Exakt motsvarande justeringar har gjorts i t.ex. Australien där saken har förts till domstol och de lokala myndigheterna har ålaggts att korrigera felaktigheterna … dock utan resultat.

Vad har de här Orwellska ”korrigeringarna” lett till?  Ett tydligt resultat är naturligtvis att vi ser en kontinuerligt stigande temperaturkurva som följer det fastslagna manuset att en katastrofal uppvärmning är på gång. Det man inte påminns om är att justeringarna leder till rätt intressanta motsägelser. Rubriken på den här artikeln är ”Is smälter då det är varmt … eller?”. Då vi jämför historiska rapporter om smältning/värme och tillfrysning/kyla inom polarområdet så dyker det upp roande konflikter.

Vi repeterar Nationella Vetenskapsakademins kurva från 1975:
Temp_1880-1970_National_Academo_of_Sciences

Och jämför ovanstående med GHCN/GISS korrigerade kurva som i politiska sammanhang anses vara sanning:
GISS_global_temp_meteorological_stations

I början av 1920-talet kunde man i tidningarna läsa om hur glaciärer smälter i snabb takt.

I början av 1970-talet kunde man läsa om hur isarna i norr lade sig på nytt och glaciärernas smältning hade stoppats.

Hur fungerar det här logiskt. Enligt de moderna korrigerade temperaturuppskattningarna var temperaturen på 1970-talet högre än i början av 1920-talet (jämför GISS korrigerade kurva ”Global Temperature meteorological stations”). Vi vet enligt nyhetsrapporter att vi hade en kraftig avsmältning från 1920 fram till en bit in på 1940-talet varefter isarna igen började breda ut sig. De korrigerade temperaturuppskattningarna säger alltså:

Glaciärer och is smälter då det är kallt och smältningen upphör då det är varmt.

Beklagligtvis köper jag inte det här. Antingen är alla dokumenterbara rapporter om värmeperioden 1920 – 1940 felaktiga eller så är dagens klimatkorrektioner grovt felaktiga.

Normalt bondförnuft säger att is smälter då det är varmt och vatten fryser då det är kallt … men det kan naturligtvis hända att George Orwell hade rätt!


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: