Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test for pull requests #2

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
54cb473
Update PKG Info
rabatkri May 29, 2024
f26997e
Fixing paths
rabatkri May 29, 2024
ee51b18
Adding Power of PV (under Photovoltaic) to the .md file
rabatkri Jun 21, 2024
f9f0f72
Adding Power of PV into .md file
rabatkri Jun 21, 2024
5ff3513
Adding Power for PV to .md file
rabatkri Jun 21, 2024
324bd9c
NEW: calculating the amount of PV modules (Power based on Palmer 2021)
rabatkri Jun 21, 2024
0892fd5
Test Battery 240621
rabatkri Jun 21, 2024
f0b6e5e
PV+E_version_240621
rabatkri Jun 21, 2024
7b5b323
update_PV+E_240622_osmosis
rabatkri Jun 22, 2024
f8d7a7e
PV&E_240624_BatteryVersions
rabatkri Jun 24, 2024
f041a02
Printing statements to analyze PV+E Plugin, file changes to run simpl…
jschneidewind Jun 24, 2024
d03965e
Implementation of battery storage
jschneidewind Jun 25, 2024
f80b8dd
Addition of round trip efficiency for battery
jschneidewind Jun 25, 2024
443a2ed
Addition of battery cost
jschneidewind Jun 25, 2024
f38304c
calculation number of PV modules and osmosis per hour
rabatkri Jun 25, 2024
5b4babe
osmosis and number of PV modules calculation
rabatkri Jun 25, 2024
2c5d108
Merge branch 'Battery_Storage' into Testing
rabatkri Jun 26, 2024
c811042
paths for calculation reverse osmosis and adding it to the .md file
rabatkri Jun 26, 2024
a72a319
Ongoing: addition of reverse osmosis
rabatkri Aug 1, 2024
e48ca6c
ongoing: reverse osmosis calculation
rabatkri Aug 2, 2024
d024692
done: step-wise calculation for osmosis_power_demand
rabatkri Aug 2, 2024
6b00b1a
update: calculation reverse osmosis
rabatkri Aug 7, 2024
62825b9
start: plugin for foreground_LCI_database for LCA calculation
rabatkri Aug 9, 2024
1d65a32
update: addition for brine calculation in Photovoltaic_Plugin, correc…
rabatkri Aug 9, 2024
9be7074
starting: new plugin for the brigthway backroung database
rabatkri Aug 12, 2024
6377c12
test: trying to add JSON comunication between photovoltaic plugin and…
rabatkri Aug 12, 2024
1877ad4
update: backround_LCI_database starting project with brightway
rabatkri Aug 12, 2024
c98e357
update: adding exports for LCA values
rabatkri Aug 14, 2024
3ddbc3d
update: adding plugin into workflow
rabatkri Aug 14, 2024
d81cb33
update: adding plugins for LCI databases to pyH2A
rabatkri Aug 14, 2024
897f7d0
update: foreground_LCI_Database_plugin_V1 with different parts in system
rabatkri Aug 14, 2024
91654e1
starting: foreground_LCI_database_plugin_V2 with one big activity: pr…
rabatkri Aug 14, 2024
4477042
update: small changes, adding plugin, adding insert() functions in ph…
rabatkri Aug 14, 2024
774e17a
update: foreground LCI database V2_1
rabatkri Aug 20, 2024
7364857
update: foreground LCI database V2_2
rabatkri Aug 20, 2024
8a7be99
update: change of name
rabatkri Aug 20, 2024
a48a8d8
update: adding insert for the LCA parameters photovoltaic
rabatkri Aug 20, 2024
0c4789f
update: adding new plugin
rabatkri Aug 20, 2024
9912c3f
update: other small changes, state of the art version of the code
rabatkri Aug 20, 2024
8bbb439
update: adding the proper plugin structure
rabatkri Aug 20, 2024
daf72bc
update: correcting calculation for sunlight
rabatkri Aug 20, 2024
ad8db6b
updte: adding LCA parameters from Photovoltaic Plugin with dcf.inp fu…
rabatkri Aug 21, 2024
32204f4
updte: adding LCA parameters from Photovoltaic Plugin with dcf.inp fu…
rabatkri Aug 21, 2024
acc5624
updte: adding LCA parameters from Photovoltaic Plugin with dcf.inp fu…
rabatkri Aug 21, 2024
b9a4413
update: adding inserts for LCA parameters
rabatkri Aug 21, 2024
ffbafd6
update: adding insert for the json database
rabatkri Sep 2, 2024
70f7b8d
start: brightway calculation plugin
rabatkri Sep 2, 2024
04e6403
update: adding plugin into the md. file
rabatkri Sep 2, 2024
5c30daf
update(small): adding bw_calculation plugin into pyH2A, deleting old …
rabatkri Sep 2, 2024
dae0b99
update: adding JSON importer
rabatkri Sep 2, 2024
413ed26
update: correcting calculation production_maintanence_electrolyzer
rabatkri Sep 2, 2024
317c977
small changes, which are not important to the code (adding and deleti…
rabatkri Oct 18, 2024
3626190
update: revision of the foreground plugin (adding/changing: technosph…
rabatkri Oct 18, 2024
e5f0da2
update: describtion of foreground plugin... V2_1 is the one up to dat…
rabatkri Oct 18, 2024
2803e48
update: PV+E V1 vs. V2 differences (better visualisation)
rabatkri Nov 11, 2024
6465f96
PV+E changes V1 and V2 for the LCA data
rabatkri Nov 11, 2024
b871b5f
PV+E foreground database V1, corrected mistace in insert
rabatkri Nov 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions activities.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"activities": [
{
"name": "Production of hydrogen",
"location": "GLO",
"reference product": "hydrogen",
"unit": "kilogram",
"code": "production_of_hydrogen"
},
{
"name": "Production and maintenance of individual parts",
"location": "GLO",
"reference product": "hydrogen",
"unit": "unit",
"code": "production_and_maintenance"
}
]
}
Binary file added data/.220308_SI.pdf.icloud
Binary file not shown.
Binary file not shown.
Binary file removed data/220308_SI.pdf
Binary file not shown.
Binary file not shown.
12 changes: 12 additions & 0 deletions data/Battery_Testing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import numpy as np

data = np.array([100., 50., 25., 15., 10., 5., 10., 15., 25., 50., 100.])
demand = 50.
threshold = 15.

demand *= np.ones(len(data))

difference = data - demand
print(np.sum(difference))


Binary file added data/PEC/Base/.Monte_Carlo_Output.csv.icloud
Binary file not shown.
Binary file not shown.
50,004 changes: 0 additions & 50,004 deletions data/PEC/Base/Monte_Carlo_Output.csv

This file was deleted.

50,004 changes: 0 additions & 50,004 deletions data/PEC/Base/Monte_Carlo_Output_3_Parameters.csv

This file was deleted.

Binary file added data/PV_E/Base/.Monte_Carlo_Output.csv.icloud
Binary file not shown.
Binary file not shown.
50,004 changes: 0 additions & 50,004 deletions data/PV_E/Base/Monte_Carlo_Output.csv

This file was deleted.

50,004 changes: 0 additions & 50,004 deletions data/PV_E/Base/Monte_Carlo_Output_3_Parameters.csv

This file was deleted.

169 changes: 31 additions & 138 deletions data/PV_E/Base/PV_E_Base.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Name | Type | Position
Hourly_Irradiation_Plugin | plugin | 0
Photovoltaic_Plugin | plugin | 0
Multiple_Modules_Plugin | plugin | 3
Foreground_LCI_Database_Plugin_V2_1 | plugin | 4


# Display Parameters

Expand Down Expand Up @@ -59,6 +61,7 @@ Multiplier | 1.0 | CAPEX multiplier for every 10-fold increase of system size.
Name | Value | Comment
--- | --- | ---
Nominal Power (kW) | 5,500.0 | Production of ca. 1 t of H2 per day to compare with PEC and photocatalytic models.
Maximal electrolyzer capacity | 5000 | *this needs to be looked up, now it is just a value
CAPEX Reference Power (kW) | 1,000.0
Power requirement increase per year | 0.3% | Based on Chang 2020
Minimum capacity | 10.0% | Based on Chang 2020, minimum capacity for electrolyzer to operate.
Expand All @@ -70,10 +73,26 @@ Replacement time (h) | 80,000.0 | Based on Chang 2020, operating time after whic
Name | Value | Path | Comment
--- | --- | --- | ---
Nominal Power (kW) | 1.5 | Electrolyzer > Nominal Power (kW) > Value | Optimal PV oversize ratio, same as Chang 2020
Power per module (kW)| 340 | | Based on the work by Palmer 2021
CAPEX Reference Power (kW) | 1,000.0
Power loss per year | 0.5% | Based on Chang 2020
Efficiency | 22% | None | Only used for area calculation.

# Battery

Name | Value | Comment
--- | --- | ---
Capacity (kWh) | 4000 | Size of battery, considering capacity minimum of 20%, capacity has to be 20% larger than design capacity
Round trip efficiency | 100% | For lithium ion battery


# Reverse Osmosis
Name | Value | Path | Comment
--- | --- | --- | ---
Power Demand (kWh/m3) | 2.71 | based on Hausmann 2021 and Kim 2008 (this was chosen for a purity of < 10 ppm of disolved salts in the obtained water)
Recovery Rate | 40.0% | based Palmer 2021 and Tewlour 2022


# Direct Capital Costs - PV

Name | Value | Path | Comment
Expand All @@ -86,6 +105,18 @@ Name | Value | Path | Comment
--- | --- | --- | ---
Electrolyzer CAPEX ($/kW) | 784.0 | Electrolyzer > Nominal Power (kW) > Value ; Electrolyzer > Scaling Factor > Value | Based on Chang 2020, IRENA 2020 Green Hydrogen (PEM System CAPEX 700 - 1400 $/kg), Shah 2021.

# Direct Capital Costs - Battery

Name | Value | Path
--- | --- | ---
Battery CAPEX ($/kWh) | 139 | Battery > Capacity (kWh) > Value

# Direct Capital Costs - Reverse Osmosis

Name | Value | Path | Comment
--- | --- | --- | ---
Reverse Osmosis CAPEX () | 0 | | (inscomming, not yet resolved)

# Non-Depreciable Capital Costs

Name | Value | Comment
Expand Down Expand Up @@ -120,141 +151,3 @@ Name | Cost ($) | Path | Comment
--- | --- | --- | ---
Electrolyzer Stack Replacement | 40% | Direct Capital Costs - Electrolyzer > Electrolyzer CAPEX ($/kW) > Value | Based on Chang 2020

# Sensitivity_Analysis - Deactivate

Parameter | Name | Type | Values
--- | --- | --- | ---
Planned Replacement > Electrolyzer Stack Replacement > Cost ($) | Stack repl. cost (% of E-CAPEX) | value | 20%; 80%
Direct Capital Costs - PV > PV CAPEX ($/kW) > Value | PV CAPEX (\$/kW) | value | 400; 1600
Direct Capital Costs - Electrolyzer > Electrolyzer CAPEX ($/kW) > Value | Electrolyzer CAPEX (\$/kW) | value | 400; 1600
Electrolyzer > Conversion efficiency (kg H2/kWh) > Value | Electrolyzer efficiency (kg H_{2}/kWh) | value | 0.015; 0.025
Photovoltaic > Power loss per year > Value | PV power loss per year | value | 0.25%; 1.0%
Electrolyzer > Power requirement increase per year > Value | Electrolyzer power increase per year | value | 0.15%; 0.6%

# Waterfall_Analysis - Deactivate

Parameter | Name | Type | Value | Show Percent
--- | --- | --- | --- | ---
Electrolyzer > Conversion efficiency (kg H2/kWh) > Value | kg($H_{2}$)/ kWh(Electricity) | value | 0.025
Direct Capital Costs - PV > PV CAPEX ($/kW) > Value | \$/kW(PV) | value | 220
Direct Capital Costs - Electrolyzer > Electrolyzer CAPEX ($/kW) > Value | \$/kW(Electro- lyzer) | value | 200
Planned Replacement > Electrolyzer Stack Replacement > Cost ($)| Stack replacement (%E-CAPEX) | value | 20% | True

# Monte_Carlo_Analysis

Name | Value | Comment
--- | --- | ---
Samples | 50,000 | Number of samples in Monte Carlo simulation.
Target Price Range ($) | 1.5; 1.6
Input File | ./PV_E/Base/Monte_Carlo_Output.csv

# Parameters - Monte_Carlo_Analysis

Parameter | Name | Type | Values | File Index | Comment
--- | --- | --- | --- | --- | ---
Direct Capital Costs - PV > PV CAPEX ($/kW) > Value | \$ / kW(PV) | value | Base; 220 | 0 | Based on Waldau 2021 PV CAPEX projection for 2050 (PV module learning rate of 25%, BOS learning rate of 7.5%, base PV growth scenario).
Direct Capital Costs - Electrolyzer > Electrolyzer CAPEX ($/kW) > Value | \$ / kW(Electrolyzer) | value | Base; 200 | 1 | CAPEX reduction to 200 $/kW in 2050 based on IRENA Green Hydrogen 2020, learning curve model Waldau 2021 (using their cost reduction factor of ca. 4-5 until 2050 due to learning).
Electrolyzer > Conversion efficiency (kg H2/kWh) > Value | kg($H_{2}$) / kWh(Electricity) | value | Base; 0.025 | 2 | Maximum efficiency: 0.02538 kg H2/kWh, Chang 2020 (based on reaction enthalpy).
Planned Replacement > Electrolyzer Stack Replacement > Cost ($) | Stack repl. (fr. E-CAPEX) | value | Base; 20% | 3 | Decreasing stack replacement cost to 20% of electrolyzer CAPEX.

# Cost_Contributions_Analysis - Deactivate

# Methods - Cost_Contributions_Analysis

Name | Method Name | Arguments
--- | --- | ---
cost_breakdown_plot_total | cost_breakdown_plot | {'name': 'Cost_Breakdown_Plot', 'show': False, 'save': False}
cost_breakdown_plot_capital | cost_breakdown_plot | {'name': 'Cost_Breakdown_Plot_Capital', 'show': False, 'save': False, 'plugin': 'Capital_Cost_Plugin', 'plugin_property': 'direct_contributions', 'fig_height': 3, 'bottom': 0.2}

# Methods - Sensitivity_Analysis

Name | Method Name | Arguments
--- | --- | ---
sensitivity_box_plot | sensitivity_box_plot | {'show': False, 'save': False, 'fig_width': 8, 'label_offset': 0.12, 'lim_extra': 0.25, 'fig_height': 5.4, 'bottom': 0.1, 'top': 0.98, 'format_cutoff': 7}

# Methods - Waterfall_Analysis

Name | Method Name | Arguments
--- | --- | ---
waterfall_chart | plot_waterfall_chart | {'show': True, 'save': False, 'fig_width': 9, 'width': 0.55}

# Methods - Monte_Carlo_Analysis

Name | Method Name | Arguments
--- | --- | ---
distance_cost_relationship | plot_distance_cost_relationship | Arguments - MC Analysis - distance_cost
distance_histogram | plot_distance_histogram | {'show': False, 'xlabel': True, 'save': False, 'pdf': True, 'image_kwargs': {'path': 'pyH2A.Other~PV_E_Clipart.png'}}
colored_scatter | plot_colored_scatter | Arguments - MC Analysis - colored_scatter
target_parameters | plot_target_parameters_by_distance | {'show': False}

# Arguments - MC Analysis - colored_scatter

Name | Value
--- | ---
show | False
save | False
pdf | False
dpi | 500
base_string | Base
title_string | Target cost range:
plot_kwargs | {'left': 0.32, 'right': 0.94, 'bottom': 0.13, 'top': 0.92, 'fig_width': 6.5, 'fig_height': 4.0}
image_kwargs | {'x': -0.41, 'zoom': 0.092, 'y': 0.5, 'path': 'pyH2A.Other~PV_E_Clipart.png'}

# Arguments - MC Analysis - distance_cost

Name | Value
--- | ---
legend_loc | upper right
log_scale | True
plot_kwargs | {'show': False, 'save': False, 'dpi': 300, 'left': 0.09, 'right': 0.5, 'bottom': 0.15, 'top': 0.95, 'fig_width': 9, 'fig_height': 3.5}
table_kwargs | {'ypos': 0.5, 'xpos': 1.05, 'height': 0.5}
image_kwargs | {'path': 'pyH2A.Other~PV_E_Clipart.png', 'x': 1.6, 'zoom': 0.095, 'y': 0.2}

# Comparative_MC_Analysis - Deactivate

Name | Value | Image
--- | --- | ---
pec | ./PEC/Base/PEC_Base.md | pyH2A.Other~PEC_Clipart.png
photocatalytic | ./Photocatalytic/Base/Photocatalytic_Base.md | pyH2A.Other~Photocatalytic_Clipart.png
pv_e | ./PV_E/Base/PV_E_Base.md | pyH2A.Other~PV_E_Clipart.png

# Methods - Comparative_MC_Analysis

Name | Method Name | Arguments
--- | --- | ---
comparative_distance_histogram | plot_comparative_distance_histogram | Arguments - Comparative MC Analysis - distance_histogram
comparative_distance_cost_relationship | plot_comparative_distance_cost_relationship | Arguments - Comparative MC Analysis - distance_cost
comparative_distance_combined | plot_combined_distance | {'show': False, 'save': False, 'left': 0.06, 'fig_width': 13, 'dist_kwargs': {'legend_loc': 'upper right', 'log_scale': True}, 'table_kwargs': {'colWidths': [0.65, 0.25, 0.12, 0.25]}, 'hist_kwargs': {'title_string': 'Target cost range:'}}

# Arguments - Comparative MC Analysis - distance_cost

Name | Value
--- | ---
show | False
save | False
pdf | False
dpi | 300
fig_height | 5
fig_width | 9
top | 0.98
bottom | 0.1
dist_kwargs | {'log_scale': True, 'ylabel_string': 'Levelized cost of $H_{2}$ / \$/kg($H_{2}$)'}
table_kwargs | {'format_cutoff': 7, 'height': 0.3, 'colWidths': [0.65, 0.2, 0.09, 0.2]}

# Arguments - Comparative MC Analysis - distance_histogram

Name | Value
--- | ---
show | False
save | False
pdf | False
dpi | 500
fig_width | 5.5
fig_height | 4.5
left | 0.35
right | 0.97
bottom | 0.12
top | 0.93
hist_kwargs | {'show_parameter_table': False}
image_kwargs | {'x': -0.38}

Binary file not shown.
Binary file not shown.
Loading