From dc24995e9111a90203ee42b751256ec133393571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Tue, 25 Nov 2025 14:38:30 +0100 Subject: [PATCH 01/10] Fix missing distinction between different `TransmissionMode`s in the "data"-menu by including the `id` field in parantheses. Also, improve the info-box. --- test/EMI_geography_2.jl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/EMI_geography_2.jl b/test/EMI_geography_2.jl index 1eeca5d..de9b12c 100644 --- a/test/EMI_geography_2.jl +++ b/test/EMI_geography_2.jl @@ -180,6 +180,17 @@ function generate_example_data_geo_all_resources() 2, ) + H2_Transport_50MW_OT = RefDynamic( + "H2_Transport_50_OT", + H2, + FixedProfile(50.0), + FixedProfile(0.05), + FixedProfile(0), + FixedProfile(0), + 2, + [], + ) + Waste_Transport_50MW_OT = RefDynamic( "Waste_Transport_50_OT", Waste, From 35b68455990691f4b4c4a4e13d43add87077d5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Sun, 14 Dec 2025 08:18:48 +0100 Subject: [PATCH 02/10] Adjusted `descriptive_names` to be more robust to available packages. Introduced module names as intermediate `Dict`s in the `structures` field of `descriptive_names` (this is a breaking change). --- NEWS.md | 1 - test/EMI_geography_2.jl | 11 ----------- 2 files changed, 12 deletions(-) diff --git a/NEWS.md b/NEWS.md index 691c0d6..d5ed67b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -9,7 +9,6 @@ ### Enhancements * Enabled exporting topo axis to bmp, tif, tiff, jpg, jpeg, and png file format. -* Enable custom boundary background map instead of the default coastlines (through a `.geojson` file location provided by the keyword argument `map_boundary_file` in the `GUI`-function). ### Adjustments diff --git a/test/EMI_geography_2.jl b/test/EMI_geography_2.jl index de9b12c..1eeca5d 100644 --- a/test/EMI_geography_2.jl +++ b/test/EMI_geography_2.jl @@ -180,17 +180,6 @@ function generate_example_data_geo_all_resources() 2, ) - H2_Transport_50MW_OT = RefDynamic( - "H2_Transport_50_OT", - H2, - FixedProfile(50.0), - FixedProfile(0.05), - FixedProfile(0), - FixedProfile(0), - 2, - [], - ) - Waste_Transport_50MW_OT = RefDynamic( "Waste_Transport_50_OT", Waste, From 793f4188be0ace56dddfbb070af993c6bd8c2269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Sun, 14 Dec 2025 15:14:10 +0100 Subject: [PATCH 03/10] Enable custom boundary background map instead of the default coastlines (through a `.geojson` file location provided by the keyword argument `map_boundary_file` in the `GUI`-function). --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index d5ed67b..691c0d6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -9,6 +9,7 @@ ### Enhancements * Enabled exporting topo axis to bmp, tif, tiff, jpg, jpeg, and png file format. +* Enable custom boundary background map instead of the default coastlines (through a `.geojson` file location provided by the keyword argument `map_boundary_file` in the `GUI`-function). ### Adjustments From b6ba98feb24784275c3f5d3e2a05f3c6f8112204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 10:52:21 +0100 Subject: [PATCH 04/10] Enable proper testing of descriptive_names and fix docs --- .../src/how-to/customize-descriptive_names.md | 23 +- src/descriptive_names.yml | 41 + test/Project.toml | 1 + .../example_all_structures/Coal area.yml | 15 + .../Natural gas area.yml | 129 ++++ .../example_all_structures/top_level.yml | 6 + test/example_all_structures.jl | 728 ++++++++++++++++++ test/runtests.jl | 1 + test/test_descriptive_names.jl | 17 +- 9 files changed, 940 insertions(+), 21 deletions(-) create mode 100644 test/design/example_all_structures/Coal area.yml create mode 100644 test/design/example_all_structures/Natural gas area.yml create mode 100644 test/design/example_all_structures/top_level.yml create mode 100644 test/example_all_structures.jl diff --git a/docs/src/how-to/customize-descriptive_names.md b/docs/src/how-to/customize-descriptive_names.md index f615649..b7bea3f 100644 --- a/docs/src/how-to/customize-descriptive_names.md +++ b/docs/src/how-to/customize-descriptive_names.md @@ -2,9 +2,9 @@ `EnergyModelsGUI` provides a set of descriptive names for case input structures and assosiated JuMP variables. These can be found in `src/descriptive_names.yml`. These descriptions are extended/overwritten with EMX -packages having a `descriptive_names.yml` file in a `ext/EMGUIExt` folder of its repository. That is, -if you want to provide descriptive names for your EMX package, add a `.yml` file in this location, with the -same structure as `src/descriptive_names.yml`. +packages having a `descriptive_names.yml` file in a `ext/EMGUIExt` folder of its repository (having a module +name starting with `EnergyModel`). That is, if you want to provide descriptive names for your EMX package, +add a `.yml` file in this location, with the same structure as `src/descriptive_names.yml`. It can be convenient to provide a user defined file in addition. If you have this file located at `path_to_descriptive_names`, simply add it using @@ -18,13 +18,15 @@ If you instead (or in addition) want to provide descriptive names through a `Dic ```julia descriptive_names_dict = Dict( :structures => Dict( # Input parameter from the case Dict - :RefStatic => Dict( - :trans_cap => "New description for `trans_cap`", - :opex_fixed => "New description for `opex_fixed`", - ), - :RefDynamic => Dict( - :opex_var => "New description for `opex_var`", - :directions => "New description for `directions`", + :EnergyModelsGeography => Dict( # Input parameter from the case Dict + :RefStatic => Dict( + :trans_cap => "New description for `trans_cap`", + :opex_fixed => "New description for `opex_fixed`", + ), + :RefDynamic => Dict( + :opex_var => "New description for `opex_var`", + :directions => "New description for `directions`", + ), ), ), :variables => Dict( # variables from the JuMP model @@ -34,7 +36,6 @@ descriptive_names_dict = Dict( ) gui = GUI( case; - path_to_descriptive_names=path_to_descriptive_names, descriptive_names_dict=descriptive_names_dict, ) ``` diff --git a/src/descriptive_names.yml b/src/descriptive_names.yml index 584d52e..1af39ba 100644 --- a/src/descriptive_names.yml +++ b/src/descriptive_names.yml @@ -93,6 +93,30 @@ structures: AbstractBatteryLife: stack_cost: "Relative cost for replacing a battery stack" + EnergyModelsHeat: + ## link.jl + DHPipe: + cap: "Heat transport capacity of the pipe" + t_ground: "Ground temperature in °C" + + ## node.jl + HeatPump: + t_source: "Heat source temperature" + t_sink: "Heat sink temperature" + eff_carnot: "Carnot Efficiency" + + ## resource.jl + ResourceHeat: + t_supply: "Supply temperature in °C" + t_return: "Return temperature in °C" + + PinchData: + T_SH_hot: "Hot temperature of surplus heat source in °C" + T_SH_cold: "Cold temperature of surplus heat source in °C" + ΔT_min: "Minimum temperature difference between surplus source and DH network in °C" + T_DH_hot: "Hot temperature of district heating network in °C" + T_DH_cold: "Cold temperature of district heating network in °C" + EnergyModelsHydrogen: ## node.jl AbstractElectrolyzer: @@ -227,6 +251,23 @@ variables: # EnergyModelsCO2 stor_level_Δ_sp: "Increase in `stor_level` during a strategic period" + # EnergyModelsHeat + dh_pipe_loss: "Heat losses in DH pipes" + + # EnergyModelsLanguageInterface + buildings_surplus: "Surplus delivered to a sink, i.e., oversatisfied demand" + buildings_deficit: "Deficit in a sink, i.e., not satisfied demand" + solar_curtailment: "Curtailment of a solar energy source" + solar_cap_use: "Absolute capacity utilization" + + # EnergyModelsFlex + input_frac_strat: "Input resource fraction" + load_shift_from: "Load shift from" + load_shift_to: "Load shift to" + load_shifted: "Load shifted" + sink_surplus_p: "Penalties for surplus of resource" + sink_deficit_p: "Penalties for deficits of resource" + # Overview of total quantities and their components total: opex_fields: diff --git a/test/Project.toml b/test/Project.toml index 3c5d54d..f9c2728 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -10,6 +10,7 @@ JuliaFormatter = "98e50ef6-434e-11e9-1051-2b60c6c9e899" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" +SCIP = "82193955-e24f-5292-bf16-6f2c5261a85f" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" TimeStruct = "f9ed5ce0-9f41-4eaa-96da-f38ab8df101c" YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" diff --git a/test/design/example_all_structures/Coal area.yml b/test/design/example_all_structures/Coal area.yml new file mode 100644 index 0000000..07f0c9d --- /dev/null +++ b/test/design/example_all_structures/Coal area.yml @@ -0,0 +1,15 @@ +n_Reg_1-CO2_storage_geo: + y: 46.26174 + x: 5.0772 +n_Reg_1-Coal_source: + y: 46.26174 + x: 6.92496 +n_Reg_1-Coal_power_plant: + y: 45.17195 + x: 5.29398 +n_Reg_1-Electricity_demand: + y: 46.87906 + x: 6.00108 +n_Reg_1-Availability: + y: 45.87906 + x: 6.00108 diff --git a/test/design/example_all_structures/Natural gas area.yml b/test/design/example_all_structures/Natural gas area.yml new file mode 100644 index 0000000..2fabc16 --- /dev/null +++ b/test/design/example_all_structures/Natural gas area.yml @@ -0,0 +1,129 @@ +n_CO2_storage_big: + y: 45.76981 + x: 8.47282 +n_Reg_2-NG_source: + y: 44.80648 + x: 8.57883 +n_heat_demand: + y: 46.08825 + x: 10.21651 +"n_hydrogen storage": + y: 45.4147 + x: 8.44048 +n_CO2_storage_small: + y: 46.27751 + x: 9.99404 +n_ss_inv_electricity_demand: + y: 46.1934 + x: 10.11129 +"n_reserve down demand": + y: 46.42308 + x: 10.07954 +n_market_buy: + y: 45.46697 + x: 9.71667 +n_hydro_pump: + y: 44.64628 + x: 10.23688 +n_balancing_source: + y: 46.04724 + x: 8.55851 +n_hydro_generator_down: + y: 44.32898 + x: 10.13109 +n_water_source: + y: 45.57435 + x: 10.76056 +n_hydro_av: + y: 45.53768 + x: 9.8735 +n_heat_pump: + y: 46.3376 + x: 9.41381 +n_hydro_generator_up: + y: 45.1698 + x: 10.21044 +n_wind_simple: + y: 46.2075 + x: 8.45478 +n_ss_electricity_demand: + y: 45.7621 + x: 10.07954 +n_hub-h2_demand: + y: 45.86594 + x: 10.2105 +n_battery: + y: 46.42614 + x: 9.93808 +n_CCGT_retrofittable: + y: 45.60759 + x: 8.69229 +n_PEM: + y: 45.21135 + x: 8.43592 +n_ocean: + y: 43.95617 + x: 10.14167 +n_TES: + y: 46.49982 + x: 9.57916 +n_market_sale: + y: 45.4147 + x: 10.22099 +n_ss_electricity_source: + y: 45.94354 + x: 8.45164 +n_hub-electricity_source: + y: 45.00822 + x: 8.48167 +n_district_heat_source: + y: 46.50915 + x: 9.30152 +n_NG_source_for_CCGT: + y: 45.59557 + x: 8.45479 +n_hub: + y: 45.57898 + x: 9.28942 +n_ss_inv_electricity_source: + y: 46.33006 + x: 8.52708 +n_h2_demand_reformer: + y: 45.65866 + x: 10.20449 +n_Reg_2-Availability: + y: 45.3385 + x: 9.42555 +n_CCS_unit: + y: 45.73977 + x: 8.69229 +n_CO2_source_negative: + y: 46.44946 + x: 8.67481 +n_hydro_reservoir_up: + y: 45.17244 + x: 10.54897 +n_reformer: + y: 46.58908 + x: 9.83352 +n_Reg_2-ng+CCS_power_plant: + y: 44.70925 + x: 9.43732 +n_electricity_demand_big: + y: 45.94706 + x: 10.09024 +n_hydropower_simple: + y: 46.5186 + x: 8.94828 +n_hydro_gate: + y: 44.90462 + x: 10.5442 +n_Reg_2-Electricity_demand: + y: 44.89218 + x: 9.73437 +n_CO2_storage_reformer_sink: + y: 46.58908 + x: 10.08261 +n_hydro_reservoir_down: + y: 44.61719 + x: 10.50137 diff --git a/test/design/example_all_structures/top_level.yml b/test/design/example_all_structures/top_level.yml new file mode 100644 index 0000000..04fc597 --- /dev/null +++ b/test/design/example_all_structures/top_level.yml @@ -0,0 +1,6 @@ +"Coal area": + y: 45.87906 + x: 6.00108 +"Natural gas area": + y: 45.3385 + x: 9.42555 diff --git a/test/example_all_structures.jl b/test/example_all_structures.jl new file mode 100644 index 0000000..9d944dc --- /dev/null +++ b/test/example_all_structures.jl @@ -0,0 +1,728 @@ +using JuMP +using SCIP +using TimeStruct + +using EnergyModelsBase +using EnergyModelsGeography +using EnergyModelsHydrogen +using EnergyModelsCO2 +using EnergyModelsRenewableProducers +using EnergyModelsHeat +using EnergyModelsInvestments + +const EMB = EnergyModelsBase +const EMG = EnergyModelsGeography +const EMH2 = EnergyModelsHydrogen +const EMCO2 = EnergyModelsCO2 +const EMR = EnergyModelsRenewableProducers +const EMHeat = EnergyModelsHeat +const EMI = EnergyModelsInvestments +const TS = TimeStruct + +""" +Mega-example: combines all node families from the attached examples into ONE connected Case. + +This comprehensive example includes: +- Two areas (EnergyModelsGeography) transferring `Power` and `CO2` with investment + transmission corridors: power line (ContinuousInvestment) + CO2 pipeline (SemiContinuousInvestment) +- One dedicated water-power cascaded hydro subsystem (detailed hydropower), connected to the hub via `Power`. +- CO2 retrofit chain + standalone CO2 source/storage chain, both connected to hub via `CO2` and `Power`. +- Hydrogen chain (electrolyzer + H2 storage), connected to hub via `Power` and `H2`. +- Battery reserve chain + simple nondispatchable RES chain + simple hydro balancing chain, all connected to hub via `Power`. +- District heating chain connected to hub via `Power` + `Heat`. +- Reformer block connected via hub for `NG`/`Power`/`H2`/`CO2`. +- Sink-source examples: both operational and investment variants, connected via hub for `Power`. + +All subsystems are connected through the global multi-carrier hub, demonstrating integration of: +- EnergyModelsBase, EnergyModelsGeography, EnergyModelsHydrogen, EnergyModelsCO2, + EnergyModelsRenewableProducers, EnergyModelsHeat, EnergyModelsInvestments +""" +function generate_all_in_one_case() + # ----------------------------- + # 1) Resources (unified naming) + # ----------------------------- + CO2 = ResourceEmit("CO2", 1.0) + CO2_proxy = ResourceCarrier("CO2 proxy", 0.0) + Power = ResourceCarrier("Power", 0.0) + H2 = ResourceCarrier("H2", 0.0) + NG = ResourceCarrier("NG", 0.2) + Coal = ResourceCarrier("Coal", 0.35) + Water = ResourceCarrier("Water", 0.0) + reserve_down = ResourceCarrier("reserve down", 0.0) + + HeatLT = ResourceHeat("HeatLT", 30.0, 30.0) + HeatHT = ResourceHeat("HeatHT", 80.0, 30.0) + + products = [Power, H2, CO2, CO2_proxy, NG, Coal, HeatLT, HeatHT, Water, reserve_down] + + # ----------------------------- + # 2) Time structure (keep smaller for SCIP) + # ----------------------------- + op_duration = 3 # hours + op_number = 8 # 8 periods (keeps MILP manageable) + operational_periods = SimpleTimes(op_number, op_duration) + op_per_strat = 8760 + T = TwoLevel(2, 1, operational_periods; op_per_strat) # 2 strategic periods + + prof_n(x) = OperationalProfile(fill(x, op_number)) + # helper: repeat a vector to length op_number + function repeat_to_len(v::Vector{<:Number}, n::Int) + out = Float64[] + while length(out) < n + append!(out, Float64.(v)) + end + return OperationalProfile(out[1:n]) + end + + # ----------------------------- + # 3) Investment model (so we can include investment nodes + corridors) + # ----------------------------- + model = InvestmentModel( + Dict( + CO2 => FixedProfile(1e12), + ), + Dict( + CO2 => FixedProfile(0.0), + ), + CO2, + 0.07, + ) + + # ----------------------------- + # 4) Global hub + # ----------------------------- + hub = GenAvailability( + "hub", + [Power, H2, CO2, CO2_proxy, NG, Coal, HeatLT, HeatHT, reserve_down], + ) + + nodes = EMB.Node[hub] + links = EMB.Link[] + + # ============================================================ + # A) Hydrogen: electrolyzer + H2 storage + H2 demand + power source + # ============================================================ + el_source = RefSource( + "hub-electricity_source", + FixedProfile(200), + prof_n(30.0), + FixedProfile(0.0), + Dict(Power => 1.0), + ) + pem = Electrolyzer( + "PEM", + FixedProfile(100), + FixedProfile(5), + FixedProfile(0), + Dict(Power => 1), + Dict(H2 => 0.69), + ExtensionData[], + LoadLimits(0, 1), + 0.1, + FixedProfile(1.5e5), + 65000, + ) + h2_store = HydrogenStorage{CyclicStrategic}( + "hydrogen storage", + StorCap(FixedProfile(30)), + StorCap(FixedProfile(600)), + H2, Power, + 2.0, 20.0, + 30.0, 45.0, 150.0, + ) + h2_demand = RefSink( + "hub-h2_demand", + repeat_to_len([0, 10, 50, 30], op_number), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(200)), + Dict(H2 => 1.0), + ) + + append!(nodes, [el_source, pem, h2_store, h2_demand]) + + # source -> hub (sources cannot take inputs) + push!(links, Direct("el_source-to-hub", el_source, hub, Linear())) + push!(links, Direct("hub-to-pem", hub, pem, Linear())) + push!(links, Direct("pem-to-hub", pem, hub, Linear())) + push!(links, Direct("hub-to-h2_store", hub, h2_store, Linear())) + push!(links, Direct("h2_store-to-hub", h2_store, hub, Linear())) + push!(links, Direct("hub-to-h2_demand", hub, h2_demand, Linear())) + + # ============================================================ + # B) Battery reserve system + # ============================================================ + batt = ReserveBattery{CyclicStrategic}( + "battery", + StorCap(FixedProfile(30)), + StorCap(FixedProfile(80)), + StorCap(FixedProfile(30)), + Power, + Dict(Power => 0.9), + Dict(Power => 0.9), + CycleLife(900, 0.2, FixedProfile(2e5)), + ResourceCarrier[], + [reserve_down], + ) + reserve_down_sink = RefSink( + "reserve down demand", + FixedProfile(10), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(1e2)), + Dict(reserve_down => 1), + ) + append!(nodes, [batt, reserve_down_sink]) + + push!(links, Direct("hub-batt", hub, batt, Linear())) + push!(links, Direct("batt-hub", batt, hub, Linear())) + push!(links, Direct("batt-reserve_down", batt, reserve_down_sink, Linear())) + + # ============================================================ + # C) Simple NonDisRES + balancing source + # ============================================================ + bal_source = RefSource( + "balancing_source", + FixedProfile(50), + prof_n(60.0), + FixedProfile(0.0), + Dict(Power => 1), + ) + wind_simple = NonDisRES( + "wind_simple", + FixedProfile(80), + repeat_to_len([0.9, 0.4, 0.1, 0.8], op_number), + FixedProfile(10), + FixedProfile(0), + Dict(Power => 1), + ) + append!(nodes, [bal_source, wind_simple]) + + push!(links, Direct("bal_source-to-hub", bal_source, hub, Linear())) + push!(links, Direct("wind_simple-to-hub", wind_simple, hub, Linear())) + + # ============================================================ + # D) Simple HydroStor balancing + # ============================================================ + hydro_simple = HydroStor{CyclicStrategic}( + "hydropower_simple", + StorCapOpexFixed(FixedProfile(200), FixedProfile(0.0)), + StorCapOpexVar(FixedProfile(30), FixedProfile(0.0)), + FixedProfile(50), + FixedProfile(5), + FixedProfile(0.0), + Power, + Dict(Power => 0.9), + Dict(Power => 1.0), + Data[], + ) + append!(nodes, [hydro_simple]) + + push!(links, Direct("hub-hydro_simple", hub, hydro_simple, Linear())) + push!(links, Direct("hydro_simple-hub", hydro_simple, hub, Linear())) + + # ============================================================ + # E) District heating + # ============================================================ + dh_source = RefSource( + "district_heat_source", + FixedProfile(60), + FixedProfile(10), + FixedProfile(0), + Dict(HeatLT => 1), + ) + heat_pump = HeatPump( + "heat_pump", + FixedProfile(40), + 0, + EMHeat.t_supply(HeatLT), + EMHeat.t_supply(HeatHT), + FixedProfile(0.5), + HeatLT, + Power, + FixedProfile(0), + FixedProfile(0), + Dict(HeatHT => 1), + ) + tes = BoundRateTES{CyclicRepresentative}( + "TES", + StorCap(FixedProfile(400)), + HeatHT, + 0.02, + 0.05, + 0.15, + Dict(HeatHT => 1), + Dict(HeatHT => 1), + ) + heat_demand = RefSink( + "heat_demand", + repeat_to_len([0, 30, 10, 50], op_number), + Dict(:surplus => FixedProfile(100), :deficit => FixedProfile(1000)), + Dict(HeatHT => 1), + ) + append!(nodes, [dh_source, heat_pump, tes, heat_demand]) + + push!(links, Direct("dh_source-to-heat_pump", dh_source, heat_pump, Linear())) + push!(links, Direct("hub-to-heat_pump_power", hub, heat_pump, Linear())) + push!(links, Direct("heat_pump-to-hub_heatHT", heat_pump, hub, Linear())) + push!(links, Direct("hub-to-heat_demand", hub, heat_demand, Linear())) + push!(links, Direct("heat_pump-to-TES", heat_pump, tes, Linear())) + push!(links, Direct("TES-to-hub", tes, hub, Linear())) + + push!( + links, + DHPipe( + "dh_pipe_source_to_hp", + dh_source, + heat_pump, + FixedProfile(60), + 2_000_000.0, + 0.025e-6, + FixedProfile(10.0), + HeatLT, + ), + ) + + # ============================================================ + # F) CO2 retrofit chain + # ============================================================ + ng_source_ccgt = RefSource( + "NG_source_for_CCGT", + FixedProfile(2000), + FixedProfile(5.5), + FixedProfile(0), + Dict(NG => 1), + ) + ccgt = RefNetworkNodeRetrofit( + "CCGT_retrofittable", + FixedProfile(800), + FixedProfile(5.5), + FixedProfile(0), + Dict(NG => 1.66), + Dict(Power => 1), + CO2_proxy, + Data[CaptureEnergyEmissions(1.0)], + ) + ccs = CCSRetroFit( + "CCS_unit", + FixedProfile(400), + FixedProfile(0), + FixedProfile(0), + Dict(NG => 1.0, CO2_proxy => 0), + Dict(CO2 => 0), + CO2_proxy, + Data[CaptureEnergyEmissions(0.9)], + ) + co2_store_big = CO2Storage( + "CO2_storage_big", + StorCapOpex(FixedProfile(400), FixedProfile(9.1), FixedProfile(0)), + StorCap(FixedProfile(1e8)), + CO2, + Dict(CO2 => 1), + ) + el_demand_big = RefSink( + "electricity_demand_big", + FixedProfile(200), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(1e4)), + Dict(Power => 1), + ) + append!(nodes, [ng_source_ccgt, ccgt, ccs, co2_store_big, el_demand_big]) + + # correct direction: source -> user + push!(links, Direct("ng_source_ccgt-to-ccgt", ng_source_ccgt, ccgt, Linear())) + push!(links, Direct("ccgt-to-hub_power", ccgt, hub, Linear())) + push!(links, Direct("ccgt-to-ccs", ccgt, ccs, Linear())) + push!(links, Direct("hub-to-ccs_fuel", hub, ccs, Linear())) + push!(links, Direct("ccs-to-co2_store_big", ccs, co2_store_big, Linear())) + push!(links, Direct("hub-to-el_demand_big", hub, el_demand_big, Linear())) + + # ============================================================ + # G) Standalone CO2 source + CO2 storage (connected via hub) + # ============================================================ + co2_src = CO2Source( + "CO2_source_negative", + FixedProfile(50), + StrategicProfile([-30, -20]), + FixedProfile(1), + Dict(CO2 => 1), + ) + co2_store_small = CO2Storage( + "CO2_storage_small", + StorCapOpex(FixedProfile(50), FixedProfile(9.1), FixedProfile(1)), + StorCap(FixedProfile(1e6)), + CO2, + Dict(CO2 => 1), + ) + append!(nodes, [co2_src, co2_store_small]) + + # connect the CO2 source to the hub (direction matters) + push!(links, Direct("co2_src-to-hub", co2_src, hub, Linear())) + # send CO2 from hub into the storage (do NOT assume storage can dispatch back out) + push!(links, Direct("hub-to-co2_store_small", hub, co2_store_small, Linear())) + + # ============================================================ + # H) Geographic 2-area network (existing) + investment corridor modes + # ============================================================ + 𝒫_geo = [NG, Coal, Power, CO2] + + reg1_av = GeoAvailability("Reg_1-Availability", 𝒫_geo) + reg1_coal_src = RefSource( + "Reg_1-Coal_source", + FixedProfile(100), + FixedProfile(9), + FixedProfile(0), + Dict(Coal => 1), + ) + reg1_coal_pp = RefNetworkNode( + "Reg_1-Coal_power_plant", + FixedProfile(25), + FixedProfile(6), + FixedProfile(0), + Dict(Coal => 2.5), + Dict(Power => 1), + [EmissionsEnergy()], + ) + reg1_co2_stor = RefStorage{AccumulatingEmissions}( + "Reg_1-CO2_storage_geo", + StorCapOpex(FixedProfile(60), FixedProfile(9.1), FixedProfile(0)), + StorCap(FixedProfile(600)), + CO2, + Dict(CO2 => 1, Power => 0.02), + Dict(CO2 => 1), + ) + reg1_dem = RefSink( + "Reg_1-Electricity_demand", + FixedProfile(10), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(1e3)), + Dict(Power => 1), + ) + area_1 = RefArea(1, "Coal area", 6.62, 51.04, reg1_av) + + reg2_av = GeoAvailability("Reg_2-Availability", 𝒫_geo) + reg2_ng_src = RefSource( + "Reg_2-NG_source", + FixedProfile(100), + FixedProfile(30), + FixedProfile(0), + Dict(NG => 1), + ) + reg2_ng_ccs_pp = RefNetworkNode( + "Reg_2-ng+CCS_power_plant", + FixedProfile(25), + FixedProfile(5.5), + FixedProfile(0), + Dict(NG => 2.0), + Dict(Power => 1, CO2 => 0), + [CaptureEnergyEmissions(0.9)], + ) + reg2_dem = RefSink( + "Reg_2-Electricity_demand", + repeat_to_len([10, 20, 30, 20], op_number), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(5e2)), + Dict(Power => 1), + ) + area_2 = RefArea(2, "Natural gas area", 6.83, 53.45, reg2_av) + + append!( + nodes, + [reg1_av, reg1_coal_src, reg1_coal_pp, reg1_co2_stor, reg1_dem, + reg2_av, reg2_ng_src, reg2_ng_ccs_pp, reg2_dem], + ) + + append!( + links, + [ + Direct("Reg_1-av-coal_pp", reg1_av, reg1_coal_pp, Linear()), + Direct("Reg_1-av-CO2_stor", reg1_av, reg1_co2_stor, Linear()), + Direct("Reg_1-av-demand", reg1_av, reg1_dem, Linear()), + Direct("Reg_1-coal_src-av", reg1_coal_src, reg1_av, Linear()), + Direct("Reg_1-coal_pp-av", reg1_coal_pp, reg1_av, Linear()), + Direct("Reg_2-av-NG_pp", reg2_av, reg2_ng_ccs_pp, Linear()), + Direct("Reg_2-av-demand", reg2_av, reg2_dem, Linear()), + Direct("Reg_2-NG_src-av", reg2_ng_src, reg2_av, Linear()), + Direct("Reg_2-NG_pp-av", reg2_ng_ccs_pp, reg2_av, Linear()), + ], + ) + + # --- Investment transmission modes (from investments.jl) --- + power_inv_data = SingleInvData( + FixedProfile(150 * 1e3), + FixedProfile(60), + ContinuousInvestment(FixedProfile(0), FixedProfile(30)), + ) + power_line = RefStatic( + "power_line", + Power, + FixedProfile(0), # initial = 0, invest to build + FixedProfile(0.02), + FixedProfile(0), + FixedProfile(0), + 2, + [power_inv_data], + ) + + co2_pipe_inv_data = SingleInvData( + FixedProfile(260 * 1e3), + FixedProfile(40), + SemiContinuousInvestment(FixedProfile(5), FixedProfile(20)), + ) + co2_pipe = PipeSimple( + "co2_pipeline", + CO2, + CO2, + Power, + FixedProfile(0.01), + FixedProfile(0), # initial = 0, invest to build + FixedProfile(0), + FixedProfile(0), + FixedProfile(0), + [co2_pipe_inv_data], + ) + + transmissions = [Transmission(area_2, area_1, [power_line, co2_pipe])] + areas = [area_1, area_2] + + # Connect geo subsystem to global hub + push!(links, Direct("hub-to-Reg_2_av", hub, reg2_av, Linear())) + push!(links, Direct("Reg_2_av-to-hub", reg2_av, hub, Linear())) + + # ============================================================ + # I) Detailed cascaded hydropower (power-only coupling to hub) + # ============================================================ + m3s_to_mm3 = 3.6e-3 + + water_source = RefSource( + "water_source", + FixedProfile(0), + FixedProfile(0), + FixedProfile(0), + Dict(Water => 1.0), + ) + + reservoir_up = HydroReservoir{CyclicStrategic}( + "hydro_reservoir_up", + StorCap(FixedProfile(10)), + FixedProfile(10*m3s_to_mm3), + Water, + ) + reservoir_down = HydroReservoir{CyclicStrategic}( + "hydro_reservoir_down", + StorCap(FixedProfile(10)), + FixedProfile(0), + Water, + ) + + hydro_gen_cap = 20.0 + gen_up = HydroGenerator( + "hydro_generator_up", + FixedProfile(hydro_gen_cap), + PqPoints([0, 10, 20] / hydro_gen_cap, [0, 10, 22] * m3s_to_mm3 / hydro_gen_cap), + FixedProfile(0), FixedProfile(0), + Power, Water, + ) + gen_down = HydroGenerator( + "hydro_generator_down", + FixedProfile(hydro_gen_cap), + PqPoints([0, 10, 20] / hydro_gen_cap, [0, 10, 22] * m3s_to_mm3 / hydro_gen_cap), + FixedProfile(0), FixedProfile(0), + Power, Water, + ) + + pump_cap = 30.0 + pump = HydroPump( + "hydro_pump", + FixedProfile(pump_cap), + PqPoints([0, 15, 30] / pump_cap, [0, 12, 20] * m3s_to_mm3 / pump_cap), + FixedProfile(0), FixedProfile(0), + Power, Water, + ) + + gate = HydroGate( + "hydro_gate", + FixedProfile(20*m3s_to_mm3), + FixedProfile(0), + FixedProfile(0), + Water, + ) + ocean = RefSink( + "ocean", + FixedProfile(0), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(0)), + Dict(Water => 1.0), + ) + + hydro_av = GenAvailability("hydro_av", [Power]) + + price4 = [10, 60, 15, 62] + market_sale = RefSink( + "market_sale", + FixedProfile(0), + Dict(:surplus => repeat_to_len(-price4, op_number), + :deficit => repeat_to_len(price4, op_number)), + Dict(Power => 1.0), + ) + market_buy = RefSource( + "market_buy", + FixedProfile(1000), + repeat_to_len(price4 .+ 0.01, op_number), + FixedProfile(0), + Dict(Power => 1.0), + ) + + append!( + nodes, + [ + water_source, + reservoir_up, + reservoir_down, + gen_up, + gen_down, + pump, + gate, + ocean, + hydro_av, + market_sale, + market_buy, + ], + ) + + append!( + links, + [ + Direct("water_source-res_up", water_source, reservoir_up, Linear()), + Direct("res_up-gen_up", reservoir_up, gen_up, Linear()), + Direct("res_up-gate", reservoir_up, gate, Linear()), + Direct("gen_up-res_down", gen_up, reservoir_down, Linear()), + Direct("gate-res_down", gate, reservoir_down, Linear()), + Direct("res_down-pump", reservoir_down, pump, Linear()), + Direct("pump-res_up", pump, reservoir_up, Linear()), + Direct("res_down-gen_down", reservoir_down, gen_down, Linear()), + Direct("gen_down-ocean", gen_down, ocean, Linear()), + Direct("gen_up-hydro_av", gen_up, hydro_av, Linear()), + Direct("gen_down-hydro_av", gen_down, hydro_av, Linear()), + Direct("hydro_av-pump", hydro_av, pump, Linear()), + Direct("hydro_av-market_sale", hydro_av, market_sale, Linear()), + Direct("market_buy-hydro_av", market_buy, hydro_av, Linear()), + ], + ) + + push!(links, Direct("hydro_av-to-hub", hydro_av, hub, Linear())) + push!(links, Direct("hub-to-hydro_av", hub, hydro_av, Linear())) + + # ============================================================ + # J) Reformer block (MILP, needs SCIP) – connected via hub + # ============================================================ + reformer = Reformer( + "reformer", + FixedProfile(30), + FixedProfile(5), + FixedProfile(0), + Dict(NG => 1.25, Power => 0.11), + Dict(H2 => 1.0, CO2 => 0), + ExtensionData[CaptureEnergyEmissions(0.92)], + LoadLimits(0.2, 1.0), + CommitParameters(FixedProfile(0.2), FixedProfile(3)), + CommitParameters(FixedProfile(0.2), FixedProfile(3)), + CommitParameters(FixedProfile(0.02), FixedProfile(4)), + RampBi(FixedProfile(0.1)), + ) + h2_demand_ref = RefSink( + "h2_demand_reformer", + repeat_to_len([0, 5, 10, 5], op_number), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(150)), + Dict(H2 => 1), + ) + co2_sink_ref = RefSink( + "CO2_storage_reformer_sink", + FixedProfile(0), + Dict(:surplus => FixedProfile(9.1), :deficit => FixedProfile(20)), + Dict(CO2 => 1), + ) + append!(nodes, [reformer, h2_demand_ref, co2_sink_ref]) + + push!(links, Direct("hub-to-reformer", hub, reformer, Linear())) + push!(links, Direct("reformer-to-hub", reformer, hub, Linear())) + push!(links, Direct("hub-to-h2_demand_reformer", hub, h2_demand_ref, Linear())) + push!(links, Direct("reformer-to-co2_sink_ref", reformer, co2_sink_ref, Linear())) + + # ============================================================ + # K) Sink-source examples merged in through the hub + # - operational sink_source.jl + # - investment sink_source_invest.jl + # ============================================================ + + # (K1) plain sink-source + ss_source = RefSource( + "ss_electricity_source", + FixedProfile(50), + FixedProfile(30), + FixedProfile(0), + Dict(Power => 1), + ) + ss_demand = RefSink( + "ss_electricity_demand", + repeat_to_len([20, 30, 40, 30], op_number), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(1e6)), + Dict(Power => 1), + ) + append!(nodes, [ss_source, ss_demand]) + push!(links, Direct("ss_source-to-hub", ss_source, hub, Linear())) + push!(links, Direct("hub-to-ss_demand", hub, ss_demand, Linear())) + + # (K2) investment sink-source: source starts at 0 and can be built + lifetime = FixedProfile(15) + inv_data_source = SingleInvData( + FixedProfile(300 * 1e3), + FixedProfile(50), + ContinuousInvestment(FixedProfile(0), FixedProfile(30)), + RollingLife(lifetime), + ) + ss_inv_source = RefSource( + "ss_inv_electricity_source", + FixedProfile(0), + FixedProfile(10), + FixedProfile(5), + Dict(Power => 1), + [inv_data_source], + ) + ss_inv_demand = RefSink( + "ss_inv_electricity_demand", + repeat_to_len([20, 30, 40, 30], op_number), + Dict(:surplus => FixedProfile(0), :deficit => FixedProfile(1e6)), + Dict(Power => 1), + ) + append!(nodes, [ss_inv_source, ss_inv_demand]) + push!(links, Direct("ss_inv_source-to-hub", ss_inv_source, hub, Linear())) + push!(links, Direct("hub-to-ss_inv_demand", hub, ss_inv_demand, Linear())) + + # ----------------------------- + # FINAL Case assembly + # ----------------------------- + case = Case( + T, + products, + [nodes, links, areas, transmissions], + [[get_nodes, get_links], [get_areas, get_transmissions]], + ) + + return case, model +end + +function run_all_in_one_case() + case, model = generate_all_in_one_case() + + optimizer = optimizer_with_attributes( + SCIP.Optimizer, + MOI.Silent() => true, + "display/verblevel" => 0, + "limits/time" => 180.0, + "limits/gap" => 0.02, + ) + + m = run_model(case, model, optimizer) + + # The case can be visualized with + gui = GUI( + case; + model = m, + design_path = joinpath(@__DIR__, "design/example_all_structures"), + ) + + return case, model, m, gui +end diff --git a/test/runtests.jl b/test/runtests.jl index 540fa88..002435c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -21,6 +21,7 @@ Pkg.activate(env) include(joinpath(testdir, "case7.jl")) include(joinpath(testdir, "EMI_geography_2.jl")) include(joinpath(testdir, "example_test.jl")) +include(joinpath(testdir, "example_all_structures.jl")) # Add utilities needed for examples include(joinpath(exdir, "utils.jl")) diff --git a/test/test_descriptive_names.jl b/test/test_descriptive_names.jl index 3ebd6af..16b6de6 100644 --- a/test/test_descriptive_names.jl +++ b/test/test_descriptive_names.jl @@ -2,6 +2,9 @@ const EMB = EnergyModelsBase const EMI = EnergyModelsInvestments const EMG = EnergyModelsGeography const EMRP = EnergyModelsRenewableProducers +const EMH2 = EnergyModelsHydrogen +const EMH = EnergyModelsHeat +const EMC = EnergyModelsCO2 case, model, m, gui = run_case() @@ -78,22 +81,16 @@ case, model, m, gui = run_case() @testset "Test existence of descriptive names for all available EMX-packages" begin # Check that no descriptive names are empty for types descriptive_names = create_descriptive_names() - types_map = get_descriptive_names([EMB, EMI, EMG, EMRP], descriptive_names) + types_map = + get_descriptive_names([EMB, EMI, EMG, EMRP, EMH2, EMH, EMC], descriptive_names) @test !any(any(isempty.(values(a))) for a ∈ values(types_map)) - case, model = generate_example_data_geo() - m = create_model(case, model) + # Check that no warnings are logged when running a full case + @test_logs min_level=Logging.Error case, _, m, gui = run_all_in_one_case() # Check that no descriptive names are empty for variables variables_map = get_descriptive_names(m, descriptive_names) @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) - - case, model = generate_example_hp() - m = create_model(case, model) - - # Check that no descriptive names are empty for variables for EMRP - variables_map_EMRP = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map_EMRP)) end end EMGUI.close(gui) From 13bccd2674b3e632868293f82c4aff0d14c94d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 12:26:33 +0100 Subject: [PATCH 05/10] Improve documentation --- docs/make.jl | 2 ++ docs/src/figures/NUTS2_illustration.png | Bin 0 -> 162620 bytes docs/src/how-to/improve-performance.md | 30 +++++++++++++++++++ docs/src/how-to/use-custom-background-map.md | 13 ++++++++ 4 files changed, 45 insertions(+) create mode 100644 docs/src/figures/NUTS2_illustration.png create mode 100644 docs/src/how-to/improve-performance.md create mode 100644 docs/src/how-to/use-custom-background-map.md diff --git a/docs/make.jl b/docs/make.jl index a8bb672..864c3fd 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -50,6 +50,8 @@ makedocs(; "Customize colors"=>"how-to/customize-colors.md", "Customize icons"=>"how-to/customize-icons.md", "Customize descriptive_names"=>"how-to/customize-descriptive_names.md", + "Improve performance"=>"how-to/improve-performance.md", + "Use custom backgroun map"=>"how-to/use-custom-background-map.md", ], "Library" => Any[ "Public"=>"library/public.md", diff --git a/docs/src/figures/NUTS2_illustration.png b/docs/src/figures/NUTS2_illustration.png new file mode 100644 index 0000000000000000000000000000000000000000..500510ada0746fd695a28506d8672bc7a32b550a GIT binary patch literal 162620 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

8o-(zhlnQ4Hjb8q&TV4c*+`MI({M*S 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 literal 0 HcmV?d00001 diff --git a/docs/src/how-to/improve-performance.md b/docs/src/how-to/improve-performance.md new file mode 100644 index 0000000..22be997 --- /dev/null +++ b/docs/src/how-to/improve-performance.md @@ -0,0 +1,30 @@ +# [Improve performance](@id how_to-improve_performance) + +Due to the just-in-time (JIT) compilation of Julia, the instantiation of the `EnergyModelsGUI` window takes some time (but reopening the windo will take less time) and this also includes interactive features in the GUI (plotting a plot over `OperationalPeriod`s is a lot faster compared to the first plot). + +That being said, it is possible to boost startup time by turning of redundant features. +One can for example plot sub-areas only on demand (which for large system significantly reduces setup of the `GUI`) through + +```julia +gui = GUI(case; pre_plot_sub_components = false) +``` + +If there is no need to use the background map when using `EnergyModelsGeography` one can skip the usage of `GeoMakie` (this will also increase performance) + +```julia +gui = GUI(case; use_geomakie = false) +``` + +If the user do not see any usage of the `DataInspector` tool provided by `Makie` (which enables information of plot objects upon hovering with the mouse) one could use the `enable_data_inspector` toogle to further improve performance + +```julia +gui = GUI(case; enable_data_inspector = false) +``` + +It is also possible to use a simplified plotting of the `Link`s/`Transmission`s using the `simplified_connection_plotting` which improves performance slightly. +This option is however more motivated by simplified visuals. +One can also use `simplify_all_levels` to have this simplified plotting on all levels (not just the top level). + +```julia +gui = GUI(case; simplified_connection_plotting = true, simplify_all_levels = true) +``` \ No newline at end of file diff --git a/docs/src/how-to/use-custom-background-map.md b/docs/src/how-to/use-custom-background-map.md new file mode 100644 index 0000000..fbf4b34 --- /dev/null +++ b/docs/src/how-to/use-custom-background-map.md @@ -0,0 +1,13 @@ +# [Use custom backgruond map](@id how_to-use_custom_backgruond_map) + +The GUI enables user defined background maps in `.geojson` format through the `GUI` constructor parameter `String::map_boundary_file`. One could for example download NUTS boundaries as GeoJSON from [datahub.io](https://datahub.io/core/geo-nuts-administrative-boundaries) and save this file at a desired location and use this file path as `map_boundary_file`. + +Downloading [NUTS2](https://r2.datahub.io/clt98mkvt000ql70811z8xj6l/main/raw/data/NUTS_RG_60M_2024_4326_LEVL_2.geojson), one can with a EMX-case variable `case` + +```julia +gui = GUI(case; map_boundary_file = joinpath(@__DIR__, "NUTS_RG_60M_2024_4326_LEVL_2.geojson")) +``` + +get something like + +![NUTS2 illustration](../figures/NUTS2_illustration.png) From 33d20bf45ef64b9389e8f64c06305055055c51b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 13:25:19 +0100 Subject: [PATCH 06/10] Fix missing packages in the test environment and update NEWS.md --- NEWS.md | 8 ++++++++ test/Project.toml | 3 +++ test/example_all_structures.jl | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 691c0d6..faa0148 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,13 @@ # Release notes +## Version 0.6.1 (2025-12-17) + +### Enhancements + +* Improved testing of `descriptive_names` and added more names from other packages. +* Improved documentation. + + ## Version 0.6.0 (2025-12-15) ### Bugfix diff --git a/test/Project.toml b/test/Project.toml index f9c2728..220179a 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -1,7 +1,10 @@ [deps] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" EnergyModelsBase = "5d7e687e-f956-46f3-9045-6f5a5fd49f50" +EnergyModelsCO2 = "84b3f4d7-d799-4a5d-b06c-25c90dcfcad7" EnergyModelsGeography = "3f775d88-a4da-46c4-a2cc-aa9f16db6708" +EnergyModelsHeat = "ad1b8b27-e232-4da9-b498-bea9c19a30d7" +EnergyModelsHydrogen = "44855f8b-b147-4985-ac18-48817d03c548" EnergyModelsInvestments = "fca3f8eb-b383-437d-8e7b-aac76bb2004f" EnergyModelsRenewableProducers = "b007c34f-ba52-4995-ba37-fffe79fbde35" HiGHS = "87dc4568-4c63-4d18-b0c0-bb2238e4078b" diff --git a/test/example_all_structures.jl b/test/example_all_structures.jl index 9d944dc..1837f0f 100644 --- a/test/example_all_structures.jl +++ b/test/example_all_structures.jl @@ -20,7 +20,7 @@ const EMI = EnergyModelsInvestments const TS = TimeStruct """ -Mega-example: combines all node families from the attached examples into ONE connected Case. +All-in-one-case: combines all nodes from the main EMX packages. This comprehensive example includes: - Two areas (EnergyModelsGeography) transferring `Power` and `CO2` with investment From 7752478f65901504f952caedbda735f01de11585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 14:15:00 +0100 Subject: [PATCH 07/10] Add suggestions from review --- docs/src/how-to/improve-performance.md | 3 ++- docs/src/how-to/use-custom-background-map.md | 2 +- test/example_all_structures.jl | 9 +++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/src/how-to/improve-performance.md b/docs/src/how-to/improve-performance.md index 22be997..dbf8ab7 100644 --- a/docs/src/how-to/improve-performance.md +++ b/docs/src/how-to/improve-performance.md @@ -1,6 +1,7 @@ # [Improve performance](@id how_to-improve_performance) -Due to the just-in-time (JIT) compilation of Julia, the instantiation of the `EnergyModelsGUI` window takes some time (but reopening the windo will take less time) and this also includes interactive features in the GUI (plotting a plot over `OperationalPeriod`s is a lot faster compared to the first plot). +Due to the just-in-time (JIT) compilation of Julia, the instantiation of the `EnergyModelsGUI` window takes some time (but reopening the window will take less time). +This also includes interactive features in the GUI (creating a the first plot is a lot lower than the subsequent plots). That being said, it is possible to boost startup time by turning of redundant features. One can for example plot sub-areas only on demand (which for large system significantly reduces setup of the `GUI`) through diff --git a/docs/src/how-to/use-custom-background-map.md b/docs/src/how-to/use-custom-background-map.md index fbf4b34..55843c5 100644 --- a/docs/src/how-to/use-custom-background-map.md +++ b/docs/src/how-to/use-custom-background-map.md @@ -1,6 +1,6 @@ # [Use custom backgruond map](@id how_to-use_custom_backgruond_map) -The GUI enables user defined background maps in `.geojson` format through the `GUI` constructor parameter `String::map_boundary_file`. One could for example download NUTS boundaries as GeoJSON from [datahub.io](https://datahub.io/core/geo-nuts-administrative-boundaries) and save this file at a desired location and use this file path as `map_boundary_file`. +The GUI enables user defined background maps in `.geojson` format through the `GUI` constructor parameter `String::map_boundary_file`. One could for example download NUTS boundaries as GeoJSON from [datahub.io](https://datahub.io/core/geo-nuts-administrative-boundaries), save this file at a desired location and use this file path as `map_boundary_file`. Downloading [NUTS2](https://r2.datahub.io/clt98mkvt000ql70811z8xj6l/main/raw/data/NUTS_RG_60M_2024_4326_LEVL_2.geojson), one can with a EMX-case variable `case` diff --git a/test/example_all_structures.jl b/test/example_all_structures.jl index 1837f0f..962ae00 100644 --- a/test/example_all_structures.jl +++ b/test/example_all_structures.jl @@ -34,8 +34,13 @@ This comprehensive example includes: - Sink-source examples: both operational and investment variants, connected via hub for `Power`. All subsystems are connected through the global multi-carrier hub, demonstrating integration of: -- EnergyModelsBase, EnergyModelsGeography, EnergyModelsHydrogen, EnergyModelsCO2, - EnergyModelsRenewableProducers, EnergyModelsHeat, EnergyModelsInvestments +- EnergyModelsBase v0.9.3 +- EnergyModelsCO2 v0.7.6 +- EnergyModelsGeography v0.11.3 +- EnergyModelsHeat v0.1.3 +- EnergyModelsHydrogen v0.8.3 +- EnergyModelsInvestments v0.8.1 +- EnergyModelsRenewableProducers v0.6.7 """ function generate_all_in_one_case() # ----------------------------- From 7b99197ae8500cf6b6f5fd5d91d2bd301193c8d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 14:19:04 +0100 Subject: [PATCH 08/10] Fix versions in docstring of generate_all_in_one_case test function --- test/example_all_structures.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/example_all_structures.jl b/test/example_all_structures.jl index 962ae00..77bc5df 100644 --- a/test/example_all_structures.jl +++ b/test/example_all_structures.jl @@ -34,10 +34,10 @@ This comprehensive example includes: - Sink-source examples: both operational and investment variants, connected via hub for `Power`. All subsystems are connected through the global multi-carrier hub, demonstrating integration of: -- EnergyModelsBase v0.9.3 +- EnergyModelsBase v0.9.4 - EnergyModelsCO2 v0.7.6 -- EnergyModelsGeography v0.11.3 -- EnergyModelsHeat v0.1.3 +- EnergyModelsGeography v0.11.4 +- EnergyModelsHeat v0.1.4 - EnergyModelsHydrogen v0.8.3 - EnergyModelsInvestments v0.8.1 - EnergyModelsRenewableProducers v0.6.7 From de65edda7bf13962b7c30992986963b6e6c1a294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 14:21:47 +0100 Subject: [PATCH 09/10] Fix grammar --- docs/src/how-to/improve-performance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/how-to/improve-performance.md b/docs/src/how-to/improve-performance.md index dbf8ab7..6a4426a 100644 --- a/docs/src/how-to/improve-performance.md +++ b/docs/src/how-to/improve-performance.md @@ -1,7 +1,7 @@ # [Improve performance](@id how_to-improve_performance) Due to the just-in-time (JIT) compilation of Julia, the instantiation of the `EnergyModelsGUI` window takes some time (but reopening the window will take less time). -This also includes interactive features in the GUI (creating a the first plot is a lot lower than the subsequent plots). +This also includes interactive features in the GUI (creating a the first plot is a lot slower than creating subsequent plots). That being said, it is possible to boost startup time by turning of redundant features. One can for example plot sub-areas only on demand (which for large system significantly reduces setup of the `GUI`) through From 0cfa9594affaa064f715c24b61238cb79f806e7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 14:26:55 +0100 Subject: [PATCH 10/10] Fix grammar --- docs/src/how-to/improve-performance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/how-to/improve-performance.md b/docs/src/how-to/improve-performance.md index 6a4426a..9a7d8e5 100644 --- a/docs/src/how-to/improve-performance.md +++ b/docs/src/how-to/improve-performance.md @@ -1,7 +1,7 @@ # [Improve performance](@id how_to-improve_performance) Due to the just-in-time (JIT) compilation of Julia, the instantiation of the `EnergyModelsGUI` window takes some time (but reopening the window will take less time). -This also includes interactive features in the GUI (creating a the first plot is a lot slower than creating subsequent plots). +This also includes interactive features in the GUI (creating the first plot is a lot slower than creating subsequent plots). That being said, it is possible to boost startup time by turning of redundant features. One can for example plot sub-areas only on demand (which for large system significantly reduces setup of the `GUI`) through