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

Updates to handle breaking changes from REopt v3.11 #157

Merged
merged 9 commits into from
Jan 27, 2025
Merged

Conversation

vtnate
Copy link
Collaborator

@vtnate vtnate commented Jan 24, 2025

Resolves #[issue number here]

Pull Request Description

REopt api v3.11 introduced a new requirement, which broke our tests. This fixes that so we are compatible with the new version of v3.

Checklist (Delete lines that don't apply)

  • Unit tests have been added or updated
  • Documentation has been modified appropriately
  • All ci tests pass (green)
  • An issue has been created (which will be used for the changelog)
  • This branch is up-to-date with develop

@vtnate vtnate added the bug Something isn't working label Jan 24, 2025
@vtnate vtnate self-assigned this Jan 24, 2025
@vtnate vtnate marked this pull request as ready for review January 27, 2025 18:17
@coveralls
Copy link

Pull Request Test Coverage Report for Build 12995552884

Details

  • 12 of 15 (80.0%) changed or added relevant lines in 4 files are covered.
  • 5 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.4%) to 75.994%

Changes Missing Coverage Covered Lines Changed/Added Lines %
lib/urbanopt/reopt/feature_report_adapter.rb 2 3 66.67%
lib/urbanopt/reopt/reopt_ghp_post_processor.rb 5 6 83.33%
lib/urbanopt/reopt/scenario_report_adapter.rb 4 5 80.0%
Files with Coverage Reduction New Missed Lines %
lib/urbanopt/reopt/reopt_ghp_post_processor.rb 1 89.29%
lib/urbanopt/reopt/feature_report_adapter.rb 4 72.12%
Totals Coverage Status
Change from base Build 12756536240: -0.4%
Covered Lines: 994
Relevant Lines: 1308

💛 - Coveralls

