#!/usr/bin/python3 from __future__ import print_function # requires python 2.6 or later (2.7 or later preferred) # A little program to try to calculate the CO2 levels in the three scenarios # of Hansen et al (1988). by Dave Burton www.sealevel.info # TLIB Version Control keywords: #--=>keyflag<=-- "&(#) %n, version %v, %d " version_num = "&(#) Hansen1988co2.py, version 4, 25-Jul-17 " # Here's the paper (badly OCR'd): # http://sealevel.info/hansen1988.pdf # There's a clean abstract here: # https://pubs.giss.nasa.gov/abs/ha02700w.html # Here's the WUWT article, the discussion of which prompted me to write this: # https://wattsupwiththat.com/ 2017/07/22/autopsy-of-an-excuse/ # Steve McIntyre wrote about it a decade ago, here: # 1. https://climateaudit.org/2008/01/16/thoughts-on-hansen-et-al-1988/ # 2. https://climateaudit.org/2008/01/17/hansen-scenarios-a-and-b/ # 3. https://climateaudit.org/2008/01/17/hansen-ghg-concentration-projections/ <-- McIntyre describes what Hansen did # 4. https://climateaudit.org/2008/01/18/hansen-scenarios-a-and-b-revised/ # 5. https://climateaudit.org/2008/01/21/radiative-forcing-1/ # 6. https://climateaudit.org/2008/01/24/hansen-1988-details-of-forcing-projections/ # 7. https://climateaudit.org/2008/01/18/publishing-nasa-data-at-realclimate/ # and his script is here: # http://web.archive.org/web/20080130162653/https://climateaudit.org/scripts/hansen/collation.hansen_ghg.txt # and his collection of data files is here: # http://www.climateaudit.info/data/hansen/ # Hansen's GHG concentration numbers were eventually archived on RealClimate, here: # http://www.realclimate.org/data/H88_scenarios.dat # and discussed briefly here: # https://data.giss.nasa.gov/modelforce/ # His calculated "forcings" are listed here: # https://data.giss.nasa.gov/modelforce/Fe_H88_scenarios.txt # A graph of actual CO2 emission can be found here: # https://www.epa.gov/ghgemissions/global-greenhouse-gas-emissions-data#Trends # The data source for that graph (actual CO2 emission data) is here: # http://cdiac.ornl.gov/ftp/ndp030/global.1751_2014.ems # A vicious attempt by Dana Nuccitelli to defend Hansen's 1988 paper by attacking Patrick Michaels is here: # https://skepticalscience.com/Hansen-1988-prediction-advanced.htm # Here's Pat Michaels' response: # https://wattsupwiththat.com/2012/01/17/a-response-to-skeptical-sciences-patrick-michaels-serial-deleter-of-inconvenient-data/ # A more reasonable defense of Hansen's paper by Nick Stokes is here: # https://moyhu.blogspot.com.au/2016/12/hansens-1988-scenarios-and-outcome.html # Here's a table of actual, measured CO2 concentration levels, copied from here: # ftp://aftp.cmdl.noaa.gov/products/trends/co2/co2_annmean_mlo.txt measured_co2 = { 1959: 315.97, 1960: 316.91, 1961: 317.64, 1962: 318.45, 1963: 318.99, 1964: 319.62, 1965: 320.04, 1966: 321.38, 1967: 322.16, 1968: 323.04, 1969: 324.62, 1970: 325.68, 1971: 326.32, 1972: 327.45, 1973: 329.68, 1974: 330.18, 1975: 331.11, 1976: 332.04, 1977: 333.83, 1978: 335.40, 1979: 336.84, 1980: 338.75, 1981: 340.11, 1982: 341.45, 1983: 343.05, 1984: 344.65, 1985: 346.12, 1986: 347.42, 1987: 349.19, 1988: 351.57, 1989: 353.12, 1990: 354.39, 1991: 355.61, 1992: 356.45, 1993: 357.10, 1994: 358.83, 1995: 360.82, 1996: 362.61, 1997: 363.73, 1998: 366.70, 1999: 368.38, 2000: 369.55, 2001: 371.14, 2002: 373.28, 2003: 375.80, 2004: 377.52, 2005: 379.80, 2006: 381.90, 2007: 383.79, 2008: 385.60, 2009: 387.43, 2010: 389.90, 2011: 391.65, 2012: 393.85, 2013: 396.52, 2014: 398.65, 2015: 400.83, 2016: 404.21 } # Hansen's GHG concentration numbers were eventually archived on the RealClimate # blog site, more than fifteen years later, here: # http://www.realclimate.org/data/H88_scenarios.dat # Here they are in a python hash: ndx_CO2_A = 0 ndx_CO2_B = 5 ndx_CO2_C = 10 h88_ghg_rc = { 'fieldnames':['CO2_A' , 'N2O_A' , 'CH4_A' , 'CFC11_A' , 'CFC12_A' , 'CO2_B' , 'N2O_B' , 'CH4_B' , 'CFC11_B' , 'CFC12_B' , 'CO2_C' , 'N2O_C' , 'CH4_C' , 'CFC11_C' , 'CFC12_C' ], 1958: [315.000000000000, 0.292582959759106, 1.40000000000000, 1.5820000320E-002, 5.0259999930E-002, 315.000000000000, 0.292582959759106, 1.40000000000000, 7.9100001603E-003, 2.5129999965E-002, 315.000000000000, 0.292582959759106, 1.40000000000000, 7.9100001603E-003, 2.5129999965E-002], 1959: [315.690002441406, 0.292844424247086, 1.40807235171727, 1.8419999629E-002, 5.7360000908E-002, 315.690002441406, 0.292844424247086, 1.40807235171727, 9.2099998146E-003, 2.8680000454E-002, 315.690002441406, 0.292844424247086, 1.40807235171727, 9.2099998146E-003, 2.8680000454E-002], 1960: [316.660003662109, 0.293115969446170, 1.41619124833614, 2.1859999746E-002, 6.5839998424E-002, 316.660003662109, 0.293115969446170, 1.41619124833614, 1.0929999873E-002, 3.2919999212E-002, 316.660003662109, 0.293115969446170, 1.41619124833614, 1.0929999873E-002, 3.2919999212E-002], 1961: [317.269989013672, 0.293397949329223, 1.42435695823291, 2.6319999247E-002, 7.5319997966E-002, 317.269989013672, 0.293397949329223, 1.42435695823291, 1.3159999623E-002, 3.7659998983E-002, 317.269989013672, 0.293397949329223, 1.42435695823291, 1.3159999623E-002, 3.7659998983E-002], 1962: [318.239990234375, 0.293690730511399, 1.43256975133134, 3.1920000910E-002, 8.6240001022E-002, 318.239990234375, 0.293690730511399, 1.43256975133134, 1.5960000455E-002, 4.3120000511E-002, 318.239990234375, 0.293690730511399, 1.43256975133134, 1.5960000455E-002, 4.3120000511E-002], 1963: [318.929992675781, 0.293994692700235, 1.44082989911153, 3.8780000060E-002, 9.9079996347E-002, 318.929992675781, 0.293994692700235, 1.44082989911153, 1.9390000030E-002, 4.9539998173E-002, 318.929992675781, 0.293994692700235, 1.44082989911153, 1.9390000030E-002, 4.9539998173E-002], 1964: [319.329986572266, 0.294310229161773, 1.44913767461894, 4.6900000423E-002, 0.114040002226830, 319.329986572266, 0.294310229161773, 1.44913767461894, 2.3450000211E-002, 5.7020001113E-002, 319.329986572266, 0.294310229161773, 1.44913767461894, 2.3450000211E-002, 5.7020001113E-002], 1965: [319.950012207031, 0.294637747203286, 1.45749335247342, 5.6139998137E-002, 0.130919992923737, 319.950012207031, 0.294637747203286, 1.45749335247342, 2.8069999068E-002, 6.5459996461E-002, 319.950012207031, 0.294637747203286, 1.45749335247342, 2.8069999068E-002, 6.5459996461E-002], 1966: [320.799987792969, 0.294977668673202, 1.46589720887824, 6.6419996321E-002, 0.149700000882149, 320.799987792969, 0.294977668673202, 1.46589720887824, 3.3209998160E-002, 7.4850000441E-002, 320.799987792969, 0.294977668673202, 1.46589720887824, 3.3209998160E-002, 7.4850000441E-002], 1967: [321.440002441406, 0.295330430478841, 1.47434952162926, 7.8079998493E-002, 0.170900002121925, 321.440002441406, 0.295330430478841, 1.47434952162926, 3.9039999246E-002, 8.5450001060E-002, 321.440002441406, 0.295330430478841, 1.47434952162926, 3.9039999246E-002, 8.5450001060E-002], 1968: [322.250000000000, 0.295696485122583, 1.48285057012410, 9.1380000114E-002, 0.195120006799698, 322.250000000000, 0.295696485122583, 1.48285057012410, 4.5690000057E-002, 9.7560003399E-002, 322.250000000000, 0.295696485122583, 1.48285057012410, 4.5690000057E-002, 9.7560003399E-002], 1969: [323.440002441406, 0.296076301257151, 1.49140063537138, 0.106859996914864, 0.222599998116493, 323.440002441406, 0.296076301257151, 1.49140063537138, 5.3429998457E-002, 0.111299999058247, 323.440002441406, 0.296076301257151, 1.49140063537138, 5.3429998457E-002, 0.111299999058247], 1970: [324.820007324219, 0.296470364260662, 1.50000000000000, 0.124480001628399, 0.252680003643036, 324.820007324219, 0.296470364260662, 1.50000000000000, 6.2240000814E-002, 0.126340001821518, 324.820007324219, 0.296470364260662, 1.50000000000000, 6.2240000814E-002, 0.126340001821518], 1971: [326.010009765625, 0.296879176832167, 1.51436487416533, 0.143720000982285, 0.284999996423721, 326.010009765625, 0.296879176832167, 1.51436487416533, 7.1860000491E-002, 0.142499998211861, 326.010009765625, 0.296879176832167, 1.51436487416533, 7.1860000491E-002, 0.142499998211861], 1972: [326.970001220703, 0.297303259608408, 1.52886731473718, 0.165340006351471, 0.320219993591309, 326.970001220703, 0.297303259608408, 1.52886731473718, 8.2670003175E-002, 0.160109996795654, 326.970001220703, 0.297303259608408, 1.52886731473718, 8.2670003175E-002, 0.160109996795654], 1973: [328.859985351562, 0.297743151802542, 1.54350863913164, 0.190099999308586, 0.359239995479584, 328.859985351562, 0.297743151802542, 1.54350863913164, 9.5049999654E-002, 0.179619997739792, 328.859985351562, 0.297743151802542, 1.54350863913164, 9.5049999654E-002, 0.179619997739792], 1974: [330.350006103516, 0.298199411865618, 1.55829017738113, 0.217340007424355, 0.401639997959137, 330.350006103516, 0.298199411865618, 1.55829017738113, 0.108670003712177, 0.200819998979568, 330.350006103516, 0.298199411865618, 1.55829017738113, 0.108670003712177, 0.200819998979568], 1975: [330.709991455078, 0.298672618171616, 1.57321327225523, 0.243479996919632, 0.442880004644394, 330.709991455078, 0.298672618171616, 1.57321327225523, 0.121739998459816, 0.221440002322197, 330.709991455078, 0.298672618171616, 1.57321327225523, 0.121739998459816, 0.221440002322197], 1976: [331.690002441406, 0.299163369726892, 1.58827927938268, 0.268440008163452, 0.482100009918213, 331.690002441406, 0.299163369726892, 1.58827927938268, 0.134220004081726, 0.241050004959106, 331.690002441406, 0.299163369726892, 1.58827927938268, 0.134220004081726, 0.241050004959106], 1977: [332.829986572266, 0.299672286904890, 1.60348956737450, 0.293300002813339, 0.519020020961761, 332.829986572266, 0.299672286904890, 1.60348956737450, 0.146650001406670, 0.259510010480881, 332.829986572266, 0.299672286904890, 1.60348956737450, 0.146650001406670, 0.259510010480881], 1978: [334.579986572266, 0.300200012207031, 1.61884551794834, 0.316399991512299, 0.552600026130676, 334.579986572266, 0.300200012207031, 1.61884551794834, 0.158199995756149, 0.276300013065338, 334.579986572266, 0.300200012207031, 1.61884551794834, 0.158199995756149, 0.276300013065338], 1979: [335.950012207031, 0.300747211050698, 1.63434852605396, 0.337419986724854, 0.584940016269684, 335.950012207031, 0.300747211050698, 1.63434852605396, 0.168709993362427, 0.292470008134842, 335.950012207031, 0.300747211050698, 1.63434852605396, 0.168709993362427, 0.292470008134842], 1980: [337.649993896484, 0.301314572585298, 1.65000000000000, 0.356819987297058, 0.616620004177094, 337.649993896484, 0.301314572585298, 1.65000000000000, 0.178409993648529, 0.308310002088547, 337.649993896484, 0.301314572585298, 1.65000000000000, 0.178409993648529, 0.308310002088547], 1981: [339.040008544922, 0.301902810537390, 1.67475000000000, 0.378380000591278, 0.651700019836426, 339.040008544922, 0.301902810537390, 1.67475000000000, 0.189190000295639, 0.325850009918213, 339.040008544922, 0.301902810537390, 1.66650000000000, 0.189190000295639, 0.325850009918213], 1982: [340.010009765625, 0.302512664085917, 1.69987125000000, 0.399659991264343, 0.686559975147247, 340.010009765625, 0.302512664085917, 1.69987125000000, 0.199829995632172, 0.343279987573624, 340.010009765625, 0.302512664085917, 1.68316500000000, 0.199829995632172, 0.343279987573624], 1983: [341.559997558594, 0.303144898768616, 1.72536931875000, 0.420639991760254, 0.721180021762848, 341.559997558594, 0.303144898768616, 1.72536931875000, 0.210319995880127, 0.360590010881424, 341.559997558594, 0.303144898768616, 1.69999665000000, 0.210319995880127, 0.360590010881424], 1984: [343.809997558594, 0.303800307420714, 1.75124985853125, 0.441359996795654, 0.755559980869293, 343.809997558594, 0.303800307420714, 1.75124985853125, 0.220679998397827, 0.377779990434647, 343.809997558594, 0.303800307420714, 1.71699661650000, 0.220679998397827, 0.377779990434647], 1985: [345.321304019912, 0.304479711147063, 1.77751860640922, 0.461800009012222, 0.789719998836517, 345.321304019912, 0.304479711147063, 1.77751860640922, 0.230900004506111, 0.394859999418259, 345.309997558594, 0.304465355064959, 1.73416658266500, 0.230900004506111, 0.394859999418259], 1986: [346.855450952919, 0.305183960328902, 1.80418138550536, 0.482191333631008, 0.824115042089266, 346.855450952919, 0.305183960328902, 1.80418138550536, 0.241095666815504, 0.412057521044633, 346.809997558594, 0.305125983804292, 1.75150824849165, 0.241095666815504, 0.412057521044633], 1987: [348.412783547133, 0.305913935666484, 1.83124410628794, 0.503119860857882, 0.859488836436505, 348.412783547133, 0.305913935666484, 1.83124410628794, 0.251559930428941, 0.429744418218252, 348.309997558594, 0.305782223000098, 1.76902333097657, 0.251559930428941, 0.429744418218252], 1988: [349.993652208942, 0.306670549258834, 1.85871276788225, 0.524603060940024, 0.895871645987929, 349.993652208942, 0.306670549258834, 1.85871276788225, 0.262301530470012, 0.447935822993965, 349.809997558594, 0.306434101818673, 1.78671356428633, 0.262301530470012, 0.447935822993965], 1989: [351.598412640447, 0.307454745721982, 1.88659345940049, 0.546658921471166, 0.933294653498014, 351.598412640447, 0.307454745721982, 1.88659345940049, 0.273329460735583, 0.466647326749007, 351.309997558594, 0.307081649232515, 1.80458069992920, 0.273329460735583, 0.466647326749007], 1990: [353.227425919500, 0.308267503347018, 1.91489236129149, 0.569305963341863, 0.971789988363079, 353.227425919500, 0.308267503347018, 1.91489236129149, 0.284652981670932, 0.485894994181540, 352.809997558594, 0.307724894021616, 1.82262650692849, 0.284652981670932, 0.485894994181540], 1991: [354.881058580945, 0.309109835299399, 1.94361574671087, 0.592563257172941, 1.01139075547085 , 354.876921071563, 0.309104732743344, 1.93404128490441, 0.296204337171516, 0.505579915913143, 354.309997558594, 0.308363864774740, 1.83173963946313, 0.295291185225967, 0.504215791633965], 1992: [356.559682699091, 0.309982790860981, 1.97276998291153, 0.616450440246869, 1.05213106492850 , 356.542993925136, 0.309962012093514, 1.95338169775345, 0.307912212433186, 0.525596923648833, 355.809997558594, 0.308998589890691, 1.84089833766045, 0.304271637851845, 0.520146374139238], 1993: [358.263675971428, 0.310887456716290, 2.00236153265520, 0.640987733952267, 1.09404606269588 , 358.225811088886, 0.310839856569885, 1.97291551473099, 0.319780787006681, 0.545953161688634, 357.309997558594, 0.309629097579580, 1.85010282934875, 0.311616296191390, 0.533702623465649], 1994: [359.993421803615, 0.311824958284611, 2.03239695564503, 0.666195961757191, 1.13717196215159 , 359.925540845924, 0.311738794335931, 1.99264466987830, 0.331814311396762, 0.566655915761874, 358.809997558594, 0.310255415864073, 1.85935334349549, 0.317346826075239, 0.544900315855140], 1995: [361.749309395743, 0.312796461099525, 2.06288290997971, 0.692096567727344, 1.18154607662019 , 361.642353170634, 0.312659366875449, 2.01257111657708, 0.344017108674099, 0.587712615903487, 360.309997558594, 0.310877572580643, 1.86865011021297, 0.321484606373610, 0.553755122724524], 1996: [363.531733829912, 0.313803172237592, 2.09382615362940, 0.718711635605841, 1.22720685288995 , 363.376419745672, 0.313602129330101, 2.03269682774285, 0.356393576117355, 0.609130839388286, 361.809997558594, 0.311495595380802, 1.87799336076403, 0.324050732797045, 0.560282611361988], 1997: [365.341096159120, 0.314846341797915, 2.12523354593384, 0.746063908471651, 1.27419390575117 , 365.127913979132, 0.314567650845492, 2.05302379602028, 0.368948186886108, 0.630918313724388, 363.309997558594, 0.312109511732330, 1.88738332756785, 0.325066021646812, 0.564498245618964], 1998: [367.177803497507, 0.315927264434417, 2.15711204912285, 0.774176808994387, 1.32254805358627 , 366.897011021891, 0.315556514926016, 2.07355403398048, 0.381685491725271, 0.653082919706984, 364.809997558594, 0.312719348920501, 1.89682024420569, 0.324551013515639, 0.566417386597434], 1999: [369.042269111955, 0.317047280942692, 2.18946872985969, 0.803074460303624, 1.37231135504360 , 368.683887785118, 0.316569319798671, 2.09428957432029, 0.394610120701667, 0.675632694533672, 366.309997558594, 0.313325134049289, 1.90630434542672, 0.322525976939424, 0.566055293332604], 2000: [370.934912515072, 0.318207779903380, 2.22231076080759, 0.832781707491490, 1.42352714682804 , 370.488722957970, 0.317606678786094, 2.11523247006349, 0.407726784973447, 0.698575834982604, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.319010912000589, 0.563427123471149], 2001: [372.856159559591, 0.319410199384085, 2.25564542221970, 0.863324139767865, 1.47624008264234 , 372.307139599890, 0.318662712524475, 2.12580863241381, 0.420946503645420, 0.721780614381439, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.314785664089403, 0.559683435473501], 2002: [374.806442534183, 0.320656028701910, 2.28948010355299, 0.894728113288061, 1.53049617331430 , 374.134671092954, 0.319731264934061, 2.13643767557588, 0.434178263328887, 0.745111071359877, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.310616378903124, 0.555964622387336], 2003: [376.786200260726, 0.321946810248778, 2.32382230510629, 0.927020774673527, 1.58634282814586 , 375.971363125543, 0.320812548075595, 2.14711986395376, 0.447423785270989, 0.768569183509715, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.306502315224517, 0.552270518931461], 2004: [378.795878193039, 0.323284141381771, 2.35867963968288, 0.960230085246688, 1.64382889752133 , 377.817261615051, 0.321906777062780, 2.15785546327353, 0.460684786822862, 0.792156943550314, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.302442741653649, 0.548600960922892], 2005: [380.835928517115, 0.324669676380800, 2.39405983427813, 0.994384846001706, 1.70300471681317 , 379.672412709035, 0.323014170109429, 2.16864474058989, 0.473962981681201, 0.815876359512174, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.298436936477858, 0.544955785269558], 2006: [382.906810252865, 0.326105128476016, 2.42997073179230, 1.02951472333361 , 1.76392215162468 , 381.536862786367, 0.324134948577318, 2.17948796429284, 0.487260080128539, 0.839729454922155, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.294484187543453, 0.541334829963052], 2007: [385.008989357394, 0.327592271947426, 2.46642029276918, 1.06565027554888 , 1.82663464441051 , 383.410658458393, 0.325269337024758, 2.19038540411431, 0.500577789272269, 0.863718268990343, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.290583792129100, 0.537737934071430], 2008: [387.142938829848, 0.329132944299308, 2.50341659716072, 1.10282298018141 , 1.89119726251679 , 385.293846570101, 0.326417563255893, 2.20133733113488, 0.513917813282445, 0.887844856798588, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.286735056820899, 0.534164937732062], 2009: [389.309138817839, 0.330729048512077, 2.54096784611813, 1.14106526213827 , 1.95766674768421 , 387.186474201289, 0.327579858370739, 2.21234401779055, 0.527281853628408, 0.912111289490735, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.282937297389101, 0.530615682144521], 2010: [391.508076725483, 0.332382555374358, 2.57908236380990, 1.18041052270064 , 2.02610156705858 , 389.088588667746, 0.328756456815972, 2.22340573787950, 0.540671609314258, 0.936519654464560, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.279189838666473, 0.527090009563531], 2011: [393.740247323062, 0.334095505898130, 2.61776859926705, 1.22089316940602 , 2.09656196575478 , 390.995462382998, 0.329940085360795, 2.23452276656890, 0.553985829718861, 0.960918266408996, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.275492014428261, 0.523587763291953], 2012: [396.006152858355, 0.335870013819907, 2.65703512825606, 1.26254864683850 , 2.16911002102134 , 392.902336098251, 0.331123339510575, 2.24569538040174, 0.567123705428542, 0.985154761928982, 367.809997558594, 0.313926894042579, 1.91583586715385, 0.271843167273749, 0.520108787673819], 2013: [398.306303169646, 0.337708268190992, 2.69689065517990, 1.30541346835486 , 2.24380969805457 , 394.809209813504, 0.332306259297848, 2.25692385730375, 0.580087572100251, 1.00923021820608 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.268242648509389, 0.516652928087418], 2014: [400.641215800434, 0.339612536060019, 2.73734401500759, 1.34952524877487 , 2.32072690751227 , 396.716083528757, 0.333488884677349, 2.26820847659027, 0.592879734455540, 1.03314570526455 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.264689818033472, 0.513220030938423], 2015: [403.011416115889, 0.341585165251027, 2.77840417523271, 1.39492273806542 , 2.39992956477895 , 398.622957244010, 0.334671255527471, 2.27954951897322, 0.605502466690298, 1.05690228601884 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.261184044222336, 0.509809943653062], 2016: [405.417437421057, 0.343628587240503, 2.82008023786120, 1.44164585604854 , 2.48148765103576 , 400.529830959263, 0.335853411651720, 2.29094726656809, 0.617958012879055, 1.08050101632091 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.257724703818069, 0.506422514671338], 2017: [407.859821080858, 0.345745320136901, 2.86238144142911, 1.48973572816467 , 2.56547327619026 , 402.436704674516, 0.337035392780168, 2.30240200290093, 0.630248587373938, 1.10394294500710 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.254311181817710, 0.503057593440295], 2018: [410.339116641894, 0.347937971766290, 2.90531716305055, 1.53923472232322 , 2.65196074372246 , 404.343578389768, 0.338217238570897, 2.31391401291543, 0.642376375198341, 1.12722911394477 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.250942871363914, 0.499715030407323], 2019: [412.855881956102, 0.350209242867912, 2.94889692049631, 1.59018648687369 , 2.74102661750570 , 406.250452105021, 0.339398988611439, 2.32548358298001, 0.654343532435372, 1.15036055807858 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.247619173637061, 0.496394677013516], 2020: [415.410683306270, 0.352561930403575, 2.99313037430375, 1.64263598973138 , 2.83274979066239 , 408.157325820274, 0.340580682420213, 2.33711100089491, 0.666152186611172, 1.17333830547654 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.244339497748803, 0.493096385687066], 2021: [418.004095533453, 0.354998930984912, 3.03802732991831, 1.69662955869299 , 2.92721155651656 , 410.064199535527, 0.341762359447957, 2.34879655589938, 0.677804437073138, 1.19616337737563 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.241103260637009, 0.489820009836703], 2022: [420.636702166319, 0.357523244422732, 3.08359773986708, 1.75221492297821 , 3.02449568170722 , 411.971073250780, 0.342944059079151, 2.36054053867888, 0.689302355363153, 1.21883678822727 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.237909886962114, 0.486565403845184], 2023: [423.309095552438, 0.360137977402793, 3.12985170596509, 1.80944125603484 , 3.12468848152814 , 413.877946966033, 0.344125820633445, 2.37234324137227, 0.700647985585863, 1.24135954574232 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.234758809004832, 0.483332423062818], 2024: [426.021876991572, 0.362846347292505, 3.17679948155457, 1.86835921964582 , 3.22787889756207 , 415.784820681285, 0.345307683367070, 2.38420495757914, 0.711843344772077, 1.26373265093594 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.231649466565228, 0.480120923801038], 2025: [428.775656870960, 0.365651686083230, 3.22445147377788, 1.92902100937791 , 3.33415857767907 , 417.691694396538, 0.346489686474257, 2.39612598236703, 0.722890423237360, 1.28595709817205 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.228581306863122, 0.476930763326015], 2026: [431.571054802665, 0.368557444473006, 3.27281824588455, 1.99148040141282 , 3.44362195847112 , 419.598568111791, 0.347671869088642, 2.40810661227887, 0.733791184935868, 1.30803387520752 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.225553784439820, 0.473761799852314], 2027: [434.408699762987, 0.371567196094700, 3.32191051957282, 2.05579280080300 , 3.55636635019707 , 421.505441827044, 0.348854270284669, 2.42014714534026, 0.744547567809500, 1.32996396323606 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.222566361061140, 0.470613892536591], 2028: [437.289230233986, 0.374684641894758, 3.37173917736641, 2.12201529119550 , 3.67249202431448 , 423.412315542297, 0.350036929078997, 2.43224788106696, 0.755161484132430, 1.35174833693188 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.219618505621724, 0.467486901471338], 2029: [440.213294347140, 0.377913614667941, 3.42231526502691, 2.19020668606848 , 3.79210230367713 , 425.319189257550, 0.351219884431885, 2.44440912047229, 0.765634820851072, 1.37338796449293 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.216709694050619, 0.464380687678658], 2030: [443.181550029181, 0.381258083753573, 3.47364999400231, 2.26042758152672 , 3.91530365547926 , 427.226062972802, 0.352403175248595, 2.45663116607466, 0.775969439919537, 1.39488380768401 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.213839409218106, 0.461295113104095], 2031: [446.194665150131, 0.384722159899079, 3.52575474391234, 2.33274041070332 , 4.04220578703034 , 429.132936688055, 0.353586840380770, 2.46891432190503, 0.786167178630655, 1.41623682187946 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.211007140843768, 0.458230040610491], 2032: [449.253317673573, 0.388310100296757, 3.57864106507103, 2.40720949981684 , 4.17292174444655 , 431.039810403308, 0.354770918627821, 2.48125889351455, 0.796229849942613, 1.43744795610565 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.208212385405766, 0.455185333971900], 2033: [452.358195809197, 0.392026313799962, 3.63232068104709, 2.48390112593404 , 4.30756801434766 , 432.946684118561, 0.355955448738310, 2.49366518798212, 0.806159242801255, 1.45851815308316 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.205454646051329, 0.452160857867523], 2034: [455.509998167653, 0.395875366325086, 3.68680549126280, 2.56288357649036 , 4.44626462865103 , 434.853557833814, 0.357140469411316, 2.50613351392204, 0.815957122458133, 1.47944834926864 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.202733432508419, 0.449156477875704], 2035: [458.709433917735, 0.399861986445961, 3.74210757363174, 2.64422721062165 , 4.58913527255694 , 436.760431549067, 0.358326019297817, 2.51866418149165, 0.825625230784323, 1.50023947489649 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.200048260998573, 0.446172060467948], 2036: [461.957222945953, 0.403991071187528, 3.79823918723622, 2.72800452236226 , 4.73630739582241 , 438.667305264319, 0.359512137002048, 2.53125750239910, 0.835165286580101, 1.52089245402015 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.197398654150895, 0.443207473002991], 2037: [465.254096018508, 0.408267692025885, 3.85521277504476, 2.81429020576643 , 4.88791232742381 , 440.574178979572, 0.360698861082872, 2.54391378991110, 0.844578985880515, 1.54140820455321 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.194784140917189, 0.440262583720900], 2038: [468.600794945715, 0.412697101102042, 3.91304096667043, 2.90316122201157 , 5.04408539371129 , 442.481052694825, 0.361886230055134, 2.55663335886065, 0.853868002256898, 1.56178763831019 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.192204256488216, 0.437337261737224], 2039: [471.998072748920, 0.417284737657022, 3.97173658117049, 2.99469686854374 , 5.20496604016148 , 444.387926410078, 0.363074282391020, 2.56941652565496, 0.863033987114406, 1.58203166104703 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.189658542211062, 0.434431377037171], 2040: [475.446693829926, 0.422036234696175, 4.03131262988804, 3.08897885032758 , 5.37069795683800 , 446.294800125331, 0.364263056521411, 2.58226360828323, 0.872078569985599, 1.60214117250143 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.187146545507593, 0.431544800469831], 2041: [478.947434142991, 0.426957425890869, 4.09178231933636, 3.18609135326483 , 5.54142920767274 , 448.201673840584, 0.365452590837228, 2.59517492632465, 0.881003358820141, 1.62211706643276 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.184667819794003, 0.428677403742437], 2042: [482.501081369418, 0.432054352726026, 4.15315905412641, 3.28612111984746 , 5.71731236368425 , 450.108547555836, 0.366642923690778, 2.60815080095627, 0.889809940270665, 1.64196023066180 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.182221924401413, 0.425829059414662], 2043: [486.108435094791, 0.437333271902247, 4.21545643993830, 3.38915752711346 , 5.89850464025308 , 452.015421271089, 0.367834093397100, 2.62119155496105, 0.898499879974845, 1.66167154711025 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.179808424497535, 0.422999640892956], 2044: [489.770306988879, 0.442800663001598, 4.27868828653738, 3.49529266697551 , 6.08516803857777 , 453.922294986342, 0.369026138235295, 2.63429751273586, 0.907074722833738, 1.68125189183986 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.177426891009362, 0.420189022424921], 2045: [493.487520988270, 0.448463236426458, 4.34286861083544, 3.60462142899476 , 6.27746949143863 , 455.829168701595, 0.370219096449869, 2.64746900029953, 0.915535993286436, 1.70070213509138 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.175076900546891, 0.417397079093715], 2046: [497.260913481760, 0.454327941621137, 4.40801163999797, 3.71724158567415 , 6.47558101340070 , 457.736042416848, 0.371413006252060, 2.66070634530103, 0.923885195581082, 1.72002314132328 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.172758035327850, 0.414623686812510], 2047: [501.091333498540, 0.460401975586354, 4.47413181459794, 3.83325388034818 , 6.67967985559084 , 459.642916132101, 0.372607905821166, 2.67400987702754, 0.932123814042297, 1.73921576925012 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.170469883103426, 0.411868722318970], 2048: [504.979642899235, 0.466692791696996, 4.54124379181691, 3.95276211774800 , 6.88994866518857 , 461.549789847354, 0.373803833305872, 2.68737992641267, 0.940253313335061, 1.75828087188076 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.168212037084974, 0.409132063169774], 2049: [508.926716569826, 0.473208108833965, 4.60936244869416, 4.07587325732353 , 7.10657564977386 , 463.456663562606, 0.375000826825569, 2.70081682604474, 0.948275138725104, 1.77721929655621 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.165984095871702, 0.406413587735178], 2050: [512.933442618500, 0.479955920841295, 4.67850288542457, 4.20269750940641 , 7.32975474668010 , 465.363537277859, 0.376198924471675, 2.71432091017496, 0.956190716335845, 1.79603188498738 , 367.809997558594, 0.313926894042579, 1.91583586715385, 0.163785663379302, 0.403713175193602] } # sanity-check that the indices are correct if (h88_ghg_rc['fieldnames'][ndx_CO2_A] != 'CO2_A') or \ (h88_ghg_rc['fieldnames'][ndx_CO2_B] != 'CO2_B') or \ (h88_ghg_rc['fieldnames'][ndx_CO2_C] != 'CO2_C'): quit("ERR: wrong field indices in h88_ghg_rc[]") # Now let's try to calculate the CO2 levels for each of Hansen's scenarios # This code is based on Steve McIntyre's description here: # 3. https://climateaudit.org/2008/01/17/hansen-ghg-concentration-projections/ # Steve McIntyre wrote: # One idiosyncrasy that you have to watch in Hansens descriptions is that he typically talks # about growth rates for the increment , rather than growth rates expressed in terms of the # quantity. Thus a 1.5% growth rate in the CO2 increment yields a much lower growth rate than # a 1.5% growth rate (as an unwary reader might interpret). For CO2, he uses Keeling values # to 1981, then: # A: 1.5% growth of annual increment after 1981. Figure B2 shows 15.6 ppmv in 1980s and opening # increment set at 1.56 ppmv accordingly. # B: 1.5% increment growth rate to 1990; 1% to 2000, 0.5% to 2010 and 0 after 2010. Thus # constant 1.9 ppmv increase after 2010. # C: equals A, B through 1985, then 1.5 ppmv increase through 2000; then fixed at 368. co2in1981 = measured_co2[1981] # 340.11 (though Hansen apparently used 339.04) scenA_co2_incr_sum = scenB_co2_incr_sum = scenC_co2_incr_sum = 0 scenA_co2_increment = scenB_co2_increment = scenC_co2_increment = 1.56 # initial (1981) value, per McIntyre print(" CO2 _________Scenerio_A________ _________Scenerio_B________ _________Scenerio_C________") print("Year Actual Incr Summed Calc'd RC Incr Summed Calc'd RC Incr Summed Calc'd RC ") for year in range(1981,2017): print("{0:4d} {1:4.2f}".format(year,measured_co2[year]), end='') print(" {0:4.2f} {1:5.2f} {2:6.2f} {3:6.2f}".format(scenA_co2_increment, scenA_co2_incr_sum, scenA_co2_incr_sum+co2in1981, h88_ghg_rc[year][ndx_CO2_A]), end='') print(" {0:4.2f} {1:5.2f} {2:6.2f} {3:6.2f}".format(scenB_co2_increment, scenB_co2_incr_sum, scenB_co2_incr_sum+co2in1981, h88_ghg_rc[year][ndx_CO2_B]), end='') print(" {0:4.2f} {1:5.2f} {2:6.2f} {3:6.2f}".format(scenC_co2_increment, scenC_co2_incr_sum, scenC_co2_incr_sum+co2in1981, h88_ghg_rc[year][ndx_CO2_C])) # Sum this year's increment for next year's level: scenA_co2_incr_sum += scenA_co2_increment scenB_co2_incr_sum += scenB_co2_increment scenC_co2_incr_sum += scenC_co2_increment # Calculate next year's increment: scenA_co2_increment *= 1.015 if year < 1989: scenB_co2_increment *= 1.015 elif year < 1999: scenB_co2_increment *= 1.010 elif year < 2009: scenB_co2_increment *= 1.005 # else Scenario B increment is constant (McIntyre said constant 1.9 ppmv) if year < 1984: scenC_co2_increment *= 1.015 elif year < 1999: scenC_co2_increment = 1.5 else: scenC_co2_increment = 0 # Output: # # CO2 _________Scenerio_A________ _________Scenerio_B________ _________Scenerio_C________ # Year Actual Incr Summed Calc'd RC Incr Summed Calc'd RC Incr Summed Calc'd RC # 1981 340.11 1.56 0.00 340.11 339.04 1.56 0.00 340.11 339.04 1.56 0.00 340.11 339.04 # 1982 341.45 1.58 1.56 341.67 340.01 1.58 1.56 341.67 340.01 1.58 1.56 341.67 340.01 # 1983 343.05 1.61 3.14 343.25 341.56 1.61 3.14 343.25 341.56 1.61 3.14 343.25 341.56 # 1984 344.65 1.63 4.75 344.86 343.81 1.63 4.75 344.86 343.81 1.63 4.75 344.86 343.81 # 1985 346.12 1.66 6.38 346.49 345.32 1.66 6.38 346.49 345.32 1.50 6.38 346.49 345.31 # 1986 347.42 1.68 8.04 348.15 346.86 1.68 8.04 348.15 346.86 1.50 7.88 347.99 346.81 # 1987 349.19 1.71 9.72 349.83 348.41 1.71 9.72 349.83 348.41 1.50 9.38 349.49 348.31 # 1988 351.57 1.73 11.42 351.53 349.99 1.73 11.42 351.53 349.99 1.50 10.88 350.99 349.81 # 1989 353.12 1.76 13.16 353.27 351.60 1.76 13.16 353.27 351.60 1.50 12.38 352.49 351.31 # 1990 354.39 1.78 14.91 355.02 353.23 1.77 14.91 355.02 353.23 1.50 13.88 353.99 352.81 # 1991 355.61 1.81 16.70 356.81 354.88 1.79 16.69 356.80 354.88 1.50 15.38 355.49 354.31 # 1992 356.45 1.84 18.51 358.62 356.56 1.81 18.48 358.59 356.54 1.50 16.88 356.99 355.81 # 1993 357.10 1.87 20.34 360.45 358.26 1.83 20.29 360.40 358.23 1.50 18.38 358.49 357.31 # 1994 358.83 1.89 22.21 362.32 359.99 1.85 22.12 362.23 359.93 1.50 19.88 359.99 358.81 # 1995 360.82 1.92 24.10 364.21 361.75 1.87 23.97 364.08 361.64 1.50 21.38 361.49 360.31 # 1996 362.61 1.95 26.02 366.13 363.53 1.88 25.83 365.94 363.38 1.50 22.88 362.99 361.81 # 1997 363.73 1.98 27.97 368.08 365.34 1.90 27.72 367.83 365.13 1.50 24.38 364.49 363.31 # 1998 366.70 2.01 29.95 370.06 367.18 1.92 29.62 369.73 366.90 1.50 25.88 365.99 364.81 # 1999 368.38 2.04 31.96 372.07 369.04 1.94 31.54 371.65 368.68 1.50 27.38 367.49 366.31 # 2000 369.55 2.07 34.00 374.11 370.93 1.95 33.48 373.59 370.49 0.00 28.88 368.99 367.81 # 2001 371.14 2.10 36.07 376.18 372.86 1.96 35.43 375.54 372.31 0.00 28.88 368.99 367.81 # 2002 373.28 2.13 38.17 378.28 374.81 1.97 37.39 377.50 374.13 0.00 28.88 368.99 367.81 # 2003 375.80 2.16 40.31 380.42 376.79 1.98 39.36 379.47 375.97 0.00 28.88 368.99 367.81 # 2004 377.52 2.20 42.47 382.58 378.80 1.99 41.34 381.45 377.82 0.00 28.88 368.99 367.81 # 2005 379.80 2.23 44.67 384.78 380.84 2.00 43.33 383.44 379.67 0.00 28.88 368.99 367.81 # 2006 381.90 2.26 46.90 387.01 382.91 2.01 45.33 385.44 381.54 0.00 28.88 368.99 367.81 # 2007 383.79 2.30 49.16 389.27 385.01 2.02 47.34 387.45 383.41 0.00 28.88 368.99 367.81 # 2008 385.60 2.33 51.46 391.57 387.14 2.03 49.36 389.47 385.29 0.00 28.88 368.99 367.81 # 2009 387.43 2.37 53.79 393.90 389.31 2.04 51.40 391.51 387.19 0.00 28.88 368.99 367.81 # 2010 389.90 2.40 56.16 396.27 391.51 2.04 53.44 393.55 389.09 0.00 28.88 368.99 367.81 # 2011 391.65 2.44 58.56 398.67 393.74 2.04 55.48 395.59 391.00 0.00 28.88 368.99 367.81 # 2012 393.85 2.47 61.00 401.11 396.01 2.04 57.52 397.63 392.90 0.00 28.88 368.99 367.81 # 2013 396.52 2.51 63.47 403.58 398.31 2.04 59.56 399.67 394.81 0.00 28.88 368.99 367.81 # 2014 398.65 2.55 65.99 406.10 400.64 2.04 61.60 401.71 396.72 0.00 28.88 368.99 367.81 # 2015 400.83 2.59 68.54 408.65 403.01 2.04 63.64 403.75 398.62 0.00 28.88 368.99 367.81 # 2016 404.21 2.63 71.12 411.23 405.42 2.04 65.68 405.79 400.53 0.00 28.88 368.99 367.81