Spaces:
Paused
Paused
Create impact_module.py
Browse files- impact_module.py +84 -0
impact_module.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Impact Estimation β rule-based (khΓ΄ng cΓ³ AI model nΓ o lΓ m Δược cΓ‘i nΓ y)
|
| 2 |
+
# Logic dα»±a trΓͺn cΓ‘c cΓ΄ng thα»©c mΓ΄i trΖ°α»ng chuαΊ©n cα»§a UNEP vΓ WHO
|
| 3 |
+
|
| 4 |
+
def estimate_impact(site_name: str, visitor_count: int, combined_risk: float) -> str:
|
| 5 |
+
|
| 6 |
+
# ββ TΓnh toΓ‘n cΖ‘ bαΊ£n βββββββββββββββββββββββββββββββββββββββββββββββ
|
| 7 |
+
waste_total = visitor_count * 0.5 # kg/day (UNEP average: 0.5kg/tourist/day)
|
| 8 |
+
unmanaged = waste_total * combined_risk # kg/day khΓ΄ng Δược xα» lΓ½ ΔΓΊng
|
| 9 |
+
water_bod = round(unmanaged * 0.15, 2) # kg BOD/day (WHO standard)
|
| 10 |
+
co2 = round(unmanaged * 2.5, 2) if combined_risk > 0.5 else 0.0 # kg CO2 nαΊΏu Δα»t rΓ‘c
|
| 11 |
+
bad_cost = round(unmanaged * 1.5, 1) # USD/day (cleanup + fine + health)
|
| 12 |
+
good_cost = round(waste_total * 0.4, 1) # USD/day (proper system)
|
| 13 |
+
daily_save = round(max(bad_cost - good_cost, 0), 1)
|
| 14 |
+
annual_save = int(daily_save * 365)
|
| 15 |
+
|
| 16 |
+
# ββ Quy Δα»i sang ΔΖ‘n vα» dα»
hiα»u βββββββββββββββββββββββββββββββββββ
|
| 17 |
+
plastic_bags = int(unmanaged * 50) # 1kg rΓ‘c β 50 tΓΊi nilon
|
| 18 |
+
households = round(unmanaged / 2.0, 1) # 1 hα» gia ΔΓ¬nh β 2kg rΓ‘c/ngΓ y
|
| 19 |
+
car_km = int(co2 * 4) # 1km xe hΖ‘i β 0.25kg CO2
|
| 20 |
+
profit_pct = round((annual_save / max(visitor_count * 365 * 15, 1)) * 100, 1)
|
| 21 |
+
|
| 22 |
+
# ββ Bar chart text βββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 23 |
+
bad_bar = "β" * min(int(bad_cost / 3), 20)
|
| 24 |
+
good_bar = "β" * min(int(good_cost / 3), 20)
|
| 25 |
+
save_bar = "β" * min(int(daily_save / 3), 20)
|
| 26 |
+
|
| 27 |
+
# ββ Risk level βββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 28 |
+
if combined_risk > 0.6:
|
| 29 |
+
level = "π΄ HIGH"
|
| 30 |
+
urgency = "Immediate action required. Environmental damage is occurring daily."
|
| 31 |
+
elif combined_risk > 0.3:
|
| 32 |
+
level = "π‘ MEDIUM"
|
| 33 |
+
urgency = "Improvement needed. Costs and risks are accumulating."
|
| 34 |
+
else:
|
| 35 |
+
level = "π’ LOW"
|
| 36 |
+
urgency = "Good practices in place. Focus on maintaining and improving."
|
| 37 |
+
|
| 38 |
+
output = f"""## π Impact Estimation β {site_name}
|
| 39 |
+
|
| 40 |
+
**Risk Level: {level}** | Risk Score: {combined_risk:.2f} | Visitors: {visitor_count}/day
|
| 41 |
+
|
| 42 |
+
> {urgency}
|
| 43 |
+
|
| 44 |
+
---
|
| 45 |
+
|
| 46 |
+
### π Environmental Impact (Current Practice)
|
| 47 |
+
|
| 48 |
+
| Indicator | Value | Real-world Equivalent |
|
| 49 |
+
|-----------|-------|-----------------------|
|
| 50 |
+
| Total waste generated | {waste_total:.1f} kg/day | {int(waste_total * 50)} plastic bags/day |
|
| 51 |
+
| Unmanaged waste | {unmanaged:.1f} kg/day | Waste of {households} households/day |
|
| 52 |
+
| Water pollution (BOD) | {water_bod} kg/day | Affects {int(water_bod * 1000)} liters of clean water |
|
| 53 |
+
| COβ from burning | {co2} kg/day | Like driving {car_km} km by car daily |
|
| 54 |
+
|
| 55 |
+
---
|
| 56 |
+
|
| 57 |
+
### π° Economic Impact
|
| 58 |
+
|
| 59 |
+
| Scenario | Daily Cost | Annual Cost |
|
| 60 |
+
|----------|-----------|------------|
|
| 61 |
+
| β Current (poor management) | ${bad_cost} | ${bad_cost*365:,.0f} |
|
| 62 |
+
| β
Optimized (proper system) | ${good_cost} | ${good_cost*365:,.0f} |
|
| 63 |
+
| π **Potential savings** | **${daily_save}/day** | **${annual_save:,}/year** |
|
| 64 |
+
|
| 65 |
+
> π‘ Saving **${annual_save:,}/year** = approximately **{profit_pct}% of estimated annual revenue**
|
| 66 |
+
|
| 67 |
+
---
|
| 68 |
+
|
| 69 |
+
### π Cost Comparison
|
| 70 |
+
```
|
| 71 |
+
Current {bad_bar} ${bad_cost}/day
|
| 72 |
+
Optimized {good_bar} ${good_cost}/day
|
| 73 |
+
Savings {save_bar} ${daily_save}/day
|
| 74 |
+
```
|
| 75 |
+
|
| 76 |
+
---
|
| 77 |
+
|
| 78 |
+
### π‘ If {site_name} improves waste management:
|
| 79 |
+
- Reduce unmanaged waste by **{combined_risk*100:.0f}%**
|
| 80 |
+
- Save **${annual_save:,} USD/year**
|
| 81 |
+
- Protect **{int(water_bod * 1000 * 365):,} liters** of clean water annually
|
| 82 |
+
- Avoid **{co2 * 365:.0f} kg COβ/year** from improper disposal
|
| 83 |
+
"""
|
| 84 |
+
return output
|