Skip to content

Commit

Permalink
update greenheart example config input file
Browse files Browse the repository at this point in the history
  • Loading branch information
bayc committed Aug 23, 2024
1 parent 40d66a3 commit 177448c
Showing 1 changed file with 147 additions and 22 deletions.
169 changes: 147 additions & 22 deletions examples/greenheart/05-offshore-h2/input/plant/greenheart_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,28 @@ site:
mean_windspeed: False
depth: 45 #m
wind_layout:
row_spacing: 7 # Also defined in ORBIT config for offshore layout. Will need to update and consolidate to hopefully HOPP config file. This row_spacing and turbine_spacing are used for onshore layout.
turbine_spacing: 7 # Also defined in ORBIT config for offshore layout. Will need to update and consolidate to hopefully HOPP config file. This row_spacing and turbine_spacing are used for onshore layout.
row_spacing: 7 # Also defined in ORBIT config for offshore layout. Greenheart config values override the values in ORBIT.
turbine_spacing: 7 # Also defined in ORBIT config for offshore layout. Greenheart config values override the values in ORBIT.
grid_angle: 0 # wind layout grid angle in degrees where 0 is north, increasing clockwise
row_phase_offset: 0 # wind layout offset of turbines along row from one row to the next
project_parameters:
project_lifetime: 30
grid_connection: False # option, can be turned on or off
ppa_price: 0.025 # $/kWh based on 2022 land based wind market report (ERCOT area ppa prices) https://www.energy.gov/sites/default/files/2022-08/land_based_wind_market_report_2202.pdf
atb_year: 2025
cost_year: 2022 # to match ATB
atb_year: 2030
cost_year: 2020 # to match ATB
finance_parameters:
general_inflation: 0.025 # based on 2022 ATB
discount_rate: 0.10 # nominal return based on 2022 ATB basline workbook
debt_equity_split: 68.5 # 2022 ATB uses 68.5% debt
property_tax: 0.01 # percent of CAPEX # combined with property insurance then between H2A and H2FAST defaults
costing_general_inflation: 0.025 # used to adjust modeled costs to cost_year
profast_general_inflation: 0 # based on 2022 ATB
discount_rate: 0.11 # nominal return based on 2022 ATB basline workbook
debt_equity_split: False # 2022 ATB uses 68.5% debt
debt_equity_ratio: 1.72
property_tax: 0.01 # percent of CAPEX # combined with property insurance then between H2A and H2FAST defaults
property_insurance: 0.005 # percent of CAPEX # combined with property tax then between H2A and H2FAST defaults
total_income_tax_rate: 0.257 # 0.257 tax rate in 2022 atb baseline workbook # current federal income tax rate, but proposed 2023 rate is 0.28. No state income tax in Texas
total_income_tax_rate: 0.2574 # 0.257 tax rate in 2022 atb baseline workbook # current federal income tax rate, but proposed 2023 rate is 0.28. No state income tax in Texas
capital_gains_tax_rate: 0.15 # H2FAST default
sales_tax_rate: 0.0 #Verify that a different rate shouldn't be used # minimum total sales tax rate in Corpus Christi https://www.cctexas.com/detail/corpus-christi-type-fund-purpose - does this apply to H2?
debt_interest_rate: 0.06
debt_interest_rate: 0.05
debt_type: "Revolving debt" # can be "Revolving debt" or "One time loan". Revolving debt is H2FAST default and leads to much lower LCOH
loan_period: 0 # H2FAST default, not used for revolving debt
cash_onhand_months: 1 # H2FAST default
Expand All @@ -33,8 +35,8 @@ finance_parameters:
wind: 2022 # based on turbine capex value provided to ORBIT from 2022 ATB
wind_and_electrical: 2022 # for ORBIT opex
wave: 2020 # confirmed by Kaitlin Brunik 20240103
solar: 2022 # TODO check
battery: 2022 # TODO check
solar: 2020 # Updated for GS
battery: 2020 # Updated for GS
platform: 2022 # TODO ask Nick and Charlie
electrical_export_system: 2022 # also from ORBIT, so match wind assumptions. TODO ask Sophie Bradenkamp
desal: 2013 # from code citation: https://www.nrel.gov/docs/fy16osti/66073.pdf
Expand All @@ -50,13 +52,23 @@ finance_parameters:
h2_pipe_array: 2018 # ANL costs
h2_transport_pipeline: 2018 # same model for costs as the h2_pipe_array
wind:
expected_plant_cost: 'none'
expected_plant_cost: 'none' #4216.54 # $/kw 2030 GW scale
electrolyzer:
rating: 180 # MW # 0.9*Plant rating appears near-optimal for 400 MW wind plant with 3 days of underground pipe storage # MW
electrolyzer_capex: 700 # $/kW conservative 2025 centralized. high 700, low 300 # based on https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2020/Dec/IRENA_Green_hydrogen_cost_2020.pdf
sizing:
resize_for_enduse: False
size_for: 'BOL' #'BOL' (generous) or 'EOL' (conservative)
hydrogen_dmd:
rating: 986 # MW # 0.9*Plant rating appears near-optimal for 400 MW wind plant with 3 days of underground pipe storage # MW
cluster_rating_MW: 40
pem_control_type: 'basic'
eol_eff_percent_loss: 13 #eol defined as x% change in efficiency from bol
uptime_hours_until_eol: 77600 #number of 'on' hours until electrolyzer reaches eol
include_degradation_penalty: True #include degradation
turndown_ratio: 0.1 #turndown_ratio = minimum_cluster_power/cluster_rating_MW
electrolyzer_capex: 1600 # $/kW
time_between_replacement: 62320 # 62320 based on PEM Electrolysis H2A Production Case Study Documentation estimate of 7 years, 40000 based on current est (see unpublished report), 80000 hours based on OSW atb_year = 2025
replacement_cost_percent: 0.15 # percent of capex - H2A default case
model: "singlitico2021" # "basic" is a basic cost model based on H2a and HFTO program record for PEM electrolysis. "singlitico2021" uses cost estimates from that paper
cost_model: "singlitico2021" # "basic" is a basic cost model based on H2a and HFTO program record for PEM electrolysis. "singlitico2021" uses cost estimates from that paper
h2_transport_compressor:
outlet_pressure: 68 # bar based on HDSAM
h2_storage_compressor:
Expand All @@ -68,10 +80,11 @@ h2_storage_compressor:
h2_transport_pipe:
outlet_pressure: 10 # bar - from example in code from Jamie #TODO check this value
h2_storage:
# capacity_kg: 18750 # kg
size_capacity_from_demand:
flag: True # If True, then storage is sized to provide steady-state storage
capacity_from_max_on_turbine_storage: False # if True, then days of storage is ignored and storage capacity is based on how much h2 storage fits on the turbines in the plant using Kottenstete 2003.
type: "none" # can be one of ["none", "pipe", "turbine", "pressure_vessel", "salt_cavern", "lined_rock_cavern"]
days: 3 # [days] how many days worth of production we should be able to store (this is ignored if `capacity_from_max_on_turbine_storage` is set to True)
type: "salt_cavern" # can be one of ["none", "pipe", "turbine", "pressure_vessel", "salt_cavern", "lined_rock_cavern"]
days: 0 # [days] how many days worth of production we should be able to store (this is ignored if `capacity_from_max_on_turbine_storage` is set to True)
# platform:
# opex_rate: 0.0111 # % of capex to determine opex (see table 5 in https://www.acm.nl/sites/default/files/documents/study-on-estimation-method-for-additional-efficient-offshore-grid-opex.pdf)
# installation_days: 14 # days
Expand All @@ -82,6 +95,7 @@ h2_storage:
# tech_combined_mass: -1
# tech_required_area: -1
platform:
type: "Fixed"
opex_rate: 0.0111 # % of capex to determine opex (see table 5 in https://www.acm.nl/sites/default/files/documents/study-on-estimation-method-for-additional-efficient-offshore-grid-opex.pdf)
# Modified orbit configuration file for a single platform to carry "X technology"
design_phases:
Expand All @@ -105,37 +119,46 @@ policy_parameters: # these should be adjusted for inflation prior to application
electricity_itc: 0
electricity_ptc: 0
h2_ptc: 0
h2_storage_itc: 0
option2: # base credit levels with H2
electricity_itc: 0
electricity_ptc: 0.003 # $0.003/kW (this is base, see inflation adjustment in option 3)
h2_ptc: 0.6 # $0.60/kg h2 produced - assumes net zero but not meeting prevailing wage requirements - does this need to be
# adjusted for inflation from 2022 dollars to claim date, probably constant after claim date?
h2_storage_itc: 0.06
option3: # same as option 5, but assuming prevailing wages are met --> 5x multiplier on both PTCs
electricity_itc: 0
electricity_ptc: 0.015 # $/kWh 1992 dollars
h2_ptc: 3.00 # $/kg 2022 dollars - do not adjust for inflation
h2_storage_itc: 0.3
# bonus options, option 5 and 6 but ITC equivalents
option4: # prevailing wages not met
electricity_itc: 0.06 # %/100 capex
electricity_ptc: 0.00 # $/kW 1992 dollars
h2_ptc: 0.6 # $0.60/kg produced 2022 dollars - assumes net zero but not meeting prevailing wage requirements - does this need to be
h2_storage_itc: 0
# do not adjust for inflation, probably constant after claim date?
h2_storage_itc: 0.06
option5: # prevailing wages met
electricity_itc: 0.30 # %/100 capex
electricity_ptc: 0.0 # $/kWh 1992 dollars
h2_ptc: 3.00 # $/kg of h2 produced 2022 dollars - do adjust for inflation every year applied and until application year
h2_storage_itc: 0.3
option6: # assumes prevailing wages are met, and includes 10% bonus credit of domestic content (100% of steel and iron
# and mfg. components from the US)
electricity_itc: 0.40 # %/100 capex
electricity_ptc: 0.0 # $/kWh 1992 dollars
h2_ptc: 3.00 # $/kg of h2 produced 2022 dollars - do adjust for inflation every year applied and until application year
h2_storage_itc: 0.4
option7: # assumes prevailing wages are met, and includes 10% bonus credit of domestic content (100% of steel and iron
# and mfg. components from the US)
electricity_itc: 0.0 # %/100 capex
electricity_ptc: 0.0165 # $/kWh 1992 dollars (0.015*1.1)
h2_ptc: 3.00 # $/kg of h2 produced 2022 dollars - do adjust for inflation every year applied and until application year
h2_storage_itc: 0
# you can elect itc_for_h2 in leu of the h2_ptc - this choice is independent of the other tech credit selections
# 6% or %50 for itc_for_h2
h2_storage_itc: 0.5