@vtnate vtnate merged commit c81d59b into os39 Jan 27, 2025
1 check passed
@vtnate vtnate deleted the api-3.11-patch branch January 27, 2025 18:47
vtnate added a commit that referenced this pull request Jan 27, 2025
* Use Reopt v3, bump to v0.12.0 (#149)

* bump to call reopt v3 in URI

* update one tests dummy_data to conform to v3 specification

* bump to version 0.12.0 for using reopt-api v3

* WIP: flatten assumptions file and change us_dollars items for v3

* specify reopt version in assumptions file name

* upgrade LoadProfile to ElectricLoad for v3

* updates to basic assumptions to conform to v3 specifications

* rename 4tsperhour to 4tsperhour_v3

* update 4tsperhour to v3 specs

* update another dummy_data for v3 specs

* point to version-specified assumptions file

* WIP: flatten schema, update some keys, start changing types, move min/max

* WIP: more test assumptions file updates

* WIP: update docs with some of the v3 changes. More still needed

* WIP: a few initial changes to output schema. much still to do

* WIP: update adapter code for v3 keys

* create Meta top-level object in schema

* clean up min/max, specify fraction in description, etc

* add new optimality_tolerance key to schema

* bump outdated versions in index.md

* WIP: remove _us_dollars from lcc key in output

* flatten schema to conform to reopt-api v3

* use standard schema types

* remove `us_dollars` from outputs and update Profile & LoadProfile

* remove `us_dollars` from keys for v3

* change `Storage` to `ElectricStorage`

* WIP: schema and code changes for `year_one` for v3

* update `net_` prefix in schema

* maybe last schema changes?

* move roof_squarefeet into Site in test file

* a few more schema fixes

* update adapters to read the flatter in/output from reopt

* reopt-lite-api code to read/write the flatter files

* post-processor to read flatter outputs

* docs to show flatter input example

* different json path to description in reopt input

* move a couple schema items from ElectricTariff to ElectricUtility

* read flatter json output in test

* remove coincident_peak_load_charge from assumptions files

* rename meta block of input schema properly

* fix typo and clean up base reopt post

* no longer need to declare wind==0Kw to deactivate it in v3

* no longer need wind = 0kW to deactivate it

* wip fixing REopt optimization calls

* default run_resilience to `false`

* attempt to send utility & rate to reopt

* this reopt input file works

* wait longer in reopt_api call

* update 4tsperhour reopt input file

* update assumptions file paths

* feature_report_adapter a bit more like scenario_report_adapter

* clarify test phrasing

* clarify default reopt assumptions in adapters

* standardize and universalize more paths in spec file

* remove unused commented code from spec file

* more path improvement in spec file

* update one more path

* use urdb label for rate source

* add resilience run & assertion to `process scenario report` test

* increase sleep time and gather reopt output a little better

* restore log to debug level after confirming correct output

* comment resilience run & assertion temporarily

* add section headers to tests

* start of updating reopt output keys

* point to modified scenario-gem which has updated reporting-gem content

* update more keys for reopt-v3

* more key and existence changes to scenario adapter

* point to dependent branches in scenario and reporting gems

* update feature adapter with v3 keys

* update input/output keys

* clean up Nates outdated code

* similar fixes to handling reopt outputs as feature-adapter

* change puts to logging, and clarify statements

* copy default/blank assumptions to scenario-adapter

* remove temporary file production used for debugging/testing

* remove unnecessary puts statement

* more keys updated for reopt v3

* organize assumptions file sections a bit

* more if-statements for handling lack of PV

* update docs for required reopt inputs

* new assumptions file that includes wind

* add option to choose assumptions file with wind when running a test

* add another `if` for storage

* add wind to test assumptions files

* change lat/long in test feature reports

* make monthly energy rates in test file a little more expensive

* point to assumptions file with wind for tests

* remove outdated assumptions file

* point to released scenario-gem v0.12.0

* enable manually running CI (once merged to develop)

* update changelog for v0.12.0

---------

Co-authored-by: kflemin <[email protected]>

* update reopt ghp lcca outputs in schema

* bump to v0.13.0

* clarify ruby version, remove duplicate dependencies

* use branches of UO gems

* use OS3.8 in CI

* use extension-gem branch temporarily

* ensure we install bundle according to gemspec & gemfile in CI

* non-substantive typos

* remove requirement for certified because of Ruby 3

* remove references to certified, and make error messages visible

* remove test file that doesn't do anything and isn't used

* add input processing

* use newly released patch version 0.8.1 of extension-gem

* add reopt api call and tests

* update test files and code

* make folder  reopt input only when not exist, add heat pump size

* update electrical power value

* update reopt api polling

* add test

* update tests

* uodate tests

* remove puts statement

* update input reopt file

* update reopt assumption file

* update whitespace

* update modelica result

* update inputs

* expose error messages for certificate verify failed (#151)

* expose error messages for certificate verify failed

* fix comment typos

* remove duplicate error message

* run CI on push instead of on review_requested

---------

Co-authored-by: Nathan Moore <[email protected]>

* uncomment test

* add feature reports

* update test

* update schema

* update gitignore

* expose error messages for certificate verify failed (#151)

* expose error messages for certificate verify failed

* fix comment typos

* remove duplicate error message

* run CI on push instead of on review_requested

---------

Co-authored-by: Nathan Moore <[email protected]>

* fix typos and linting

* clean up a few more paths

* use run_dir from class instatiation instead of manually

* more path cleanup

* remove reopt_ghp transient test dir from git

* remove extra trailing newline from gitignore

* fix path to test dir in gitignore

* delete one more test outuput file during the test

* fix path to reopt_ghp during test prep

* WIP: fix a few magic numbers

* probably last path cleanup in spec file

* fix path for test file deletion

* update ghp adapter, add hour variable, update tests

* add formatting correction.

* update reopt ghp lcca outputs in schema

* add input processing

* add reopt api call and tests

* update test files and code

* make folder  reopt input only when not exist, add heat pump size

* update electrical power value

* update reopt api polling

* add test

* update tests

* uodate tests

* remove puts statement

* update input reopt file

* update reopt assumption file

* update whitespace

* update modelica result

* update inputs

* uncomment test

* add feature reports

* update test

* update schema

* update gitignore

* expose error messages for certificate verify failed (#151)

* expose error messages for certificate verify failed

* fix comment typos

* remove duplicate error message

* run CI on push instead of on review_requested

---------

Co-authored-by: Nathan Moore <[email protected]>

* fix typos and linting

* clean up a few more paths

* use run_dir from class instatiation instead of manually

* more path cleanup

* remove reopt_ghp transient test dir from git

* remove extra trailing newline from gitignore

* fix path to test dir in gitignore

* delete one more test outuput file during the test

* fix path to reopt_ghp during test prep

* WIP: fix a few magic numbers

* probably last path cleanup in spec file

* fix path for test file deletion

* update ghp adapter, add hour variable, update tests

* add formatting correction.

* use os39 branches for testing

* use os39 rc3 image in CI

* remove certified requirement, not necessary in Ruby 3

* don't track test output files in git

* use correct syntax for reopt_ghp in gitignore

* use real OS3.9 in CI

* use extension-gem branch

* update dependencies

* Updates to handle breaking changes from REopt v3.11 (#157)

* use released versions of gems

* bump to v1.0.0

* add year to district input for ElectricLoad

* add year to ElectricLoad for GHP assumptions

* add year to ElectricLoad test assumption files

* use `v3` in ghp test api url instead of `stable`

* rubocop formatting

* remove unused variable

* less action & more assertion in 15-minute-interval test

* update changelog

* update copyright

---------

Co-authored-by: Nathan Moore <[email protected]>
Co-authored-by: Tanushree <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants