GenX version v0.3.0
GenX version 0.3.0 Release Notes
In this version, we have upgraded GenX to version v0.3.0. To run GenX 0.3.0, we recommend Julia language version 1.6.x series along with JuMP 0.21.x series (all the environment dependencies have been updated to the most recent compatible versions as well). The following are the salient features that have been added in this version release:
- Added Dual Dynamic Programming (DDP) Multi-stage capacity expansion feature to GenX: This is the major highlight and most important new feature added to GenX in version 0.3.0. Addition of the DDP now allows GenX to carry out multi stage and multi year look-ahead capacity expansion planning into the future in a most rigorous mathematical framework.
- Vectorization of output writing to enhance the speed of generating results files.
- Revised and updated "Method of Morris" for sophisticated sensitivity analyses studies (along with previously created "Modeling to Generate Alternatives (MGS)" analysis).
- Bug-fixes and refinement of modularization of the different policy modules like co2_cap, cap_reserve_margin, minimum_capacity_requirement etc., for ease and convenience for adding new technologies by the users.
Below are the details of the changes in this release:
What's Changed
- Merging Dev into Method of Morris by @nspatank in #66
- modularizing policies: capacity reserve margin, minimum requirement capacity, ESR by @aneeshamanocha in #68
- Multi-Stage GenX by @jf-morris in #78
- Make 'solver' entry case insensitive; document this by @cfe316 in #103
- Simplify loading scripts: use joinpath by @cfe316 in #97
- Use joinpath rather than passing string separator by @cfe316 in #104
- Remove debugging info from flexible demand module by @cfe316 in #107
- Remove service for unsupported Julia versions by @cfe316 in #105
- Add cplex.log file to gitignore. by @cfe316 in #88
- Shorten the .gitignore file by @cfe316 in #110
- Add a default for MultiStage to configure_settings by @cfe316 in #90
- Policies (added must run for capacity reserve margins) by @aneeshamanocha in #69
- Fix bug on main which prevents writing many outputs by @cfe316 in #123
- Refactor period map loading logic by @cfe316 in #130
- Remove unused code requiring CapRes_* cols by @gschivley in #120
- Remove references to LongDurationStorage key by @cfe316 in #124
- Call write_costs exactly once by @cfe316 in #136
- Resolving first-stage-only network expansion issue in multi-stage GenX by @jf-morris in #131
- Add github action test workflow by @gschivley in #142
- Annualizing costs in myopic multi-stage GenX by @jf-morris in #144
- Vectorize the simpler writing procedures by @cfe316 in #137
- Vectorize write_storagedual by @cfe316 in #139
- Documentation for Multi-Stage GenX by @jf-morris in #160
- Vectorize write_costs by @cfe316 in #145
- Vectorize the three slowest outputs by @cfe316 in #147
- Annualize outputs for reserves and ucommit by @cfe316 in #155
- Vectorize writing of outputs by @cfe316 in #157
- DDP Documentation Fix by @jf-morris in #163
- Correcting multi-stage TDR indexing error by @jf-morris in #162
- Include STOR=2 techs in STOR_LONG_DURATION and STOR_SHORT_DURATION sets by @jf-morris in #159
- Fix mismatched arguments in write_outputs by @cfe316 in #175
- Fix and simplify Up&Down_Time constraints by @cfe316 in #151
- Scale all generator Cap_Size, not just those with > 1 MW by @cfe316 in #178
- Gate for accessing Hydro_Energy_to_Power_Ratio by @cfe316 in #174
- DDP Post-convergence extra forward pass by @jf-morris in #182
- Aaron: Reformatting DDP Directory by @jf-morris in #183
- Fix zonal cost summations by @cfe316 in #185
- Dev by @sambuddhac in #179
- Dev by @sambuddhac in #188
New Contributors
- @aneeshamanocha made their first contribution in #68
- @jf-morris made their first contribution in #78
Full Changelog: v0.2.0...v0.3.0