From 85d4a030ba8cb3ef477d129f0291f5d7370859b4 Mon Sep 17 00:00:00 2001 From: An Pham Date: Tue, 25 Mar 2025 11:07:22 -0600 Subject: [PATCH 1/2] added new GHP inputs --- reoptjl/models.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/reoptjl/models.py b/reoptjl/models.py index 27a0034b6..b1951ea58 100644 --- a/reoptjl/models.py +++ b/reoptjl/models.py @@ -7992,7 +7992,34 @@ class GHPInputs(BaseModel, models.Model): blank=True, null=True, help_text="Annual GHP incremental operations and maintenance costs in $/ft^2-building/year" - ) + ) + + max_ton = models.FloatField( + validators=[ + MinValueValidator(0), + MaxValueValidator(MAX_BIG_NUMBER) + ], + null=True, + blank=True, + help_text=("Maximum thermal power size constraint for GHP [ton]") + ) + + max_number_of_boreholes = models.FloatField( + validators=[ + MinValueValidator(0), + MaxValueValidator(MAX_BIG_NUMBER) + ], + null=True, + blank=True, + help_text=("Maximum number of boreholes for GHX") + ) + + load_served_by_ghp = models.TextField( + null=False, + blank=True, + default="nonpeak", + help_text="How to split between load served by GHP and load served by backup system" + ) # REQUIRED FOR GHP building_sqft = models.FloatField( From 2ab12c48720c59a9243195809c0ac649b34275cd Mon Sep 17 00:00:00 2001 From: An Pham Date: Tue, 25 Mar 2025 11:35:13 -0600 Subject: [PATCH 2/2] Create 0081_ghpinputs_load_served_by_ghp_and_more.py --- ...1_ghpinputs_load_served_by_ghp_and_more.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 reoptjl/migrations/0081_ghpinputs_load_served_by_ghp_and_more.py diff --git a/reoptjl/migrations/0081_ghpinputs_load_served_by_ghp_and_more.py b/reoptjl/migrations/0081_ghpinputs_load_served_by_ghp_and_more.py new file mode 100644 index 000000000..856dd08ab --- /dev/null +++ b/reoptjl/migrations/0081_ghpinputs_load_served_by_ghp_and_more.py @@ -0,0 +1,29 @@ +# Generated by Django 4.0.7 on 2025-03-25 17:33 + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('reoptjl', '0080_electricloadoutputs_annual_electric_load_with_thermal_conversions_kwh_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='ghpinputs', + name='load_served_by_ghp', + field=models.TextField(blank=True, default='nonpeak', help_text='How to split between load served by GHP and load served by backup system'), + ), + migrations.AddField( + model_name='ghpinputs', + name='max_number_of_boreholes', + field=models.FloatField(blank=True, help_text='Maximum number of boreholes for GHX', null=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), + ), + migrations.AddField( + model_name='ghpinputs', + name='max_ton', + field=models.FloatField(blank=True, help_text='Maximum thermal power size constraint for GHP [ton]', null=True, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100000000.0)]), + ), + ]