-
Notifications
You must be signed in to change notification settings - Fork 45
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #443 from NREL/develop
Stochastic/Multi-Outages: add Outages outputs and CHP; CHP defaults fixes;
- Loading branch information
Showing
17 changed files
with
460 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
102 changes: 102 additions & 0 deletions
102
...ations/0031_rename_unserved_load_series_outageoutputs_unserved_load_series_kw_and_more.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# Generated by Django 4.0.4 on 2023-03-20 22:23 | ||
|
||
import django.contrib.postgres.fields | ||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('job', '0030_merge_20230317_1434'), | ||
] | ||
|
||
operations = [ | ||
migrations.RenameField( | ||
model_name='outageoutputs', | ||
old_name='unserved_load_series', | ||
new_name='unserved_load_series_kw', | ||
), | ||
migrations.RemoveField( | ||
model_name='outageoutputs', | ||
name='generator_fuel_used_per_outage', | ||
), | ||
migrations.RemoveField( | ||
model_name='outageoutputs', | ||
name='unserved_load_per_outage', | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='generator_curtailed_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of generator power curtailed in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='generator_fuel_used_per_outage_gal', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, help_text='Generator fuel used in each outage modeled. Outage duration changes along the first dimension and outage start time changes along the second dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='generator_microgrid_size_kw', | ||
field=models.FloatField(blank=True, help_text='Optimal generator capacity included in the microgrid.', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='generator_microgrid_upgrade_cost', | ||
field=models.FloatField(blank=True, help_text='Capital cost of including the generator system in the microgrid.', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='generator_to_load_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of generator power used to meet load in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='generator_to_storage_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of generator power sent to the battery in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='pv_curtailed_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of PV power curtailed in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='pv_microgrid_size_kw', | ||
field=models.FloatField(blank=True, help_text='Optimal PV capacity included in the microgrid.', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='pv_microgrid_upgrade_cost', | ||
field=models.FloatField(blank=True, help_text='Capital cost of including the PV system in the microgrid.', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='pv_to_load_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of PV power used to meet load in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='pv_to_storage_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of PV power sent to the battery in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='storage_discharge_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of storage power discharged in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='storage_microgrid_upgrade_cost', | ||
field=models.FloatField(blank=True, help_text='Capital cost of including the electric storage system in the microgrid.', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='unserved_load_per_outage_kwh', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, help_text='The total unserved load for each outage start time and duration. Outage duration changes along the first dimension and outage start time changes along the second dimension.', size=None), | ||
), | ||
migrations.AlterField( | ||
model_name='reoptjlmessageoutputs', | ||
name='has_stacktrace', | ||
field=models.BooleanField(blank=True, default=False, help_text='REopt.jl can return a handled error with corrective instructions or an unhandled error with a stacktrace of what went wrong for further insepction.This field is True if the error message has a stacktrace, otherwise False.'), | ||
), | ||
] |
55 changes: 55 additions & 0 deletions
55
job/migrations/0032_outageoutputs_chp_curtailed_series_kw_and_more.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# Generated by Django 4.0.4 on 2023-03-22 23:28 | ||
|
||
import django.contrib.postgres.fields | ||
import django.core.validators | ||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('job', '0031_rename_unserved_load_series_outageoutputs_unserved_load_series_kw_and_more'), | ||
] | ||
|
||
operations = [ | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='chp_curtailed_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of CHP power curtailed in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='chp_fuel_used_per_outage_mmbtu', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, help_text='CHP fuel used in each outage modeled. Outage duration changes along the first dimension and outage start time changes along the second dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='chp_microgrid_size_kw', | ||
field=models.FloatField(blank=True, help_text='Optimal CHP electric capacity included in the microgrid.', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='chp_microgrid_upgrade_cost', | ||
field=models.FloatField(blank=True, help_text='Capital cost of including the CHP system in the microgrid.', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='chp_to_load_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of CHP power used to meet load in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='outageoutputs', | ||
name='chp_to_storage_series_kw', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, size=None), blank=True, default=list, size=None), blank=True, default=list, help_text='Array of CHP power sent to the battery in every outage modeled. Outage duration changes along the first dimension, outage start time changes along the second dimension, and hour within outage changes along the third dimension.', size=None), | ||
), | ||
migrations.AlterField( | ||
model_name='financialinputs', | ||
name='microgrid_upgrade_cost_fraction', | ||
field=models.FloatField(blank=True, default=0, help_text='Additional cost, in percent of non-islandable capital costs, to make a distributed energy system islandable from the grid and able to serve critical loads. Includes all upgrade costs such as additional labor and critical load panels. Costs apply only when modeling outages using the outage_start_time_steps, outage_durations, and outage_probabilities inputs, and do not apply when modeling a single outage using outage_start_time_step and outage_end_time_step.', validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)]), | ||
), | ||
migrations.AlterField( | ||
model_name='financialoutputs', | ||
name='microgrid_upgrade_cost', | ||
field=models.FloatField(blank=True, help_text='Cost to make a distributed energy system islandable from the grid. Determined by multiplying the total capital costs of resultant energy systems from REopt (such as PV and Storage system) with the input value for microgrid_upgrade_cost_fraction (which defaults to 0).', null=True), | ||
), | ||
] |
Oops, something went wrong.