feat: add rss
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
# Lab 1
|
||||
|
||||
Joaquin Gottlebe 829101
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Venus shows the lowest effective temperature (219 K) due to its high albedo (0.80), which reflects most incoming sunlight. Earth (254 K) and Mars (212 K) receive less energy overall but absorb more because of lower albedos.
|
||||
The comparison demonstrates that distance from the Sun alone does not determine surface temperature. The albedo and strength of the greenhouse effect together control planetary climate.
|
||||
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
planets = {
|
||||
"Earth": {"dist": 1.0, "albedo": 0.3, "GHE": 0.4},
|
||||
"Venus": {"dist": 0.72, "albedo": 0.80, "GHE": 0.99},
|
||||
"Mars": {"dist": 1.52, "albedo": 0.22, "GHE": 0.09},
|
||||
}
|
||||
|
||||
results = []
|
||||
|
||||
for planet in planets:
|
||||
L_S = 3.8e26
|
||||
DE = 149.6e9
|
||||
DE *= planets[planet]["dist"]
|
||||
albedo = planets[planet]["albedo"]
|
||||
sigma = 5.670367e-8
|
||||
T_e= L_S / ( 4 * np.pi * DE**2)
|
||||
PEtop = T_e / 4
|
||||
PEsur = PEtop * (1 - albedo)
|
||||
TEsur = ( PEsur / sigma )**(1/4)
|
||||
TEsur_C = TEsur - 273.15
|
||||
PE = 2 * PEsur;
|
||||
TEsur_GH05 = ( PE / sigma )**(1/4)
|
||||
TEsur_GH05_C = TEsur_GH05 - 273.15
|
||||
GHE = planets[planet]["GHE"]
|
||||
PE = PEsur / (1 - GHE)
|
||||
TEsur_GH04 = ( PE / sigma )**(1/4)
|
||||
|
||||
results.append([planet, TEsur, TEsur_GH05, TEsur_GH04])
|
||||
|
||||
GHE_list = np.arange(0.1,0.55,0.05)
|
||||
TEsur_GHE = np.empty((GHE_list.size,1))
|
||||
for i in range(len(GHE_list)):
|
||||
GHE = GHE_list[i]
|
||||
PE = PEsur / (1 - GHE)
|
||||
TEsur_GHE[i] = ( PE / sigma )**(1/4)
|
||||
plt.plot(GHE_list, TEsur_GHE, label=planet)
|
||||
|
||||
|
||||
# Plot 1
|
||||
|
||||
plt.xlabel('GreenHouse Effect', fontsize=12)
|
||||
plt.ylabel('Temperature [K]', fontsize=12)
|
||||
plt.grid()
|
||||
plt.title('Varying GreenHouse gas effects and corresponding surface T', fontsize=14)
|
||||
plt.legend(title="Planet")
|
||||
plt.savefig(f"plot.png")
|
||||
|
||||
|
||||
# Plot 2
|
||||
fig, ax = plt.subplots(figsize=(7, 2))
|
||||
ax.axis('off')
|
||||
col_labels = ["Planet", "T_eff [K]", "T(GHE=0.5) [K]", "T(actual GHE) [K]"]
|
||||
table_data = [[r[0], f"{r[1]:.2f}", f"{r[2]:.2f}", f"{r[3]:.2f}"] for r in results]
|
||||
|
||||
print(table_data)
|
||||
|
||||
table = ax.table(cellText=table_data, colLabels=col_labels, loc='center', cellLoc='center')
|
||||
table.auto_set_font_size(False)
|
||||
table.set_fontsize(11)
|
||||
table.scale(1.2, 1.5)
|
||||
for (row, col), cell in table.get_celld().items():
|
||||
if row == 0:
|
||||
cell.set_text_props(weight='bold', color='white')
|
||||
cell.set_facecolor('#3f51b5')
|
||||
else:
|
||||
cell.set_facecolor('#f0f0f0')
|
||||
plt.title("Surface Temperature Estimates for Earth, Venus, and Mars", fontsize=13, pad=10)
|
||||
plt.tight_layout()
|
||||
plt.savefig("results_table.png", dpi=300, bbox_inches='tight')
|
||||
Reference in New Issue
Block a user