Difference between revisions of "DER VET User Guide/Inputs"
en>MilesEvans |
m (adds Electrolyzer System specific inputs) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE: {{SUBPAGENAME}}}} | {{DISPLAYTITLE: {{SUBPAGENAME}}}} | ||
{{DER-VET User Guide Navigation}} | |||
This section of the DER-VET User Guide will describe in detail all inputs to the command-line (Python) version of DER-VET that are not under a [[DER_VET_User_Guide/Technologies| technology]] or [[DER_VET_User_Guide/Services | service]] and the impact they have on the simulation. In addition, advanced topics, such as support for high performance computing, are covered here. | This section of the DER-VET User Guide will describe in detail all inputs to the command-line (Python) version of DER-VET that are not under a [[DER_VET_User_Guide/Technologies| technology]] or [[DER_VET_User_Guide/Services | service]] and the impact they have on the simulation. In addition, advanced topics, such as support for high performance computing, are covered here. | ||
Line 18: | Line 19: | ||
|Scenario | |Scenario | ||
|monthly_data_filename | |monthly_data_filename | ||
|This is a file path (usually a relative file path) pointing to a monthly data file. The monthly data file expresses | |This is a file path (usually a relative file path) pointing to a monthly data file. The monthly data file expresses demand response program participation and price, and resource adequacy prices. If none of these are applicable to your case, the monthly_data_filename input can be left as default. | ||
|} | |} | ||
Line 129: | Line 130: | ||
|} | |} | ||
=== | === Activate Electricity Load Dump === | ||
{| class='wikitable' style="width: 95%;" | {| class='wikitable' style="width: 95%;" | ||
|- | |- | ||
Line 137: | Line 138: | ||
|- | |- | ||
|Scenario | |Scenario | ||
| | |activate_electricity_load_dump | ||
|This is a binary (0 or 1) flag to tell DER-VET whether or not to | |This is a binary (0 or 1) flag to tell DER-VET whether or not to activate an electricity load dump. Load dump will '''not''' be an optimization variable. When setting this to 1, a ''Load Dump (kW)'' column will appear in the [[DER_VET_User_Guide/Outputs#timeseries_results.csv | time series results CSV]]. '''Note''': with [[DER_VET_User_Guide/Inputs#Apply_Interconnection_Constraints | apply_interconnection_constraints]] OFF, Load Dump will be all zeroes. With [[DER_VET_User_Guide/Inputs#Apply_Interconnection_Constraints | apply_interconnection_constraints]] ON, DER-VET disables the [[DER_VET_User_Guide/Inputs#Max_Export | max_export]] POI constraint in the optimization, and determines the load dump as a post-optimization calculation. | ||
|} | |} | ||
Line 296: | Line 297: | ||
|external_incentives | |external_incentives | ||
|This binary input (0 or 1) tells DER-VET whether or not to include the nominal yearly tax credits or other financial incentives contained in the [[DER_VET_User_Guide/Inputs/Yearly_File_Inputs | yearly inputs]] file. | |This binary input (0 or 1) tells DER-VET whether or not to include the nominal yearly tax credits or other financial incentives contained in the [[DER_VET_User_Guide/Inputs/Yearly_File_Inputs | yearly inputs]] file. | ||
This is an optional parameter and may be left out the Inputs file. | |||
|} | |} | ||
Line 374: | Line 377: | ||
|ecc_mode | |ecc_mode | ||
|Binary input (0 or 1) indicating whether or not to annualize all costs and benefits of the microgrid. When 1, the capital and ongoing costs of the DERs will be converted into an annual economic carrying cost (ECC) and compared to the annualized benefits of the system. | |Binary input (0 or 1) indicating whether or not to annualize all costs and benefits of the microgrid. When 1, the capital and ongoing costs of the DERs will be converted into an annual economic carrying cost (ECC) and compared to the annualized benefits of the system. | ||
This is an optional parameter and may be left out the Inputs file. | |||
|} | |||
=== Liquid Fuel Price === | |||
{| class='wikitable' style="width: 95%;" | |||
|- | |||
|style="width: 10%"|Tag | |||
|style="width: 20%"|Key | |||
|style="width: 70%"|Description | |||
|- | |||
|Scenario | |||
|fuel_price_liquid | |||
|The cost in $/MMBTU of liquid fuel for any DER in the project that consume liquid fuel. | |||
|} | |||
=== Gas Fuel Price === | |||
{| class='wikitable' style="width: 95%;" | |||
|- | |||
|style="width: 10%"|Tag | |||
|style="width: 20%"|Key | |||
|style="width: 70%"|Description | |||
|- | |||
|Scenario | |||
|fuel_price_gas | |||
|The cost in $/MMBTU of natural gas fuel for any DER in the project that consume natural gas. | |||
|} | |||
=== Other Fuel Price === | |||
{| class='wikitable' style="width: 95%;" | |||
|- | |||
|style="width: 10%"|Tag | |||
|style="width: 20%"|Key | |||
|style="width: 70%"|Description | |||
|- | |||
|Scenario | |||
|fuel_price_other | |||
|The cost in $/MMBTU of the 'other' fuel type for any DER in the project that consume fuel of the type 'other'. | |||
|} | |} | ||
Line 402: | Line 443: | ||
|label | |label | ||
|Give this case a name, which will be used to distinguish it from other cases in the Results folder. | |Give this case a name, which will be used to distinguish it from other cases in the Results folder. | ||
This is an optional parameter and may be left out of the Inputs file. | |||
This name will only be used if the 'Active' column is set to 'yes' for the [[DER_VET_User_Guide/Inputs#Output_Label | label]] row. | This name will only be used if the 'Active' column is set to 'yes' for the [[DER_VET_User_Guide/Inputs#Output_Label | label]] row. | ||
Line 434: | Line 477: | ||
= Battery Cycle Life Inputs = | = Battery Cycle Life Inputs = | ||
[[DER_VET_User_Guide/Inputs/Cycle_Life_File | Battery Cycle Life File Inputs]] | [[DER_VET_User_Guide/Inputs/Cycle_Life_File | Battery Cycle Life File Inputs]] | ||
= Electrolyzer System Inputs = | |||
[[DER_VET_User_Guide/Inputs/ElectrolyzerSystem_Degradation_Curve_File | Electrolyzer System Degradation Curve File Input]] | |||
[[DER_VET_User_Guide/Inputs/ElectrolyzerSystem_Efficiency_Curve_File | Electrolyzer System Variable Efficiency Curve File Input]] | |||
= Load Shed Schedule Inputs = | = Load Shed Schedule Inputs = |
Latest revision as of 19:07, 17 December 2024
Index |
---|
Installing DER-VET |
Running a Case |
Model Details |
Services |
Technologies |
Command Line Inputs |
Command Line Outputs |
GUI Inputs |
GUI Results |
GUI Quick Start Cases |
Resolving Issues |
This section of the DER-VET User Guide will describe in detail all inputs to the command-line (Python) version of DER-VET that are not under a technology or service and the impact they have on the simulation. In addition, advanced topics, such as support for high performance computing, are covered here.
Model Parameters Files
Inputs can be passed to run_dervet.py in two different forms, a .csv file or a .json file. If a .csv file is given (e.g. python run_dervet.py Model_Parameters_Template_DER.csv), it will be converted to a .json file, which will be saved alongside the .csv. Both the .csv and .json files express the same information. This page will focus on the .csv format, which will be more directly useful to most users, but all information here is also applicable to .json inputs.
Scenario Inputs
The "Scenario" tag (Column A in the default model parameters template) describes a set of inputs that govern high-level model parameters, such as data sources, the analysis window, the optimization window, and optimization settings.
Monthly Data Filename
Tag | Key | Description |
Scenario | monthly_data_filename | This is a file path (usually a relative file path) pointing to a monthly data file. The monthly data file expresses demand response program participation and price, and resource adequacy prices. If none of these are applicable to your case, the monthly_data_filename input can be left as default. |
Timeseries filename
Tag | Key | Description |
Scenario | time_series_filename | This is a file path (usually a relative file path) pointing to a time series data file. This file is almost always required for a case. Best practice is to save a new timeseries data file with a meaningful name for each case you run and edit the time_series_filename parameter to match. |
Timestep
Tag | Key | Description |
Scenario | dt | dt determines the time step used in the simulation in units of hours. Common options for this include 0.25 (15 minutes), 0.5 (30 minutes), and 1 (1 hour). Other options include 0.083 (5 minutes) and 0.016 (one minute). These options are not recommended due to their computational intensity.
All time series data in the program will follow this time step. The timeseries data file must contain time stamps in the "Datetime (he)" column that increment by dt. dt, along with the optimization window size, are key components in determining the time it takes to solve an optimization problem. Generally, longer time steps result in faster solve times. |
Optimization Years
Tag | Key | Description |
Scenario | opt_years | opt_years indicate which years DER-VET will solve an optimization problem for. Any years not included in opt_years will not generate an optimization problem and DER-VET will fill in the financial results for those years by either escalating past results or interpolating between two optimization years.
DER-VET will dynamically add to the list of optimization years as needed, including the years before and after a deferral fails, a storage system reaches its end of life, or another non-replaceable piece of equipment reaches its end of life. Best practice is to include an optimization year at the beginning of a project's operation and at the end of the project's life. The format for including multiple opt_years is to separate them by spaces in the input file. e.g., optimizing the years 2021 and 2030 would be indicated by "2021 2030" in this input. Each optimization year requires a corresponding set of data in the timeseries input file. Simply append more years of data to the bottom of the timeseries input file, ensuring that the new time stamps match the opt_year, that the timestamps increment by the dt input, and that the appropriate number of rows are included (e.g. 8784 new rows when dt=1 and the opt_year is a leap year or 8760 for a non-leap year). |
Start Year
Tag | Key | Description |
Scenario | start_year | This represents the first year of operation for the project. All opt_years must be on or after start_year.
Only a single year value may be input here. |
End Year
Tag | Key | Description |
Scenario | end_year | This represents the last year of operation for the project ( start_year = 2020 and end_year = 2030 represents an 11 year project). All opt_years must be on or after start_year.
Only a single year value may be input here. This value will only be used if analysis_horizon_mode is 1. Otherwise, the end of the analysis window is auto-calculated by DER-VET. |
Optimization Window Size
Tag | Key | Description |
Scenario | n | "n" represents the optimization window size used by DER-VET to break up a year of data into smaller more manageable chunks. The longer the optimization window, the more optimization variables are solved for simultaneously, which increases the solve time. By breaking the optimization into smaller chunks (optimization windows), the overall time to solve the whole problem is reduced.
To make each optimization window independent, the SOC of all storage systems must be constrained at the beginning and end of each optimization window. This ensures the result is feasible even though no two optimization windows have any knowledge of each other. The SOC used for this is set using the SOC Target input. The timing of the interface between optimization years and the SOC target can have implications on the results The larger n is, the closer to optimal the results will be. This effect is especially important for energy storage systems. If n is close to (<2x) the duration (energy capacity/power capacity) of a storage system, that storage system may not be able to fully utilize its energy capacity with the optimization window before being required to return to its target SOC at the end of the optimization window. In typical cases, the impact of n on energy time shifting financial results for storage systems is dramatic when n is small (hours to days), but is small when n is "month" or more. n can take the values "year", "month" or some integer number hours. n must be "year" if any size optimization is being performed. The "month" option aligns optimization windows with months, even though months contain different numbers of hours. Entering an integer generates optimization windows of that many hours. |
Include Site Load
Tag | Key | Description |
Scenario | incl_site_load | This is a binary (0 or 1) flag to tell DER-VET whether or not to look in the timeseries inputs file for a site load and include it in the calculations. This parameter must be 1 when the reliability or demand charge management services are active. |
Activate Electricity Load Dump
Tag | Key | Description |
Scenario | activate_electricity_load_dump | This is a binary (0 or 1) flag to tell DER-VET whether or not to activate an electricity load dump. Load dump will not be an optimization variable. When setting this to 1, a Load Dump (kW) column will appear in the time series results CSV. Note: with apply_interconnection_constraints OFF, Load Dump will be all zeroes. With apply_interconnection_constraints ON, DER-VET disables the max_export POI constraint in the optimization, and determines the load dump as a post-optimization calculation. |
Apply Interconnection Constraints
Tag | Key | Description |
Scenario | apply_interconnection_constraints | This is a binary (0 or 1) flag to tell DER-VET whether or not to apply the constraints defined by the max_import and max_export parameters. |
Max Import
Tag | Key | Description |
Scenario | max_import | When the apply_interconnection_constraints flag is turned on, this input will set the maximum import power allowed through the point of interconnection (see the DER-VET single line diagram). This value must be less than or equal to zero to limit the import power.
Setting this parameter to zero is one way to limit a storage system to only charge from local generation. |
Max Export
Tag | Key | Description |
Scenario | max_export | When the apply_interconnection_constraints flag is turned on, this input will set the maximum export power allowed through the point of interconnection (see the DER-VET single line diagram). This value must be greater than or equal to zero to limit the export power.
Setting this parameter to the interconnection capacity of a solar plus storage system (ac or dc coupled) can limit the combined generation/discharge power from the solar and storage to the shared interconnection capacity and can prompt the storage to charge from excess solar generation/the solar to curtail excess generation. |
Verbose
Tag | Key | Description |
Scenario | verbose | This is a binary (0 or 1) flag to tell DER-VET how much text to publish to the command line interface as it runs. |
Verbose (Optimization)
Tag | Key | Description |
Scenario | verbose_opt | This is a binary (0 or 1) flag to tell DER-VET how much text about the progress of the optimization to publish to the command line interface as it runs. |
Binary
Tag | Key | Description |
Scenario | binary | This is a binary (0 or 1) flag to tell DER-VET whether to run a mixed integer linear programming formulation of the optimization problem or a linear programming formulation.
When binary=1, two binary optimization variables will be produced at every time step for every storage system (or one for generators) which determines the state of the DER (either "charging", "off", or "discharging"). This prevents the (in most cases) undesirable behavior of storage systems concurrently charging and discharging in the simulation and enables minimum power levels for DER. Concurrently charging and discharging is seen when energy prices are negative or there are ancillary services that can benefit from both charging and discharging, but is not possible for most common storage systems. This mode is not compatible with size optimization. When binary=0 a considerably faster linear program will be solved. In many cases, this formulation is okay but care should be taken to ensure the case does not exhibit concurrent charging and discharging. This mode is not compatible with minimum power levels. |
Ownership
Tag | Key | Description |
Scenario | ownership | This input tells DER-VET what perspective to take. This can be 'customer', 'utility', or '3rd party'. |
Location
Tag | Key | Description |
Scenario | location | This input tells DER-VET on what part of the grid the the project will be connected to. It can be either 'generation', 'transmission', 'distribution', or 'customer'. |
Finance Inputs
Inflation Rate
Tag | Key | Description |
Scenario | inflation_rate | The inflation rate is used to escalate fixed yearly costs/benefits so their value remains constant in real terms. |
Discount Rate
Tag | Key | Description |
Scenario | npv_discount_rate | The discount rate is used convert dollars (or other currency) between years, particularly in present value calculations. The nominal cash flows in the pro forma output file will be brought back to present in the net present value calculation using this rate. |
Yearly Data Filename
Tag | Key | Description |
Scenario | yearly_data_filename | This file path input (usually a relative file path) points to a yearly inputs file, which contains yearly tax credits or other incentives. These are only applied to the financial results when the external incentives input is set to 1. |
External Incentives
Tag | Key | Description |
Scenario | external_incentives | This binary input (0 or 1) tells DER-VET whether or not to include the nominal yearly tax credits or other financial incentives contained in the yearly inputs file.
This is an optional parameter and may be left out the Inputs file. |
Customer Tariff Filename
Tag | Key | Description |
Scenario | customer_tariff_filename | This file path input points to a properly-formatted DER-VET tariff file, which is used by the retail demand charge management and retail energy cost reduction services. This input will be ignored if neither of those services is selected. |
Analysis Horizon Mode
Tag | Key | Description |
Scenario | analysis_horizon_mode | The analysis horizon mode defines when/how to end the analysis. The options are:
Performing benefit-cost analysis for a project with a mix of DERs, all of which last different numbers of years, can be complicated. Pairing a solar system with a life of 25 years with a battery energy storage system with an expected life of 10 years exemplifies this challenge. Should the analysis extend 25 years, 15 of which will be without a battery? Or should the analysis last 10 years with the remaining benefit from the solar system handled by a simple value adder? This input gives users options for how to end the analysis. |
Federal Tax Rate
Tag | Key | Description |
Scenario | federal_tax_rate | Flat federal tax rate used to calculate tax impact of DERs |
State Tax Rate
Tag | Key | Description |
Scenario | federal_tax_rate | Flat state tax rate used to calculate tax impact of DERs |
Property Tax Rate
Tag | Key | Description |
Scenario | federal_tax_rate | Flat property tax rate used to calculate tax impact of DERs |
Economic Carrying Cost Mode
Tag | Key | Description |
Scenario | ecc_mode | Binary input (0 or 1) indicating whether or not to annualize all costs and benefits of the microgrid. When 1, the capital and ongoing costs of the DERs will be converted into an annual economic carrying cost (ECC) and compared to the annualized benefits of the system.
This is an optional parameter and may be left out the Inputs file. |
Liquid Fuel Price
Tag | Key | Description |
Scenario | fuel_price_liquid | The cost in $/MMBTU of liquid fuel for any DER in the project that consume liquid fuel. |
Gas Fuel Price
Tag | Key | Description |
Scenario | fuel_price_gas | The cost in $/MMBTU of natural gas fuel for any DER in the project that consume natural gas. |
Other Fuel Price
Tag | Key | Description |
Scenario | fuel_price_other | The cost in $/MMBTU of the 'other' fuel type for any DER in the project that consume fuel of the type 'other'. |
Results Inputs
Output Directory Filepath
Tag | Key | Description |
Scenario | dir_absolute_path | This is a full file path to a folder where the Results folder containing output files from DER-VET should be saved.
This path will only be used if the 'Active' column is set to 'yes'. |
Output Label
Tag | Key | Description |
Scenario | label | Give this case a name, which will be used to distinguish it from other cases in the Results folder.
This is an optional parameter and may be left out of the Inputs file. This name will only be used if the 'Active' column is set to 'yes' for the label row. |
Error Log Filepath
Tag | Key | Description |
Scenario | errors_log_path | This is a full file path to a folder where the error logs file should be saved.
This path will only be used if the 'Active' column is set to 'yes' for the label row. |
Timeseries Inputs
Tariff Inputs
Monthly Inputs
Yearly Inputs
Battery Cycle Life Inputs
Battery Cycle Life File Inputs
Electrolyzer System Inputs
Electrolyzer System Degradation Curve File Input
Electrolyzer System Variable Efficiency Curve File Input