NREL / OpenOA

This library provides a framework for assessing wind plant performance using operational assessment (OA) methodologies that consume time series data from wind plants. The goal of the project is to provide an open source implementation of common data structures, analysis methods, and utility functions relevant to wind plant OA.
https://openoa.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
193 stars 63 forks source link

Final Cleanup for v3 #255

Closed RHammond2 closed 1 year ago

RHammond2 commented 1 year ago

This is the final cleanup for take care of the last remaining threads in the issues.

Closes #125

Closes #229

Closes #214

codecov-commenter commented 1 year ago

Codecov Report

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

Comparison is base (c721ef5) 65.76% compared to head (f91d942) 65.48%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop_v3 #255 +/- ## ============================================== - Coverage 65.76% 65.48% -0.28% ============================================== Files 29 29 Lines 4265 4358 +93 ============================================== + Hits 2805 2854 +49 - Misses 1460 1504 +44 ``` | [Files](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL) | Coverage Δ | | |---|---|---| | [openoa/analysis/eya\_gap\_analysis.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL2FuYWx5c2lzL2V5YV9nYXBfYW5hbHlzaXMucHk=) | `95.16% <100.00%> (ø)` | | | [openoa/plant.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3BsYW50LnB5) | `75.61% <100.00%> (+0.22%)` | :arrow_up: | | [openoa/schema/\_\_init\_\_.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3NjaGVtYS9fX2luaXRfXy5weQ==) | `100.00% <ø> (ø)` | | | [openoa/utils/\_converters.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3V0aWxzL19jb252ZXJ0ZXJzLnB5) | `93.91% <ø> (ø)` | | | [openoa/utils/filters.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3V0aWxzL2ZpbHRlcnMucHk=) | `94.79% <ø> (-0.06%)` | :arrow_down: | | [openoa/utils/imputing.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3V0aWxzL2ltcHV0aW5nLnB5) | `90.41% <ø> (ø)` | | | [openoa/utils/machine\_learning\_setup.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3V0aWxzL21hY2hpbmVfbGVhcm5pbmdfc2V0dXAucHk=) | `79.24% <ø> (ø)` | | | [openoa/utils/met\_data\_processing.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3V0aWxzL21ldF9kYXRhX3Byb2Nlc3NpbmcucHk=) | `86.51% <ø> (ø)` | | | [openoa/utils/qa.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3V0aWxzL3FhLnB5) | `11.65% <ø> (ø)` | | | [openoa/utils/timeseries.py](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL#diff-b3Blbm9hL3V0aWxzL3RpbWVzZXJpZXMucHk=) | `86.95% <ø> (ø)` | | | ... and [9 more](https://app.codecov.io/gh/NREL/OpenOA/pull/255?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NREL) | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

RHammond2 commented 1 year ago

@jordanperr for #229 I think for me the ask is still a bit vague and not remotely possible if an analysis class requires a PlantData object for initialization, so if you could provide more details on the what then we might be able to get something in there, but as-is I would close it and request a new issue with more specifics. Similarly, the schema are provide through openoa.schema.metadata.ANALYSIS_REQUIREMENTS, so a user could just import that and use it as needed.

However, if we're thinking of enabling bringing a custom validation set, then that's maybe a separate idea, though, and would enable additional workflows like a user-defined analysis class/method, which is pretty useful for more customized analysis workflows.