Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve error handling for REopt #63

Merged
merged 9 commits into from
May 3, 2024
Merged

Improve error handling for REopt #63

merged 9 commits into from
May 3, 2024

Conversation

vtnate
Copy link
Collaborator

@vtnate vtnate commented Apr 29, 2024

We now produce a helpful error message if ditto-reader is called with the reopt flag when reopt output hasn't yet been generated.

REopt data has not been added to this repo, so testing with reopt output continues to be commented. I added a test for the error message.

OpenDSSDirect.py released version 0.9.0 this winter, and it has breaking changes so we need to pin to 0.8. That is also done in this PR.

@vtnate vtnate added the enhancement New feature or request label Apr 29, 2024
@vtnate vtnate self-assigned this Apr 29, 2024
@vtnate vtnate marked this pull request as ready for review April 30, 2024 14:34
@vtnate vtnate requested a review from kflemin April 30, 2024 14:34
Copy link
Contributor

@kflemin kflemin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏆

@vtnate vtnate merged commit e2c8d33 into develop May 3, 2024
4 checks passed
@vtnate vtnate deleted the reopt-error-handling branch May 3, 2024 16:46
vtnate added a commit that referenced this pull request May 6, 2024
* Use toml setup (#47)

* use modern packaging format, and update to opendssdirect.py v0.7.0

* update readme with additional guidance for linting/formatting/etc

* pre-commit configs

* bump ruff & black versions in pre-commit

* remove license from dynamic pyproject setup because illegal, apparently

* move opendssdirect.py upgrade to #48

* Run pre commit (#50)

* remove ruff from pre-commit

* formatting by black

* the ruff alerts in update_licenses are acceptable and should be ignored

* address ruff concerns in cli

* ignore more linting warnings in read.py

* address (in some cases ignore) linting in read.py

* remove "ub" parameter from _get_xfmr_overloads() in urbanopt_ditto_reader.py

* ignore complexity linting in urbanopt_ditto_reader.py as well

* address (in some cases ignore) linting in urbanopt_ditto_reader.py

* Tests (#48)

* new empty test files

* new empty github actions ci config file

* update release instructions for new package style

* add .ruff_cache to gitignore

* add newline at end of changelog file

* add rnm output for testing

* tiny word change in readme

* remove license from dynamic section in pyproject.toml

* remove example/test output from git cache/tracking

* different path for example/test output in gitignore file

* remove example/test transformers from git cache/tracking

* Revert "remove example/test transformers from git cache/tracking"

This reverts commit 0d21c1c.

* allow command line flags to override config file

* adjust line-length to 90 characters

* fix typo in cli help text

* remove unnecessary test file

* rename test file

* comment why reopt test is commented out

* set up github actions for ci

* set python >= 3.8 in ci. needed for pre-commitv3

* set python >= 3.8 in repo

* restore license file accidentally deleted

* fix local import statement to match some historical refactor

* change line-length to 120 chars to not have so many line-breaks

* raise SystemExit cleanly for elegant warning to user

* allow user args to override json config appropriately

* ignore a few more lint checks in the test suite

* add subprocess check to test calls

* remove test output from git

* run ci weeknights and on PR review request

* bump ditto-reader to v0.6.0 and black/pre-commit versions

* use opendssdirect.py v0.8

* make cli error message an f-string like it is supposed to be

* slightly better way of confirming rnm workflow ran correctly

* update ruff to 0.1.0

* use correct min Python version in readme

* update linting dependencies in pre-commit

* update checkout action version in CI, and add detail to step names

* use traitlets <5.10 due to breaking change found in ditto.py

* declare support for Python3.12

* rounding outputs to 5 decimal places

* run CI on push instead of schedule

* `black` formatting

* autoupdate pre-commit hook versions

* un-ignore opendss files

* regenerate example opendss files by running the test suite

* use 2 hour timestep in test

* regen opendss files at 2 hour timestep

---------

Co-authored-by: tarekelgindy <tarek.elgindy@nrel.gov>

---------

Co-authored-by: tarekelgindy <tarek.elgindy@nrel.gov>

---------

Co-authored-by: tarekelgindy <tarek.elgindy@nrel.gov>

* remove outdated opendssdirect.py installation recommendation

* Cleaner dependencies (#51)

* traitlets issue fixed in ditto.py

* use ruff formatter instead of black

* ignore a rule when using ruff formatter

* apply ruff formatter

* bump ruff, remove black, reinstate traitlets restriction until ditto releases

* depend on ditto@master instead of released version - TEMPORARY

* use ditto.py fork containing bugfix

* use released version of ditto.py, hooray!

* New workflow to publish to pypi when we release on github (#52)

* WIP: new workflow to publish to pypi when we release on github [skip ci]

* update readme with new release instructions

* explicitly classify readme.md as markdown in pyproject.toml for pypi. grrr (#54)

* Changelog configs (#56)

* rename release.yml to pypi_release.yml. update pypi and github to match

* new config for github automatic changelog notes

* update changelog

* oops, include ditto.py upgrade in changelog

* bump to version 0.6.1

* set default config to not use reopt (#58)

* bump version in pyproject.toml to 0.6.2

* Feature voltage bugfix (#61)

* fix name of geojson file in example_config.json

* handle voltage uuid appropriately when writing output file

* bump pyproject.toml to v0.6.3

* Improve error handling for REopt (#63)

* update pre-commit hook versions

* bump minimum ruff version

* error handling if reopt is specified before being run

* update ruff settings in pyproject.toml

* replace `%` formatting with f-strings per ruffs recommendation

* different way of printing error message and quitting

* test for error message if no reopt data

* require opendssdirect.py ~= 0.8.0

* bump GHA versions

* Prep 0.6.4 (#64)

* bump to version 0.6.4

* update changelog from github automated output

---------

Co-authored-by: tarekelgindy <tarek.elgindy@nrel.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants