Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
b9caa34
Add output for dual of capacity constraint Max_Cap_MW (#473)
gmantegna Aug 2, 2023
5b472d2
Remove Network.csv files from single-zone cases (#505)
cfe316 Aug 3, 2023
98951cd
Merge hotfix-506
cfe316 Aug 4, 2023
9e510f8
Add bug report template
cfe316 Aug 4, 2023
1df9ac5
add PR template (#516)
gmantegna Aug 7, 2023
118c49e
Deduplicate 'multi-stage' overview docs (#515)
cfe316 Aug 7, 2023
29b7b6e
Return path from write_outputs (#509)
cfe316 Aug 8, 2023
852cf37
Set example small_hydro plants MUST_RUN=1 (#517)
cfe316 Aug 8, 2023
0e67cd8
Validate resources in generators_data.csv (#513)
cfe316 Aug 8, 2023
f2c63d6
Remove coveralls and coverage (#518)
cfe316 Aug 8, 2023
a99c2ae
Fix typo in module-loading print statement (#521)
gmantegna Aug 12, 2023
9d9cfb2
Update PULL_REQUEST_TEMPLATE.md (#520)
gmantegna Aug 12, 2023
055407a
Update reserves.jl (#524)
gmantegna Aug 15, 2023
036d4ac
Change expressions to use add_to_expression! (#498)
pshlime Aug 17, 2023
2f30582
Add ability for storage to contribute to capacity reserves without ne…
gmantegna Aug 17, 2023
d1c2d15
Disable Retrofits feature (#527)
cfe316 Aug 17, 2023
386ff57
Simplify expression manipulation functions (#528)
RuaridhMacd Aug 21, 2023
4faa35f
Build GenX and run example case nightly (#529)
gschivley Aug 21, 2023
d51683a
Fixed tracking of current stage in setup dictionary in dual_dynamic_p…
filippopecci Aug 21, 2023
fb630c4
Update CHANGELOG.md for SDDP bug fix (#532)
gmantegna Aug 22, 2023
a6ba0e7
Add Co-located VRE+Storage Module (#523)
gmantegna Aug 22, 2023
e6bda37
Fix Fixed_OM_Cost_Charge_per_MWyr to align with example cases (#533)
gmantegna Aug 22, 2023
dcbf206
Rename 'load' to 'demand' in code
cfe316 Aug 24, 2023
d2389f1
Rename 'load' to 'develop' in Example_Systems (#534)
cfe316 Aug 24, 2023
b7d819a
Feature electrolysis basic (#525)
JesseJenkins Aug 24, 2023
82b438e
Remove doubled hydrogen settings in example (#544)
cfe316 Sep 12, 2023
c51fad9
Add co2 and fuel modules
fc4uk May 16, 2023
2da38b0
Change ModelParameterScale to const (#551)
cfe316 Sep 19, 2023
c6b7901
Remove unneeded check when loading fuel data (#545)
cfe316 Oct 3, 2023
a1475c7
Maintenance formulation (for thermal generators) (#556)
cfe316 Oct 4, 2023
8d8a0ac
Separate new build and retirement eligibility (#392)
cfe316 Oct 24, 2023
c7302ad
Endogenous retirements bugfix
filippopecci Oct 24, 2023
5e1d2c5
[Fix] eELOSSByZone expr: access before initialization (#568)
lbonaldo Oct 27, 2023
1f37452
Enable commercial solver use without modifying GenX source code (#531)
gmantegna Nov 9, 2023
60ca831
Zero-out Rsv_Max and Reg_Max of MUST_RUN example gens (#577)
cfe316 Nov 12, 2023
2091f85
Add new tests for seven modules. Include GH workflow. (#563)
lbonaldo Nov 13, 2023
6f7ec0d
Remove test MoM (#578)
lbonaldo Nov 14, 2023
a7ae6ba
Separate reserves into creation and constraints (#580)
cfe316 Nov 16, 2023
2ef54dc
Refactor reserves (#562)
cfe316 Nov 18, 2023
861c714
Allow ability to scale written timeseries outputs. (#581)
cfe316 Nov 20, 2023
32b3836
Add method to calculate locational marginal prices (#582)
cfe316 Nov 22, 2023
9dcec7d
Fix #567: apply min/max power for electrolyzers (#583)
cfe316 Nov 22, 2023
1033fff
Refactor write_capacity_value (#585)
cfe316 Nov 28, 2023
d1c6fa0
Fix DimensionMismatch error (#588)
cfe316 Nov 29, 2023
5727636
Output correct CRM values for THERM plants with maintenance (#589)
cfe316 Dec 1, 2023
fa8aefc
use maxlog=1 (#592)
cfe316 Dec 5, 2023
54ef23a
Prefer columns-style network format to matrix format (#591)
cfe316 Dec 5, 2023
dcb98a3
Minor refactor of write_esr_revenue (#593)
cfe316 Dec 5, 2023
0a35ba2
Update changelog for #591 (#595)
cfe316 Dec 5, 2023
090fecc
Fix #559: report electrolyzer power per-zone (#596)
cfe316 Dec 5, 2023
68514b0
Correctly write and scale unmet reserve output (#594)
cfe316 Dec 5, 2023
838c5c5
use weighted_price in write_reserve_margin_revenue (#597)
cfe316 Dec 6, 2023
783f7cd
Use scale_factor in write_min/max_capacity_requirement.jl (#599)
cfe316 Dec 12, 2023
fa5f5b8
Fix 485, 571 asymmetric storage STOR=2 NetRevenue (#602)
cfe316 Dec 22, 2023
a15e37f
Fixed issue #605 (#609)
filippopecci Jan 8, 2024
66ba310
Crunching the mass-based and demand-rate based into one expression in…
sambuddhac Jan 13, 2024
da4869c
Update Julia versions in ci.yml (#615)
lbonaldo Jan 23, 2024
6e6f3bf
Fix #576: validate MUST_RUN reserve contribution (#619)
lbonaldo Feb 1, 2024
929839b
Fix #584: derating factor for VRE_STOR in write_capacity_value (#618)
lbonaldo Feb 1, 2024
0cb5f17
Extend expression_manipulations.jl to some variables (#579)
RuaridhMacd Feb 1, 2024
a3dfd80
Fix scaling of tx losses in tlosses.csv #616 (#621)
lbonaldo Feb 2, 2024
eddd04a
Fix cTotal on write_costs: #553 (#620)
lbonaldo Feb 5, 2024
8a7dfdc
Add default settings to tests and cleanup (#625)
lbonaldo Feb 11, 2024
ff798c9
Compute conflicting constraints for infeasible models (#624)
filippopecci Feb 11, 2024
b2b3987
Get rid of costs to virtual charging & discharging (#608)
sambuddhac Feb 11, 2024
91d4678
Create write_operating_reserve_price_revenue.jl (#611)
sambuddhac Feb 13, 2024
8a3f674
Fix write_net_revenue when Reserves = 0 (#626)
lbonaldo Feb 13, 2024
47bda69
Fixed #572 : allow long duration hydro reservoir (#629)
filippopecci Feb 14, 2024
5db2fcb
Merge #634
filippopecci Feb 14, 2024
448d724
Split of Generators_data.csv (#612)
lbonaldo Feb 15, 2024
744896c
Enable thermal power plants to burn multiple fuels (#586)
qluo0320github Feb 20, 2024
153d4f3
Flexible Output Writing (#617)
lbonaldo Feb 21, 2024
6e77c7d
DC OPF (#543)
abdelrahman-ayad Feb 26, 2024
babed03
Make storage virtual discharge turn-off-able with a setting (#638)
gmantegna Feb 29, 2024
c8895bc
Fix write_rsv.jl (#642)
lbonaldo Mar 1, 2024
f33b097
Rename "reserves" to "operational reserves" (#641)
lbonaldo Mar 1, 2024
ab5b0b2
Update case folder structure and examples (#640)
lbonaldo Mar 2, 2024
4c5e6d2
Fix scaling of multistage data when read from module file (#643)
lbonaldo Mar 8, 2024
e9b142d
Fix ret_cap_charge in load_resources (#646)
lbonaldo Mar 12, 2024
692a935
Fix write_status with UCommit=1 and shadow prices (#645)
lbonaldo Mar 12, 2024
561d1b1
Update interface and multistage input for vre_stor (#648)
lbonaldo Mar 17, 2024
5462c79
Update CI to regularly test examples (#644)
lbonaldo Mar 17, 2024
293ad2c
Docs restructuring (#637)
lbonaldo Mar 18, 2024
d9132b1
Added zenodo author list (#650)
sambuddhac Mar 18, 2024
ab5b68a
Add option to retrofit existing resources (#600)
yifueve Mar 18, 2024
ed61046
Proxy PR against Compat Helper PR (#652)
sambuddhac Mar 18, 2024
cb81a60
Added docstring for endogenous retirement constraint (#654)
sambuddhac Mar 18, 2024
4af19ae
Updated CHANGELOG
sambuddhac Mar 18, 2024
a75e25f
Add ObjScale to genx_settings.yml
Betristor Mar 19, 2024
13565bf
Add ObjScale parameter to objective function
Betristor Mar 19, 2024
40c11f5
Conflicts resolved
sambuddhac Mar 20, 2024
253737f
Removed .travis.yml since we now use gh-actions for automated tests a…
sambuddhac Mar 20, 2024
985cbd9
Changed the GenX version number to 0.4.0
sambuddhac Mar 20, 2024
5351dad
Changed the author naming convention and ordering in Project.toml to …
sambuddhac Mar 20, 2024
1687af8
Documentation correction in the expression of RETCAP in endogenous_re…
sambuddhac Mar 20, 2024
6c47fc2
Revised Acknowledgement on README and index.md
sambuddhac Mar 20, 2024
21b98b9
Updated Project.toml with [compat] of Dates and LinearAlgebra packages
sambuddhac Mar 20, 2024
d0f9d3e
Updated full-blown TagBot.yml to adhere to Julia package registration…
sambuddhac Mar 20, 2024
21f4aa1
Update test_examples.yml
lbonaldo Mar 20, 2024
e52df19
Merge pull request #655 from GenXProject/release/0.4.0
sambuddhac Mar 20, 2024
751c9ab
Changed deploydoc URL to GenX.jl
sambuddhac Mar 20, 2024
bb60664
Update make.jl
sambuddhac Mar 20, 2024
b68a2d1
Update README.md
sambuddhac Mar 20, 2024
5c367b2
Merge pull request #662 from GenXProject/release/0.4.0
sambuddhac Mar 21, 2024
a76d852
Update README.md
sambuddhac Mar 21, 2024
2ee7522
Merge pull request #664 from GenXProject/sambuddhac-patch-1
sambuddhac Mar 21, 2024
85938ce
Add ObjScale to genx_settings.yml
Betristor Mar 19, 2024
da7d877
Add ObjScale parameter to objective function
Betristor Mar 19, 2024
b9b881d
Merge remote-tracking branch 'refs/remotes/origin/ObjScale' into ObjS…
Betristor Mar 25, 2024
d1b0224
Delete genx_settings.yml file
Betristor Mar 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: what-happened
attributes:
label: Bug description
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: version
attributes:
label: Environment and Version
description: |
What are your OS, Julia version, and GenX version (release/tag, branch, or commit)?
placeholder: MacOS, Julia 1.x, main branch v0.x.y
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant error messages
description: Please copy and paste any relevant error messages output. This will be automatically formatted into code, so no need for backticks. (optional)
render: shell
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Anything else that would help us understand or fix this (optional)
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Feature Request
description: Suggest a new feature to be incorporated
title: "[Feature]: "
labels: ["feature-request"]
body:
- type: textarea
id: desciption
attributes:
label: Feature description
description: What new capability would you like to add?
placeholder: What you want to be able to do
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Motivation
description: What will you able to do, or how this makes GenX better (optional)
placeholder: New studies of ...
- type: textarea
id: strategy
attributes:
label: Implementation strategy
description: How might this be incorporated? (optional)
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Any other details. (optional)
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: General question
description: Ask a question about GenX
title: "[Question]: "
labels: ["question"]
body:
- type: textarea
id: desciption
attributes:
label: Question
description: What would you like to know?
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Any other details. (optional)
59 changes: 59 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
## Description

<!--
Please do not leave this blank
This PR [adds/removes/fixes/replaces] the [feature/bug/etc].

This section should include a detailed description of the motivation for the PR,
and a description of why it was implemented in the way that it was,
to the extent that these things are applicable.
-->

## What type of PR is this? (check all applicable)

- [ ] Feature
- [ ] Bug Fix
- [ ] Documentation Update
- [ ] Code Refactor
- [ ] Performance Improvements

## Related Tickets & Documents
<!--
Please use this format to link issue numbers: Fixes #123
https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
-->

## Checklist

- [ ] Code changes are sufficiently documented; i.e. new functions contain docstrings and .md files under /docs/src have been updated if necessary.
- [ ] The latest changes on the target branch have been incorporated, so that any conflicts are taken care of before merging. This can be accomplished either by merging in the target branch (e.g. 'git merge develop') or by rebasing on top of the target branch (e.g. 'git rebase develop'). Please do not hesitate to reach out to the GenX development team if you need help with this.
- [ ] Code has been tested to ensure all functionality works as intended.
- [ ] CHANGELOG.md has been updated (if this is a 'notable' change).
- [ ] I consent to the release of this PR's code under the GNU General Public license.

## How this can be tested

<!--
If applicable: What cases should we try before/after? Will this alter any outputs, or is it a strictly internal change?
-->

<!--
For Work In Progress Pull Requests, please use the Draft PR feature,
see https://github.blog/2019-02-14-introducing-draft-pull-requests/ for further details.

For a timely review/response, please avoid force-pushing additional
commits if your PR already received reviews or comments.
After the PR is approved we will give you a chance to tidy up the branch before merging.

Before submitting a Pull Request, please ensure you've done the following:
- 👷‍♀️ Create small PRs. In most cases, this will be possible. In the case of large feature or module additions, it is best to work towards a "minimum viable product" that is thoroughly tested but may not have all desired functionality or features, make a PR for this, and then later work to add more features.
- 📝 Use descriptive commit messages.
- 📗 Update any related documentation.

-->

## Post-approval checklist for GenX core developers
After the PR is approved

- [ ] Check that the latest changes on the target branch are incorporated, either via merge or rebase
- [ ] Remember to squash and merge if incorporating into develop
18 changes: 18 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@ on:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: 3
permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
Expand All @@ -12,4 +28,6 @@ jobs:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# Edit the following line to reflect the actual name of the GitHub Secret containing your private key
ssh: ${{ secrets.DOCUMENTER_KEY }}
# ssh: ${{ secrets.NAME_OF_MY_SSH_PRIVATE_KEY_SECRET }}
39 changes: 39 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CI

on:
pull_request:
push:
branches: [main, develop]
tags: ['*']

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name}}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- "1.6" # LTS (64-bit Linux)
- "1.7"
- "1.8"
- "1.9"
- '1' # latest stable Julia release (Linux)
os:
- ubuntu-latest
arch:
- x64

steps:
- uses: actions/checkout@v3
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@v1
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3
with:
file: lcov.info
15 changes: 0 additions & 15 deletions .github/workflows/ci_test.yml

This file was deleted.

21 changes: 21 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Documenter

on:
pull_request:
push:
branches: [main]
tags: ['*']

jobs:
Documenter:
permissions:
contents: write
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: julia-actions/julia-buildpkg@latest
- uses: julia-actions/julia-docdeploy@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
48 changes: 48 additions & 0 deletions .github/workflows/test_examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Test-examples

on:
push:
branches: [main, develop]
tags: ['*']
schedule:
- cron: 21 4 * * * # Run at 12:21am US Eastern time

jobs:
test:
strategy:
matrix:
branch: ["main", "develop"]
version: ["1.8", "1.9", '1']
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
ref: ${{ matrix.branch }}
- uses: julia-actions/cache@v1.2.2
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.version }}
- uses: julia-actions/julia-buildpkg@v1
- name: Test examples
shell: julia --project=. --color=yes {0}
run: |
using GenX
using Test

base_path = Base.dirname(Base.dirname(pathof(GenX)))
examples_path = joinpath(base_path, "example_systems")

if !isdir(examples_path)
@warn "No example systems found in $examples_path"
exit(0)
end

@testset "Test examples" begin
for example_dir in readdir(examples_path, join=true)
if isdir(example_dir) && isfile(joinpath(example_dir, "Run.jl"))
@info "Running example in $example_dir"
@test isnothing(run_genx_case!(example_dir))
end
end
end
23 changes: 7 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,17 @@ gurobi.log
cplex.log
Highs.log

test/Logs

/docs/build/

# Microsoft office temporary files
~$*

# Never include output folders
**/Results*/
**/TDR_Results/

# Example systems which may be or have been under development
Example_Systems/NYISO*
Example_Systems/RealSystemExample/PG_Test_2030_p1/
Example_Systems/RealSystemExample/Inputs/
Example_Systems/SmallNewEngland/ThreeZones_full*
Example_Systems/SmallNewEngland/Test_Up_Time/
Example_Systems/SmallNewEngland/Test_Down_Time/
2050/

Example_Systems/SmallNewEngland/ThreeZones_full.zip
Example_Systems/SmallNewEngland/ThreeZones_full/*
**/results*/
**/TDR_results/

Example_Systems/SmallNewEngland/ThreeZones_MultiStage/Inputs/*
test_get_retirement_period.jl
# Test files
test/TDR/TDR_results_test
!test/TDR/TDR_results_true
55 changes: 0 additions & 55 deletions .travis.yml

This file was deleted.

Loading