plant_design:
scenario0:
Expand All @@ -150,8 +173,8 @@ plant_design:
transportation: "hvdc" # can be one of ["hvdc", "pipeline", "none", hvdc+pipeline, "colocated"]
h2_storage_location: "onshore" # can be one of ["onshore", "turbine", "platform"]
wind_location: "offshore" # can be one of ["onshore", "offshore"]
pv_location: "none" # can be one of ["none", "onshore", "platform"]
battery_location: "none" # can be one of ["none", "onshore", "platform"]
pv_location: "onshore" # can be one of ["none", "onshore", "platform"]
battery_location: "onshore" # can be one of ["none", "onshore", "platform"]
scenario2:
electrolyzer_location: "onshore" # can be one of ["onshore", "turbine", "platform"]
transportation: "hvdc" # can be one of ["hvdc", "pipeline", "none", hvdc+pipeline, "colocated"]
Expand Down Expand Up @@ -207,4 +230,106 @@ plant_design:
h2_storage_location: "onshore" # can be one of ["onshore", "turbine", "platform"]
wind_location: "onshore" # can be one of ["onshore", "offshore"]
pv_location: "none" # can be one of ["none", "onshore", "platform"]
battery_location: "none" # can be one of ["none", "onshore", "platform"]
battery_location: "none" # can be one of ["none", "onshore", "platform"]
scenario10:
electrolyzer_location: "platform" # can be one of ["onshore", "turbine", "platform"]
transportation: "pipeline" # can be one of ["hvdc", "pipeline", "none", hvdc+pipeline, "colocated"]
h2_storage_location: "onshore" # can be one of ["onshore", "turbine", "platform"]
pv_location: "platform" # can be one of ["none", "onshore", "platform"]
wind_location: "offshore" # can be one of ["onshore", "offshore"]
battery_location: "platform" # can be one of ["none", "onshore", "platform"]
scenario11:
electrolyzer_location: "platform" # can be one of ["onshore", "turbine", "platform"]
transportation: "pipeline" # can be one of ["hvdc", "pipeline", "none", hvdc+pipeline, "colocated"]
h2_storage_location: "onshore" # can be one of ["onshore", "turbine", "platform"]
wind_location: "offshore" # can be one of ["onshore", "offshore"]
pv_location: "platform" # can be one of ["none", "onshore", "platform"]
battery_location: "none" # can be one of ["none", "onshore", "platform"]

