-
Notifications
You must be signed in to change notification settings - Fork 47
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 #583 from NREL/disaggregated-heat-load-IO
Disaggregated heat load inputs and outputs + Process heat load
- Loading branch information
Showing
8 changed files
with
590 additions
and
10 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
241 changes: 241 additions & 0 deletions
241
reoptjl/migrations/0059_processheatloadinputs_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,241 @@ | ||
# Generated by Django 4.0.7 on 2024-05-09 20:02 | ||
|
||
import django.contrib.postgres.fields | ||
import django.core.validators | ||
from django.db import migrations, models | ||
import django.db.models.deletion | ||
import reoptjl.models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('reoptjl', '0058_merge_20240425_1527'), | ||
] | ||
|
||
operations = [ | ||
migrations.CreateModel( | ||
name='ProcessHeatLoadInputs', | ||
fields=[ | ||
('meta', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='ProcessHeatLoadInputs', serialize=False, to='reoptjl.apimeta')), | ||
('annual_mmbtu', models.FloatField(blank=True, help_text='Annual site process heat consumption, used to scale simulated load profile [MMBtu]', null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(100000000.0)])), | ||
('fuel_loads_mmbtu_per_hour', django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True), blank=True, default=list, help_text='Typical load over all hours in one year. Must be hourly (8,760 samples), 30 minute (17,520 samples), or 15 minute (35,040 samples). All non-net load values must be greater than or equal to zero. ', size=None)), | ||
], | ||
bases=(reoptjl.models.BaseModel, models.Model), | ||
), | ||
migrations.AddField( | ||
model_name='absorptionchillerinputs', | ||
name='heating_load_input', | ||
field=models.TextField(blank=True, choices=[('DomesitHotWater', 'Domesithotwater'), ('SpaceHeating', 'Spaceheating'), ('ProcessHeat', 'Processheat')], help_text='Absorption chiller heat input - determines what heating load is added to by absorption chiller use', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='boilerinputs', | ||
name='can_serve_dhw', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if boiler can serve domestic hot water load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='boilerinputs', | ||
name='can_serve_process_heat', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if boiler can serve process heat load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='boilerinputs', | ||
name='can_serve_space_heating', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if boiler can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='boileroutputs', | ||
name='thermal_to_dhw_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='boileroutputs', | ||
name='thermal_to_process_heat_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='boileroutputs', | ||
name='thermal_to_space_heating_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='chpinputs', | ||
name='can_serve_dhw', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if CHP can serve hot water load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='chpinputs', | ||
name='can_serve_process_heat', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if CHP can serve process heat load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='chpinputs', | ||
name='can_serve_space_heating', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if CHP can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='chpoutputs', | ||
name='thermal_to_dhw_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='chpoutputs', | ||
name='thermal_to_process_heat_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='chpoutputs', | ||
name='thermal_to_space_heating_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='existingboilerinputs', | ||
name='can_serve_dhw', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if the existing boiler can serve domestic hot water load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='existingboilerinputs', | ||
name='can_serve_process_heat', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if the existing boiler can serve process heat load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='existingboilerinputs', | ||
name='can_serve_space_heating', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if the existing boiler can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='existingboilerinputs', | ||
name='retire_in_optimal', | ||
field=models.BooleanField(blank=True, default=False, help_text='Boolean indicator if the existing boiler is unavailable in the optimal case (still used in BAU)', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='existingboileroutputs', | ||
name='thermal_to_dhw_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='existingboileroutputs', | ||
name='thermal_to_process_heat_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='existingboileroutputs', | ||
name='thermal_to_space_heating_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='ghpinputs', | ||
name='can_serve_process_heat', | ||
field=models.BooleanField(blank=True, default=False, help_text='Boolean indicator if GHP can serve process heat load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='ghpinputs', | ||
name='can_serve_space_heating', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if GHP can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='heatingloadoutputs', | ||
name='annual_calculated_process_heat_boiler_fuel_load_mmbtu', | ||
field=models.FloatField(blank=True, default=0, help_text='Annual site process heat boiler fuel load [MMBTU]', null=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), | ||
), | ||
migrations.AddField( | ||
model_name='heatingloadoutputs', | ||
name='annual_calculated_process_heat_thermal_load_mmbtu', | ||
field=models.FloatField(blank=True, default=0, help_text='Annual site process heat load [MMBTU]', null=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), | ||
), | ||
migrations.AddField( | ||
model_name='heatingloadoutputs', | ||
name='process_heat_boiler_fuel_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), blank=True, default=list, help_text='Hourly process heat boiler fuel load [MMBTU/hr]', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='heatingloadoutputs', | ||
name='process_heat_thermal_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), blank=True, default=list, help_text='Hourly process heat load [MMBTU/hr]', size=None), | ||
), | ||
migrations.AddField( | ||
model_name='hotthermalstorageinputs', | ||
name='can_serve_dhw', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if hot thermal storage can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='hotthermalstorageinputs', | ||
name='can_serve_process_heat', | ||
field=models.BooleanField(blank=True, default=False, help_text='Boolean indicator if hot thermal storage can serve process heat load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='hotthermalstorageinputs', | ||
name='can_serve_space_heating', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if hot thermal storage can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='hotthermalstorageoutputs', | ||
name='storage_to_dhw_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='hotthermalstorageoutputs', | ||
name='storage_to_process_heat_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='hotthermalstorageoutputs', | ||
name='storage_to_space_heating_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='steamturbineinputs', | ||
name='can_serve_dhw', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if steam turbine can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='steamturbineinputs', | ||
name='can_serve_process_heat', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if steam turbine can serve process heat load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='steamturbineinputs', | ||
name='can_serve_space_heating', | ||
field=models.BooleanField(blank=True, default=True, help_text='Boolean indicator if steam turbine can serve space heating load', null=True), | ||
), | ||
migrations.AddField( | ||
model_name='steamturbineoutputs', | ||
name='thermal_to_dhw_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='steamturbineoutputs', | ||
name='thermal_to_process_heat_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AddField( | ||
model_name='steamturbineoutputs', | ||
name='thermal_to_space_heating_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), default=list, size=None), | ||
), | ||
migrations.AlterField( | ||
model_name='heatingloadoutputs', | ||
name='dhw_boiler_fuel_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), blank=True, default=list, help_text='Hourly domestic hot water boiler fuel load [MMBTU/hr]', size=None), | ||
), | ||
migrations.AlterField( | ||
model_name='heatingloadoutputs', | ||
name='space_heating_boiler_fuel_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), blank=True, default=list, help_text='Hourly space heating boiler fuel load [MMBTU/hr]', size=None), | ||
), | ||
migrations.AlterField( | ||
model_name='heatingloadoutputs', | ||
name='space_heating_thermal_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), blank=True, default=list, help_text='Hourly space heating load [MMBTU/hr]', size=None), | ||
), | ||
migrations.AlterField( | ||
model_name='heatingloadoutputs', | ||
name='total_heating_boiler_fuel_load_series_mmbtu_per_hour', | ||
field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), blank=True, default=list, help_text='Hourly total boiler fuel load [MMBTU/hr]', size=None), | ||
), | ||
migrations.AlterField( | ||
model_name='pvinputs', | ||
name='tilt', | ||
field=models.FloatField(blank=True, help_text='PV system tilt angle. Default tilt is 20 degrees for fixed arrays (rooftop or ground-mounted) and 0 degrees for axis-tracking systems.', null=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(90)]), | ||
), | ||
] |
Oops, something went wrong.