mjolnir1122 commited on
Commit
782f29e
·
verified ·
1 Parent(s): 0d653a7

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +63 -0
app.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import matplotlib.pyplot as plt
4
+ import seaborn as sns
5
+ from data_fetcher import get_hydrogen_data
6
+ from model import predict_hydrogen_production
7
+
8
+ # Load dataset
9
+ df = get_hydrogen_data()
10
+
11
+ # Streamlit UI
12
+ st.set_page_config(page_title="Hydrogen Analysis App", layout="wide")
13
+
14
+ # Sidebar Inputs
15
+ st.sidebar.header("Electrolysis Parameters")
16
+ current_density = st.sidebar.slider("Current Density (A/cm²)", 0.1, 2.0, 1.0)
17
+ voltage = st.sidebar.slider("Voltage (V)", 1.6, 2.2, 1.8)
18
+ temperature = st.sidebar.slider("Cell Temperature (°C)", 25, 80, 50)
19
+ membrane = st.sidebar.selectbox("Membrane Type", ["Nafion", "Fumapem", "Other"])
20
+ electrodes = st.sidebar.selectbox("Electrodes", ["Platinum", "Nickel", "Other"])
21
+
22
+ # Predict Button
23
+ if st.sidebar.button("Predict Hydrogen Production"):
24
+ params = {
25
+ "current_density": current_density,
26
+ "voltage": voltage,
27
+ "temperature": temperature,
28
+ "membrane": membrane,
29
+ "electrodes": electrodes
30
+ }
31
+
32
+ prediction = predict_hydrogen_production(params)
33
+ st.sidebar.success(f"🔍 Prediction:\n{prediction}")
34
+
35
+ # Dashboard
36
+ st.title("🚀 Hydrogen Techno-Economics Analysis")
37
+ st.markdown("This app provides insights into hydrogen production via electrolysis.")
38
+
39
+ # Show Dataset
40
+ st.subheader("📊 Electrolysis Data")
41
+ st.dataframe(df)
42
+
43
+ # Comparison Graphs
44
+ st.subheader("📉 Efficiency Comparison")
45
+ fig, ax = plt.subplots()
46
+ sns.barplot(x=df["Parameter"], y=df["Value"], ax=ax, palette="coolwarm")
47
+ plt.xticks(rotation=30, ha="right")
48
+ st.pyplot(fig)
49
+
50
+ # Cost Analysis
51
+ st.subheader("💰 Cost Analysis")
52
+ water_cost = df[df["Parameter"] == "Water Cost"]["Value"].values[0]
53
+ energy_cost = df[df["Parameter"] == "Energy Cost"]["Value"].values[0]
54
+ hydrogen_rate = df[df["Parameter"] == "Hydrogen Production Rate"]["Value"].values[0]
55
+
56
+ st.metric("Water Cost", f"${water_cost} per m³")
57
+ st.metric("Energy Cost", f"${energy_cost} per kWh")
58
+ st.metric("Hydrogen Production", f"{hydrogen_rate} ml/min")
59
+
60
+ # Conclusion
61
+ st.subheader("🔍 Interpretation & Suggestions")
62
+ st.info("Increase voltage and optimize membrane to improve efficiency.")
63
+