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

Bug Fix: Keep logged events within the timing bounds #120

Merged
merged 2 commits into from
Oct 13, 2023

Conversation

RHammond2
Copy link
Contributor

This PR resolves an edge case where a crew transfer gets initiated for midnight after the end of the last day of the simulation by checking the timestamp in the environment's logging method and ignoring any log occurring after that.

@RHammond2 RHammond2 added the bug Something isn't working label Oct 13, 2023
@codecov
Copy link

codecov bot commented Oct 13, 2023

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (3a429ff) 55.93% compared to head (5bb8157) 55.73%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #120      +/-   ##
===========================================
- Coverage    55.93%   55.73%   -0.20%     
===========================================
  Files           21       21              
  Lines         3570     3563       -7     
  Branches       739      738       -1     
===========================================
- Hits          1997     1986      -11     
- Misses        1452     1456       +4     
  Partials       121      121              
Files Coverage Δ
wombat/core/environment.py 76.86% <66.66%> (-0.29%) ⬇️

... and 4 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@RHammond2 RHammond2 merged commit fe65800 into develop Oct 13, 2023
5 of 6 checks passed
@RHammond2 RHammond2 deleted the bug_fix/sim_timing branch October 13, 2023 00:17
RHammond2 added a commit that referenced this pull request Oct 27, 2023
* Update Test PyPI action settings (#108)

* Bug Fix: Process recreation and equipment cost breakdowns (#109)

* update equipment labor breakdown to include equipment and duration

* add missing process recreation for in situ replacements

* update docstring

* update changelog

* fix bad reference (#110)

* Bug Fix: Ensure system downtime starts appropriately (#111)

* only reset subassemblies that are worked on directly

* allow invalid to happen before servicing and properly control

* update the operating level logging in in_situ_repairs

* ensure repairs actually go into the next shift if incomplete from weather delays

* ensure travel can't occur when it goes past one shift and into another

* fix repair manager checks for updated logic

* ignore third party's deprecation warnings

* fix the unscheduled timing for better logic control

* ensure a delayed start to the repair still counts as the initial processing

* slight timing update for handling of 24 hour shifts

* ensure 24 hour shifts don't travel back when new window needed

* remove print

* put system invalidation back in place

* update changelog

* ensure requests can't collide

* move wait period to the request getter

* fix combined yield and return

* fix tests

* add invalidation to timing collision avoidance

* make system invalidation more flexible

* move random wait to environment

* remove timeout from service equipment

* ensure port repairs always trigger before the next at site repair

* ensure ttp are not dispatched multiple times for the same turbine

* fix hlv dispatch timing

* add list of systems waiting for ttp to reduce chances of overlapping dispatches

* update changelog

* Deprecate old library (#114)

* remove old library warnings and fully deprecate the usage

* update the changelog

* update the how to guide for the library changes

* Deprecate PySAM Usage (#117)

* remove pysam

* remove pysam references from the docs

* Bug fix: Task completion rate clarity (#118)

* add potential fix for low task completion due to replacements

* log which request type is canceled in 'action'

* update metric for change in canceled phrasing

* fix cable getter to allow for multiple cable naming conventions

* update changelog

* Bug Fix: Keep logged events within the timing bounds (#120)

* ensure events attempting to be logged after the end of simulation are cancelled

* update changelog

* add NAWEA 2023 documentation

* add working COREWIND D4.2 data

* Feature: Add basic plotting routines (#121)

* add basic plotting functionality

* allow for time or enery avail and fix memory carryover bug

* update changelog

* add windfarm operations calculation at the front end and fix windfarm productino bug

* update changelog

* update changelog

* add example and update workshop guidance

* fix end of file lines

* update data for labor costs and update workshop listings

* Deprecate `Configuration.library_path` (#122)

* depreacte configuration library requirement

* update documentation

* update workshop guide

* add ORBIT port costs

* update the presentation and notebook

* OpEx Breakdown Function  (#119)

* Update post_processor.py

OpEx breakdown function

* eliminate extra year

* delete nan years line

* make existing opex() method make the breakdown

* Opex breakdown in Metrics.opex()

* add CHANGELOG

---------

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

* remove presentation from gh

* Enhancement: Switch to `pyproject.toml` for all configurations (#123)

* update wombat urls

* remove old config and update python version

* rerun pre-commit hooks

* fully upgrade to pyproject.toml

* update pyprpoject to install actual package and data

* Update documentation ahead of v0.9 release (#124)

* udpate documentation examples

* update outdated explanation

* update outputs

* fix bad hyperlink

* udpate changelog

* split up the api documentation and utilities

* add plotting methods

* fix typos and enable utilities docs'

* fix redundant docs

* remove extra params'

* udpate changelog

* fix example bugs

* update example results

* minor fixes

* update examples listing

* ignore examples in auto running

* update user guide and opex with breakdown

* update the example notebooks

* fix bad vessel naming convention

* fix issues with config compatibility

* rerun validation notebooks and update timing

* remove results from repository to save space

* update licensing per NREL-Apache guidance

* update the license notice on the docs

* update copyright date in docs

* update examples notebook pages

* rerun examples to get output to show

* remove links to the presentation until approved

---------

Co-authored-by: Daniel Mulas Hernando <[email protected]>
Co-authored-by: dmulash <[email protected]>
github-actions bot pushed a commit that referenced this pull request Oct 27, 2023
* Update Test PyPI action settings (#108)

* Bug Fix: Process recreation and equipment cost breakdowns (#109)

* update equipment labor breakdown to include equipment and duration

* add missing process recreation for in situ replacements

* update docstring

* update changelog

* fix bad reference (#110)

* Bug Fix: Ensure system downtime starts appropriately (#111)

* only reset subassemblies that are worked on directly

* allow invalid to happen before servicing and properly control

* update the operating level logging in in_situ_repairs

* ensure repairs actually go into the next shift if incomplete from weather delays

* ensure travel can't occur when it goes past one shift and into another

* fix repair manager checks for updated logic

* ignore third party's deprecation warnings

* fix the unscheduled timing for better logic control

* ensure a delayed start to the repair still counts as the initial processing

* slight timing update for handling of 24 hour shifts

* ensure 24 hour shifts don't travel back when new window needed

* remove print

* put system invalidation back in place

* update changelog

* ensure requests can't collide

* move wait period to the request getter

* fix combined yield and return

* fix tests

* add invalidation to timing collision avoidance

* make system invalidation more flexible

* move random wait to environment

* remove timeout from service equipment

* ensure port repairs always trigger before the next at site repair

* ensure ttp are not dispatched multiple times for the same turbine

* fix hlv dispatch timing

* add list of systems waiting for ttp to reduce chances of overlapping dispatches

* update changelog

* Deprecate old library (#114)

* remove old library warnings and fully deprecate the usage

* update the changelog

* update the how to guide for the library changes

* Deprecate PySAM Usage (#117)

* remove pysam

* remove pysam references from the docs

* Bug fix: Task completion rate clarity (#118)

* add potential fix for low task completion due to replacements

* log which request type is canceled in 'action'

* update metric for change in canceled phrasing

* fix cable getter to allow for multiple cable naming conventions

* update changelog

* Bug Fix: Keep logged events within the timing bounds (#120)

* ensure events attempting to be logged after the end of simulation are cancelled

* update changelog

* add NAWEA 2023 documentation

* add working COREWIND D4.2 data

* Feature: Add basic plotting routines (#121)

* add basic plotting functionality

* allow for time or enery avail and fix memory carryover bug

* update changelog

* add windfarm operations calculation at the front end and fix windfarm productino bug

* update changelog

* update changelog

* add example and update workshop guidance

* fix end of file lines

* update data for labor costs and update workshop listings

* Deprecate `Configuration.library_path` (#122)

* depreacte configuration library requirement

* update documentation

* update workshop guide

* add ORBIT port costs

* update the presentation and notebook

* OpEx Breakdown Function  (#119)

* Update post_processor.py

OpEx breakdown function

* eliminate extra year

* delete nan years line

* make existing opex() method make the breakdown

* Opex breakdown in Metrics.opex()

* add CHANGELOG

---------

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

* remove presentation from gh

* Enhancement: Switch to `pyproject.toml` for all configurations (#123)

* update wombat urls

* remove old config and update python version

* rerun pre-commit hooks

* fully upgrade to pyproject.toml

* update pyprpoject to install actual package and data

* Update documentation ahead of v0.9 release (#124)

* udpate documentation examples

* update outdated explanation

* update outputs

* fix bad hyperlink

* udpate changelog

* split up the api documentation and utilities

* add plotting methods

* fix typos and enable utilities docs'

* fix redundant docs

* remove extra params'

* udpate changelog

* fix example bugs

* update example results

* minor fixes

* update examples listing

* ignore examples in auto running

* update user guide and opex with breakdown

* update the example notebooks

* fix bad vessel naming convention

* fix issues with config compatibility

* rerun validation notebooks and update timing

* remove results from repository to save space

* update licensing per NREL-Apache guidance

* update the license notice on the docs

* update copyright date in docs

* update examples notebook pages

* rerun examples to get output to show

* remove links to the presentation until approved

---------

Co-authored-by: Daniel Mulas Hernando <[email protected]>
Co-authored-by: dmulash <[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.

1 participant