-
Notifications
You must be signed in to change notification settings - Fork 41
MPC TLDRD #418
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
base: develop
Are you sure you want to change the base?
MPC TLDRD #418
Conversation
Update REopt License and Copyright per NREL legal
# TODO? make binMGCHPIsOnInTS indexed on p.techs.chp | ||
end | ||
|
||
function add_MG_storage_dispatch_constraints(m,p) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I renamed this function to specify elec storage. The constraints should also be updated to loop b in p.s.storage.types.elec instead hardcoding "ElectricStorage". Like H2 MG state of charge constraint below.
degradation::Dict = Dict() | ||
minimum_avg_soc_fraction::Float64 = 0.0 | ||
capacity_based_per_ts_self_discharge_fraction::Float64 = 0.0 # Battery self-discharge as a fraction per timestep loss based on the rated kWh capacity of the sized storage system | ||
soc_based_per_ts_self_discharge_fraction::Float64 = 0.0 # Battery self-discharge as a fraction per timestep loss based on kWh stored in each timestep |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is leakage typically measured by the hour?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll suggest a rename to soc_self_discharge_rate_fraction
and capacity_self_discharge_rate_fraction
- do we want to include this for all storage techs and zero it out by default? That's what I'm currently implementing; to avoid a breaking change maybe we keep the thermal TES field alone for now and save that for a future update.
soc_init_fraction::Float64 = 0.5 # TES thermal state of charge at first hour of optimization | ||
installed_cost_per_gal::Float64 = 1.50 # Thermal energy-based cost of TES (e.g. volume of the tank) | ||
thermal_decay_rate_fraction::Float64 = 0.0004 # Thermal loss (gain) rate as a fraction of energy storage capacity, per hour (frac*energy_capacity/hr = kw_thermal) | ||
soc_based_per_ts_thermal_decay_fraction::Float64 = 0.0 # Thermal loss (gain) rate as a fraction of the energy stored in each timestep (frac*energy_stored = kw_thermal) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"loss (gain)" and "loss/gain" are a bit confusing. I would just call it energy loss
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
installed_cost_per_gal::Float64 = 1.50 # Thermal energy-based cost of TES (e.g. volume of the tank) | ||
thermal_decay_rate_fraction::Float64 = 0.0004 # Thermal loss (gain) rate as a fraction of energy storage capacity, per hour (frac*energy_capacity/hr = kw_thermal) | ||
soc_based_per_ts_thermal_decay_fraction::Float64 = 0.0 # Thermal loss (gain) rate as a fraction of the energy stored in each timestep (frac*energy_stored = kw_thermal) | ||
capacity_based_per_ts_thermal_decay_fraction::Float64 = 0.0004 # Thermal loss (gain) rate as a fraction of the installed storage capacity per timestep (frac*energy_capacity = kw_thermal); the provided default is for an hourly thermal loss/gain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also I think these field names need to be updated to ...self_discharge...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
No description provided.