Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/tests-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ jobs:
if: runner.os == 'Linux'
uses: julia-actions/setup-julia@v2
with:
version: "1.6"
version: "1.11"

# Linux package installation (classic pip install)
- name: Install dependencies (Linux)
Expand Down
12 changes: 12 additions & 0 deletions doc/whatsnew/v0-3-0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,15 @@ Changes
* Added a storage operation strategy where the storage is charged when PV feed-in is higher than electricity demand of the household and discharged when electricity demand exceeds PV generation `#386 <https://github.com/openego/eDisGo/pull/386>`_
* Added an estimation of the voltage deviation over a cable when selecting a suitable cable to connect a new component `#411 <https://github.com/openego/eDisGo/pull/411>`_
* Added clipping of heat pump electrical power at its maximum value #428 <https://github.com/openego/eDisGo/pull/428>
* Updated CI to use Julia 1.11 and improved Julia OPF integration:
- Set GitHub Actions Julia setup to use `1.11`.
- Added early startup diagnostics in the Julia launcher (`Main.jl`) and
runtime `__init__()` prints in the `eDisGo_OPF` Julia package to
explicitly report the Julia version and detected PowerModels version.
- Avoided `Pkg` calls at package precompile time and implemented safe,
filesystem-based PowerModels version detection to prevent precompilation
errors across Julia versions.
- Made the Python OPF launcher use the resolved absolute Julia binary
path (prefers `julia1.11`) to avoid manifest/activation mismatches.
These changes improve compatibility with Julia 1.11 and recent
PowerModels releases. See `#570 <https://github.com/openego/eDisGo/pull/570>`_.
2 changes: 1 addition & 1 deletion edisgo/config/config_opf_julia_default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@

[julia_dir]

julia_bin = julia-1.1.0/bin
julia_bin = julia1.11
26 changes: 22 additions & 4 deletions edisgo/opf/eDisGo_OPF.jl/Main.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
cd(dirname(@__FILE__))
cd(@__DIR__)
# Early prints to help diagnose which Julia binary / packages are used
try
println("[eDisGo_OPF Main] Julia ", VERSION)
pm_path = Base.find_package("PowerModels")
if pm_path !== nothing
println("[eDisGo_OPF Main] PowerModels found at ", pm_path)
else
println("[eDisGo_OPF Main] PowerModels not found on LOAD_PATH")
end
catch e
# best effort, do not fail on diagnostics
try
@warn("eDisGo_OPF Main: could not print diagnostics: $e")
catch
end
end
using Pkg
Pkg.activate("")
Pkg.activate(@__DIR__)
Pkg.instantiate()
try
using eDisGo_OPF
Expand Down Expand Up @@ -48,8 +64,10 @@ function optimize_edisgo()
# else
JuMP.compute_conflict!(pm.model)
if MOI.get(pm.model, MOI.ConflictStatus()) == MOI.CONFLICT_FOUND
iis_model, _ = copy_conflict(pm.model)
print(iis_model)
# copy_conflict might not be available in newer JuMP versions
# iis_model, _ = copy_conflict(pm.model)
# print(iis_model)
println("Conflict detected in optimization model")
end
#end
elseif result_soc["termination_status"] == MOI.OPTIMAL
Expand Down
Loading
Loading