Kribo

Klimatiltak-heile-koden-NN-15juni

Jun 15th, 2020
170
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. #Introduksjonstekst til den som bruker programmet
  5. print("Prognosane viser at temperaturen i verda vil stige med rundt 2 grader fram mot 2050. Dette skuldast i stor grad utslepp av CO2. \
  6. Ein av konsekvensane av auken vil vere at havnivået stig, noko som fører til at opp mot 110 millionar menneske vil miste heimane sine. \
  7. Men det finst tiltak vi kan setje i verk. I denne simuleringa er du verdsleiar, og kvart femte år skal du velje eit nytt tiltak. \
  8. Nokre tiltak har større effekt enn andre, så vala dine har store konsekvensar for korleis verda vil sjå ut i framtida. Lykke til! \n")
  9.  
  10. #Legg inn årlege innsparingar for ulike tiltak
  11. Tiltaksliste = ["Helse og utdanning i fattige land", 85.42/30, "Plantebasert kosthald", 65.01/30, "Redusere matsvinn", 87.45/30, \
  12.                 "Forbetre aircondition", 57.75/30, "Forbetre kjøleskåp", 43.53/30, "Regnskogsplanting", 54.45/30, "Vindkraft på land", 47.21/30]
  13. Spartliste = [0]
  14.  
  15. #Prognose for maksverdiar i 2050
  16. TempSluttAr = 2
  17. Flyktningar = 110
  18. CO2prAr = 50
  19.  
  20.  
  21. #Lat brukar velje eit tiltak kvart 5. år. Legg CO2-innsparinga for tiltaket til Spartliste
  22. #og slett tiltaket frå Tiltaksliste.
  23. Spart = 0
  24. for i in range(30, 0, -5):
  25.     print("Moglege tiltak år", 2050-i)
  26.     for n in range(0, len(Tiltaksliste),2):
  27.         print(int((n+2)/2), Tiltaksliste[n])
  28.     Tiltak = int(input("Skriv inn talet på tiltaket du vil setje i verk: "))
  29.     Spart = Spart + (Tiltaksliste[Tiltak*2-1]*i)
  30.     Spartliste.append(Tiltaksliste[Tiltak*2-1]*5)
  31.     del Tiltaksliste[Tiltak*2-2]
  32.     del Tiltaksliste[Tiltak*2-2]
  33.  
  34. #Rekne ut kumulative tal til graf
  35. Kum1 = np.cumsum(Spartliste)
  36. Kum2 = np.cumsum(Kum1)
  37. xliste = [2020, 2025, 2030, 2035, 2040, 2045, 2050]
  38.  
  39. #Graf over CO2-utslepp
  40. xlist = xliste
  41. MaxCO2list = [0, CO2prAr*5, CO2prAr*10, CO2prAr*15, CO2prAr*20, CO2prAr*25, CO2prAr*30]
  42. fig = plt.figure()
  43. ax1 = fig.add_subplot(111)
  44. ax1.grid(True)
  45. plt.title("CO2-utslepp")
  46. plt.xlabel("Årstal")
  47. plt.ylabel("Totalt utslepp sidan 2020 i gigatonn")
  48.  
  49. ax1.plot(xlist,MaxCO2list, label="Forventa utvikling")
  50. ax1.plot(xlist,MaxCO2list - Kum2, label="Utvikling etter tiltak")
  51. plt.legend()
  52. plt.show()
  53.  
  54. #Graf over temperaturstiging
  55. xlist = xliste
  56. MaxTmplist = [0, TempSluttAr/6, TempSluttAr*2/6, 3*TempSluttAr/6, 4*TempSluttAr/6, 5*TempSluttAr/6, TempSluttAr]
  57. fig = plt.figure()
  58. ax1 = fig.add_subplot(111)
  59. ax1.grid(True)
  60. plt.title("Auke i temperatur")
  61. plt.xlabel("Årstal")
  62. plt.ylabel("Grader Celsius")
  63.  
  64. ax1.plot(xlist,MaxTmplist, label="Forventa utvikling")
  65. f=[0]
  66. for i in range (1,len(MaxCO2list), 1):
  67.     f.append((MaxCO2list[i] - Kum2[i])/MaxCO2list[i]*MaxTmplist[i])
  68. ax1.plot(xlist, f, label="Utvikling etter tiltak")
  69. plt.legend()
  70. plt.show()
  71.  
  72. #Graf over auke i klimaflyktningar
  73. xlist = xliste
  74. MaxFlyktlist = [0, Flyktningar/6, 2*Flyktningar/6, 3*Flyktningar/6, 4*Flyktningar/6, 5*Flyktningar/6, Flyktningar]
  75. fig = plt.figure()
  76. ax1 = fig.add_subplot(111)
  77. ax1.grid(True)
  78. plt.title("Auke i klimaflyktningar")
  79. plt.xlabel("Årstal")
  80. plt.ylabel("Millionar menneske")
  81.  
  82. ax1.plot(xlist, MaxFlyktlist, label="Forventa utvikling")
  83. g=[0]
  84. for i in range (1,len(MaxCO2list), 1):
  85.     g.append((MaxCO2list[i] - Kum2[i])/MaxCO2list[i]*MaxFlyktlist[i])
  86. ax1.plot(xlist, g, label="Utvikling etter tiltak")
  87. plt.legend()
  88. plt.show()
  89.  
  90. print("Gratulerer! Du klarte å redusere forventa utslepp med ", "%.2f" % Spart, "gigatonn CO2. Temperaturen steig berre med","%.2f" % f[6], \
  91.       "grader og ", "%.2f" % (Flyktninger - g[6]), "millionar menneske kan takke deg for at dei ikkje har blitt klimaflyktningar!")
  92.  
  93. if (Spart > 256.7):
  94.     print("Veldig bra! Du valde alltid dei tiltaka som gav størst effekt!")
  95. else:
  96.     print("Bra forsøk! Du valde godt, men det fanst meir effektive tiltak.")
RAW Paste Data