opt_options:
opt_flag: True
general:
folder_output: "output"
fname_output: "optimization_log"
design_variables:
electrolyzer_rating_kw:
flag: True
lower: 1000.0
upper: 2000000.0
units: "kW"
pv_capacity_kw:
flag: False
lower: 1000.0
upper: 2000000.0
units: "kW"
wave_capacity_kw:
flag: False
lower: 1000.0
upper: 2000000.0
units: "kW*h"
battery_capacity_kw:
flag: False
lower: 1000.0
upper: 2000000.0
units: "kW"
battery_capacity_kwh:
flag: False
lower: 1000.0
upper: 2000000.0
units: "kW*h"
turbine_x:
flag: False
lower: 0.0
upper: 20000.0
units: "m"
turbine_y:
flag: False
lower: 0.0
upper: 20000.0
units: "m"
constraints:
turbine_spacing:
flag: False
lower: 0.0
boundary_distance:
flag: False
lower: 0.0
pv_to_platform_area_ratio:
flag: False
upper: 1.0 # relative size of solar pv area to platform area
user: {}
merit_figure: "lcoh"
merit_figure_user:
name: "lcoh"
max_flag: False
ref: 1.0 # value of objective that scales to 1.0
driver:
optimization:
flag: True
solver: "SNOPT"
tol: 1E-6
gradient_method: "snopt_fd" # can be one of ['pyopt_fd', 'openmdao', 'snopt_fd']
max_major_iter: 1
max_minor_iter: 2
# time_limit: 10 # (sec) optional
# "hist_file_name: "snopt_history.txt", # optional
verify_level: 0 # optional
step_calc: None
form: "forward" # type of finite differences to use, can be one of ["forward", "backward", "central"]
debug_print: False
design_of_experiments:
flag: False
run_parallel: False
generator: FullFact # [Uniform, FullFact, PlackettBurman, BoxBehnken, LatinHypercube]
num_samples: 5 # Number of samples to evaluate model at (Uniform and LatinHypercube only)
seed: 2
levels: 5 # Number of evenly spaced levels between each design variable lower and upper bound (FullFactorial only)
criterion: None # [None, center, c, maximin, m, centermaximin, cm, correelation, corr]
iterations: 1
debug_print: False
step_size_study:
flag: False
recorder:
flag: True
file_name: "record.sql"
includes: False

0 comments on commit 177448c

Please sign in to comment.