p4: fig_fix
This commit is contained in:
Binary file not shown.
@@ -371,7 +371,7 @@ def define_scenarios() -> List[Dict]:
|
|||||||
elevator_fraction_knee = elevator_payload_knee / TOTAL_PAYLOAD
|
elevator_fraction_knee = elevator_payload_knee / TOTAL_PAYLOAD
|
||||||
# 膝点时只需要部分低纬度发射场
|
# 膝点时只需要部分低纬度发射场
|
||||||
scenarios.append({
|
scenarios.append({
|
||||||
'name': 'Combined (Knee Point)',
|
'name': 'Combined (Balanced)',
|
||||||
'completion_years': knee_years,
|
'completion_years': knee_years,
|
||||||
'elevator_fraction': elevator_fraction_knee, # ~74.6%
|
'elevator_fraction': elevator_fraction_knee, # ~74.6%
|
||||||
'rocket_sites': LAUNCH_SITES[:5], # 只使用5个低纬度站点
|
'rocket_sites': LAUNCH_SITES[:5], # 只使用5个低纬度站点
|
||||||
@@ -863,7 +863,7 @@ def plot_pareto_with_environment(save_dir: str = '/Volumes/Files/code/mm/2026013
|
|||||||
ax1.grid(True, alpha=0.3)
|
ax1.grid(True, alpha=0.3)
|
||||||
|
|
||||||
# 标记关键点
|
# 标记关键点
|
||||||
ax1.axvline(x=139, color='red', linestyle='--', alpha=0.7, label='Knee Point (139yr)')
|
ax1.axvline(x=139, color='red', linestyle='--', alpha=0.7, label='Balanced (139yr)')
|
||||||
ax1.axvline(x=186, color='green', linestyle='--', alpha=0.7, label='Elevator Only (186yr)')
|
ax1.axvline(x=186, color='green', linestyle='--', alpha=0.7, label='Elevator Only (186yr)')
|
||||||
ax1.legend()
|
ax1.legend()
|
||||||
|
|
||||||
@@ -949,7 +949,7 @@ def plot_mitigation_strategies(save_dir: str = '/Volumes/Files/code/mm/20260130_
|
|||||||
bars = ax.bar(x, co2_vals, color=colors)
|
bars = ax.bar(x, co2_vals, color=colors)
|
||||||
|
|
||||||
ax.set_ylabel('Total CO₂ Emissions (Mt)', fontsize=12)
|
ax.set_ylabel('Total CO₂ Emissions (Mt)', fontsize=12)
|
||||||
ax.set_title('CO₂ Reduction Strategies Comparison\n(Knee Point baseline: 139 years)', fontsize=14)
|
ax.set_title('CO₂ Reduction Strategies Comparison\n(Balanced baseline: 139 years)', fontsize=14)
|
||||||
ax.set_xticks(x)
|
ax.set_xticks(x)
|
||||||
ax.set_xticklabels(names, rotation=15, ha='right')
|
ax.set_xticklabels(names, rotation=15, ha='right')
|
||||||
ax.grid(True, alpha=0.3, axis='y')
|
ax.grid(True, alpha=0.3, axis='y')
|
||||||
@@ -1097,7 +1097,7 @@ def plot_comprehensive_summary(save_dir: str = '/Volumes/Files/code/mm/20260130_
|
|||||||
- CO₂ reduction vs Rocket: {:.0f}% (primary savings from avoiding rocket fuel production)
|
- CO₂ reduction vs Rocket: {:.0f}% (primary savings from avoiding rocket fuel production)
|
||||||
- No stratospheric H₂O injection from main transport
|
- No stratospheric H₂O injection from main transport
|
||||||
|
|
||||||
3. Combined (Knee Point): Best trade-off at 139 years with {:.0f} Mt CO₂.
|
3. Combined (Balanced): Best trade-off at 139 years with {:.0f} Mt CO₂.
|
||||||
- 74.6% payload via elevator, 25.4% via low-latitude rockets
|
- 74.6% payload via elevator, 25.4% via low-latitude rockets
|
||||||
- Reasonable timeline with significant environmental benefit
|
- Reasonable timeline with significant environmental benefit
|
||||||
|
|
||||||
@@ -1116,7 +1116,7 @@ def plot_comprehensive_summary(save_dir: str = '/Volumes/Files/code/mm/20260130_
|
|||||||
df.loc[df['Scenario']=='Elevator Only', 'Years'].values[0],
|
df.loc[df['Scenario']=='Elevator Only', 'Years'].values[0],
|
||||||
(1 - df.loc[df['Scenario']=='Elevator Only', 'CO2 Total (Mt)'].values[0] /
|
(1 - df.loc[df['Scenario']=='Elevator Only', 'CO2 Total (Mt)'].values[0] /
|
||||||
df.loc[df['Scenario']=='Rocket Only', 'CO2 Total (Mt)'].values[0]) * 100,
|
df.loc[df['Scenario']=='Rocket Only', 'CO2 Total (Mt)'].values[0]) * 100,
|
||||||
df.loc[df['Scenario']=='Combined (Knee Point)', 'CO2 Total (Mt)'].values[0],
|
df.loc[df['Scenario']=='Combined (Balanced)', 'CO2 Total (Mt)'].values[0],
|
||||||
(1 - df.loc[df['Scenario']=='Elevator Only', 'CO2 Total (Mt)'].values[0] /
|
(1 - df.loc[df['Scenario']=='Elevator Only', 'CO2 Total (Mt)'].values[0] /
|
||||||
df.loc[df['Scenario']=='Rocket Only', 'CO2 Total (Mt)'].values[0]) * 100
|
df.loc[df['Scenario']=='Rocket Only', 'CO2 Total (Mt)'].values[0]) * 100
|
||||||
)
|
)
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 176 KiB |
Reference in New Issue
Block a user