Kribo

Klimatiltak-hele-koden-vasket-15jun

Jun 15th, 2020
156
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("Prognosene viser at temperaturen i verden vil stige med rundt 2 grader fram mot 2050. Dette skyldes i stor grad utslipp av CO2. \
  6. En av konsekvensene av økningen vil være at havnivået stiger, noe som fører til at opp mot 110 millioner mennesker vil miste hjemmene sine. \
  7. Men det finnes tiltak vi kan iverksette. I denne simuleringen er du verdensleder, og hvert femte år skal du velge et nytt tiltak. \
  8. Noen tiltak har større effekt enn andre, så valgene dine har store konsekvenser for hvordan verden vil se ut i fremtida. Lykke til! \n")
  9.  
  10. #Legger inn årlige besparelser for ulike tiltak
  11. Tiltaksliste = ["Helse og utdanning i fattige land", 85.42/30, "Plantebasert kosthold", 65.01/30, "Redusere matsvinn", 87.45/30, \
  12.                 "Forbedre aircondition", 57.75/30, "Forbedre kjøleskap", 43.53/30, "Regnskogsplanting", 54.45/30, "Vindkraft på land", 47.21/30]
  13. Spartliste = [0]
  14.  
  15. #Prognose for maksverdier i 2050
  16. TempSluttAr = 2
  17. Flyktninger = 110
  18. CO2prAr = 50
  19.  
  20.  
  21. #La bruker velge et tiltak hvert femte år. Legg CO2-besparelsen for tiltaket til Spartliste
  22. #og slett tiltaket fra Tiltaksliste.
  23. Spart = 0
  24. for i in range(30, 0, -5):
  25.     print("Mulige 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 tallet på tiltaket du vil iverksette: "))
  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. #Regne ut kumulative tall 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-utslipp
  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-utslipp")
  46. plt.xlabel("Årstall")
  47. plt.ylabel("Totalt utslipp siden 2020 i gigatonn")
  48.  
  49. ax1.plot(xlist,MaxCO2list, label="Forventet utvikling")
  50. ax1.plot(xlist,MaxCO2list - Kum2, label="Utvikling etter tiltak")
  51. plt.legend()
  52. plt.show()
  53.  
  54. #Graf over temperaturstigning
  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("Økning i temperatur")
  61. plt.xlabel("Årstall")
  62. plt.ylabel("Grader Celsius")
  63.  
  64. ax1.plot(xlist,MaxTmplist, label="Forventet 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. #Grat over økning i klimaflyktninger
  73. xlist = xliste
  74. MaxFlyktlist = [0, Flyktninger/6, 2*Flyktninger/6, 3*Flyktninger/6, 4*Flyktninger/6, 5*Flyktninger/6, Flyktninger]
  75. fig = plt.figure()
  76. ax1 = fig.add_subplot(111)
  77. ax1.grid(True)
  78. plt.title("Økning i klimaflyktninger")
  79. plt.xlabel("Årstall")
  80. plt.ylabel("Millioner mennesker")
  81.  
  82. ax1.plot(xlist, MaxFlyktlist, label="Forventet 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 forventet utslipp med ", "%.2f" % Spart, "gigatonn CO2. Temperaturen steg bare med","%.2f" % f[6], \
  91.       "grader og ", "%.2f" % (Flyktninger - g[6]), "millioner mennesker kan takke deg for at de ikke er blitt klimaflyktninger!")
  92.  
  93. if (Spart > 256.7):
  94.     print("Veldig bra! Du valgte alltid de tiltakene som ga størst effekt!")
  95. else:
  96.     print("Bra forsøk! Du valgte godt, men det fantes mer effektive tiltak.")
RAW Paste Data