From f0dafbe8b96fecba438b0dace0898d2b07323475 Mon Sep 17 00:00:00 2001 From: wbecker Date: Sat, 31 Jan 2026 10:32:05 -0700 Subject: [PATCH 1/7] Update REopt.jl to multiple-chps --- julia_src/Manifest.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/julia_src/Manifest.toml b/julia_src/Manifest.toml index b0930d9ab..a4dcd60d8 100644 --- a/julia_src/Manifest.toml +++ b/julia_src/Manifest.toml @@ -948,7 +948,9 @@ version = "1.11.0" [[deps.REopt]] deps = ["ArchGDAL", "CSV", "CoolProp", "DataFrames", "Dates", "DelimitedFiles", "HTTP", "JLD", "JSON", "JuMP", "LinDistFlow", "LinearAlgebra", "Logging", "MathOptInterface", "Requires", "Roots", "Statistics", "TestEnv"] -git-tree-sha1 = "00bb39c8f932a3320960f01adc139229c24e12b7" +git-tree-sha1 = "85260ac1bf65704b88b69ff4ce6b6ca0d6e00ff7" +repo-rev = "multiple-chps" +repo-url = "https://github.com/NREL/REopt.jl.git" uuid = "d36ad4e8-d74a-4f7a-ace1-eaea049febf6" version = "0.56.2" From 21537614e76d333c32dd000effb013c9a37d5c7f Mon Sep 17 00:00:00 2001 From: wbecker Date: Sat, 31 Jan 2026 11:05:24 -0700 Subject: [PATCH 2/7] Update REopt.jl to chp-expand --- julia_src/Manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/julia_src/Manifest.toml b/julia_src/Manifest.toml index a4dcd60d8..e2c1304b2 100644 --- a/julia_src/Manifest.toml +++ b/julia_src/Manifest.toml @@ -948,11 +948,11 @@ version = "1.11.0" [[deps.REopt]] deps = ["ArchGDAL", "CSV", "CoolProp", "DataFrames", "Dates", "DelimitedFiles", "HTTP", "JLD", "JSON", "JuMP", "LinDistFlow", "LinearAlgebra", "Logging", "MathOptInterface", "Requires", "Roots", "Statistics", "TestEnv"] -git-tree-sha1 = "85260ac1bf65704b88b69ff4ce6b6ca0d6e00ff7" -repo-rev = "multiple-chps" +git-tree-sha1 = "e498937a89a002268af087b6567da921018b1a5b" +repo-rev = "chp-expand" repo-url = "https://github.com/NREL/REopt.jl.git" uuid = "d36ad4e8-d74a-4f7a-ace1-eaea049febf6" -version = "0.56.2" +version = "0.56.3" [[deps.Random]] deps = ["SHA"] From f26e8ac9356faed9c176fc07acc018f8d69694cd Mon Sep 17 00:00:00 2001 From: wbecker Date: Sat, 31 Jan 2026 15:00:59 -0700 Subject: [PATCH 3/7] Update s.chp to s.chps[1] for the multiple CHPs update --- julia_src/http.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/julia_src/http.jl b/julia_src/http.jl index 10228ea09..9a5458996 100644 --- a/julia_src/http.jl +++ b/julia_src/http.jl @@ -126,7 +126,7 @@ function reopt(req::HTTP.Request) :size_class, :electric_efficiency_half_load, :thermal_efficiency_half_load, :macrs_option_years, :macrs_bonus_fraction, :federal_itc_fraction ] - chp_dict = Dict(key=>getfield(model_inputs.s.chp, key) for key in inputs_with_defaults_from_julia_chp) + chp_dict = Dict(key=>getfield(model_inputs.s.chps[1], key) for key in inputs_with_defaults_from_julia_chp) else chp_dict = Dict() end From bb22d6a52825fe174a783ae747a0b5e51ecab336 Mon Sep 17 00:00:00 2001 From: wbecker Date: Mon, 2 Feb 2026 09:56:54 -0700 Subject: [PATCH 4/7] Update REopt.jl#chp-expand after merging offgrid-chp --- julia_src/Manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/julia_src/Manifest.toml b/julia_src/Manifest.toml index e2c1304b2..8c38c68ba 100644 --- a/julia_src/Manifest.toml +++ b/julia_src/Manifest.toml @@ -948,7 +948,7 @@ version = "1.11.0" [[deps.REopt]] deps = ["ArchGDAL", "CSV", "CoolProp", "DataFrames", "Dates", "DelimitedFiles", "HTTP", "JLD", "JSON", "JuMP", "LinDistFlow", "LinearAlgebra", "Logging", "MathOptInterface", "Requires", "Roots", "Statistics", "TestEnv"] -git-tree-sha1 = "e498937a89a002268af087b6567da921018b1a5b" +git-tree-sha1 = "dce7c11a752793772f5560469b488bda34ea844b" repo-rev = "chp-expand" repo-url = "https://github.com/NREL/REopt.jl.git" uuid = "d36ad4e8-d74a-4f7a-ace1-eaea049febf6" From 6a5e32937ba8b2996d4ab1ba390ec3d758a858d2 Mon Sep 17 00:00:00 2001 From: wbecker Date: Mon, 2 Feb 2026 19:52:27 -0700 Subject: [PATCH 5/7] Update REopt.jl#chp-expand after prodfactor update --- julia_src/Manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/julia_src/Manifest.toml b/julia_src/Manifest.toml index 8c38c68ba..1f477f94e 100644 --- a/julia_src/Manifest.toml +++ b/julia_src/Manifest.toml @@ -948,7 +948,7 @@ version = "1.11.0" [[deps.REopt]] deps = ["ArchGDAL", "CSV", "CoolProp", "DataFrames", "Dates", "DelimitedFiles", "HTTP", "JLD", "JSON", "JuMP", "LinDistFlow", "LinearAlgebra", "Logging", "MathOptInterface", "Requires", "Roots", "Statistics", "TestEnv"] -git-tree-sha1 = "dce7c11a752793772f5560469b488bda34ea844b" +git-tree-sha1 = "2de083f08f65741cf141af6296df78fea2b1d242" repo-rev = "chp-expand" repo-url = "https://github.com/NREL/REopt.jl.git" uuid = "d36ad4e8-d74a-4f7a-ace1-eaea049febf6" From ae06f306ff4d46c350f2c915149569eba0f7ccf3 Mon Sep 17 00:00:00 2001 From: wbecker Date: Tue, 3 Feb 2026 08:22:10 -0700 Subject: [PATCH 6/7] Update REopt.jl#chp-expand after merging develop --- julia_src/Manifest.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/julia_src/Manifest.toml b/julia_src/Manifest.toml index 1f477f94e..ad678af5d 100644 --- a/julia_src/Manifest.toml +++ b/julia_src/Manifest.toml @@ -948,11 +948,11 @@ version = "1.11.0" [[deps.REopt]] deps = ["ArchGDAL", "CSV", "CoolProp", "DataFrames", "Dates", "DelimitedFiles", "HTTP", "JLD", "JSON", "JuMP", "LinDistFlow", "LinearAlgebra", "Logging", "MathOptInterface", "Requires", "Roots", "Statistics", "TestEnv"] -git-tree-sha1 = "2de083f08f65741cf141af6296df78fea2b1d242" +git-tree-sha1 = "dad8d89841fe74d3027414359a883b991258d934" repo-rev = "chp-expand" repo-url = "https://github.com/NREL/REopt.jl.git" uuid = "d36ad4e8-d74a-4f7a-ace1-eaea049febf6" -version = "0.56.3" +version = "0.56.4" [[deps.Random]] deps = ["SHA"] From b2f0fa72f36a920a7028b8353a0a46cb47ca5d66 Mon Sep 17 00:00:00 2001 From: wbecker Date: Tue, 3 Feb 2026 09:51:19 -0700 Subject: [PATCH 7/7] Add output CHP.electric_load_curtailed_series_kw to model db that was added to REopt.jl --- ...chpoutputs_electric_curtailed_series_kw.py | 19 +++++++++++++++++++ reoptjl/models.py | 7 +++++++ 2 files changed, 26 insertions(+) create mode 100644 reoptjl/migrations/0114_chpoutputs_electric_curtailed_series_kw.py diff --git a/reoptjl/migrations/0114_chpoutputs_electric_curtailed_series_kw.py b/reoptjl/migrations/0114_chpoutputs_electric_curtailed_series_kw.py new file mode 100644 index 000000000..3269fcd6e --- /dev/null +++ b/reoptjl/migrations/0114_chpoutputs_electric_curtailed_series_kw.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.26 on 2026-02-03 16:40 + +import django.contrib.postgres.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('reoptjl', '0113_merge_20251209_2338'), + ] + + operations = [ + migrations.AddField( + model_name='chpoutputs', + name='electric_curtailed_series_kw', + field=django.contrib.postgres.fields.ArrayField(base_field=models.FloatField(blank=True, null=True), blank=True, default=list, help_text='Electric power curtailed time-series array [kW]', size=None), + ), + ] diff --git a/reoptjl/models.py b/reoptjl/models.py index 17a9560b3..498b8459f 100644 --- a/reoptjl/models.py +++ b/reoptjl/models.py @@ -4939,6 +4939,13 @@ class CHPOutputs(BaseModel, models.Model): default=list, blank=True, help_text="Electric power serving the electric load time-series array [kW]" ) + electric_curtailed_series_kw = ArrayField( + models.FloatField( + null=True, blank=True + ), + default=list, blank=True, + help_text="Electric power curtailed time-series array [kW]" + ) thermal_to_storage_series_mmbtu_per_hour = ArrayField( models.FloatField( null=True, blank=True