Wind Resource Model: HRRR MET Toolkit - #837
Conversation
kbrunik
left a comment
There was a problem hiding this comment.
Yay! Thanks for this! One small question about the docs but otherwise this looks great, no notes :)
| - **resource heights** from 10 to 500 meters. | ||
| - **time interval** of 60 minutes. | ||
|
|
||
| ### Available Data |
There was a problem hiding this comment.
Do we want to just refer people to the developer website instead of tracking what's available via each API? It seems like something that could go out of date pretty easily without us being able to catch it
There was a problem hiding this comment.
I think it's nice to have them side-by-side. I guess that I like it in our doc page for now - and I'm not too concerned about stuff going out of date (data hasn't changed in a long time, biggest change to the developer network recently was the url changes). The links to the developer website are included in this doc page! Idk - I guess maybe we remove it in the future if we want? But I like it here for now?
Wind Resource Model: HRRR MET Toolkit
Added wind resource model that uses the NLR Developer API call to the HRRR MET Toolkit. This wind resource dataset has resource years from 2015-2025 and covers the continental US. Adding in this model prompted some updates to the existing wind toolkit model. It may look like theres more changes than there actually is! Here's what I did:
h2integrate/resource/wind/nlr_developer_wtk_api.pyand named the copied versionh2integrate/resource/wind/nlr_developer_wtk_api_models.py. This new file is intended to host the wind resource models that pull from the NLR Developer API.h2integrate/resource/wind/nlr_developer_wtk_api.pytoh2integrate/resource/wind/nlr_developer_wtk_api_base.py. This file is going to host the baseclass for the models innlr_developer_wtk_api_models.pyWTKNLRDeveloperAPIWindResourcetoNLRDeveloperAPIWindResourceBaseWTKNLRDeveloperAPIConfig(because a copy of it is innlr_developer_wtk_api_models.py)super().setup()to be called at the top of the setup method. Only minor changes were made to the methods within this classnlr_developer_wtk_api_models.py:WTKNLRDeveloperAPIWindResourceto inherit theNLRDeveloperAPIWindResourceBaseAll of this is to say that, despite what the file comparison may show you,
WTKNLRDeveloperAPIConfigdid not change (only changed files). Only small changes were done to convert what was previouslyWTKNLRDeveloperAPIWindResourceintoNLRDeveloperAPIWindResourceBase(which is visible in the file diff forh2integrate/resource/wind/nlr_developer_wtk_api_base.py)Section 1: Type of Contribution
Section 2: Draft PR Checklist
TODO:
Type of Reviewer Feedback Requested (on Draft PR)
Structural feedback:
Implementation feedback:
Other feedback:
Section 3: General PR Checklist
docs/files are up-to-date, or added when necessaryCHANGELOG.md"A complete thought. [PR XYZ]((https://github.com/NatLabRockies/H2Integrate/pull/XYZ)", where
XYZshould be replaced with the actual number.Section 4: Related Issues
Section 5: Impacted Areas of the Software
Section 5.1: New Files
resource_files/wind/39.22629_-82.938_2011_wtk_v2_60min_utc_tz.csv: new resource fileh2integrate/resource/wind/test/test_wind_model_integration.py: new test file for very simple testing that ensures that wind resource models are compatible with wind performance models.Section 5.2: Modified Files
This is mostly covered in Section 1
Other changes were:
Section 6: Additional Supporting Information
Section 7: Test Results, if applicable
h2integrate/resource/wind/test/test_nlr_developer_wtk_api.py::test_wind_resource_loaded_from_default_dir- I added another case to test the new wind resource model which required some minor changes to the general check-logic. This mainly has to with the "minute" thats used in the resource models (WTKNLRDeveloperAPIWindResourcehas minutes of 30, butHRRRMETToolkitWindAPIhas minutes of 0).Section 8 (Optional): New Model Checklist
docs/developer_guide/coding_guidelines.mdattrsclass to define theConfigto load in attributes for the modelBaseConfigorCostModelBaseConfiginitialize()method,setup()method,compute()methodCostModelBaseClass__init__.pyfile to ensure it is properly imported and used insupported_models.pysupported_models.pycreate_financial_modelinh2integrate_model.pytest_all_examples.pydocs/user_guide/model_overview.mddocs/section<model_name>.mdis added to the_toc.ymlgenerate_class_hierarchy.pyto update the class hierarchy diagram indocs/developer_guide/class_structure.md