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 standoff calculation and documentation #64

Merged
merged 20 commits into from
Feb 9, 2024
Merged

Conversation

martin-springer
Copy link
Collaborator

  • refactor of the standoff calculation
  • refactor to wind_speed height instead of wind_speed factor
  • updates to standoff calculation notebooks
  • updates to documentation

martin-springer and others added 20 commits January 30, 2024 13:32
update to include pyprojec.toml refactor
update actions/setup-python@v5
* Reworking of the standoff calculations

overall major reworking of the standoff calculations. Too many things to list.

* standard updates

* Update weather.py

Just added in a print statement to indicate the humidity was finished calculating.

* updates to the standoff calculation

Just a bunch of updates to make it into the tool I want.

* Update xeff_demo.csv

I updated it to have a theoretical measured set of module data.

* Update standards.py

Just small formating issues here.

* Create xeff_demo.xlsx

* Adding calculations to the file

Major revision underway. I have most of the program working but the last few sections are still needing a bit of work.

* Update 4 - Standards.py

Lots of reworking on the code to get it to have more methods for calculations. there is still a lot to be done.

* Update weather.py

Put in defaults in get_NSRDB

* Update standards.py

just working on it

* Update weather.py

Put in code to start a get_satellite function

* Update weather.py

typos fixed

* Update weather.py

fixed now.

* Update weather.py

Hopefully now it is patched correctly.

* Update weather.py

now it could work.

* Update weather.py

* Update weather.py

fixed import nsrdbx as f

* Update weather.py

updated

* Update 4 - Standards.ipynb

update

* standards

* Update xeff_demo.csv

Updated the demo module data to be calculated from the cell temperature instead of the module surface temperature.

* Update xeff_demo.xlsx

* Update xeff_demo.csv

Updated the manufactured module data.

* Update xeff_demo.xlsx

Incldues the modeled POA data from Python and an updated module temperature calculation.

* Update utilities.py

I changed it to instead of just having 180 degrees south be the default azimuth, it will point north or 0 degrees by default in the southern hemisphere.

* Massive changes and a stopping point

It's a complete overhaul. I'm going to merge it now, but I would like it put in the main as is and to have it's name changed to "Standoff.ipynb"

* Update spectral.py

Making the default azimuth be equatorial facing instead of always south. No northern-centric bias here. ;)

* Update temperature.py

I fixed the cell temperature calculation to default to a wind speed factor of 1.7 instead of 1 and to allow that to be passed in. My guess is that this change will cause problems elsewhere.

* Update standards.py

Massive changes here but for the most part it is all about the standoff calculation which is working. One change to be aware of is that the prior calculations were using the module surface temperature for the standoff calculation but now it is using the cell temperature calculation.

* improvement on temperature windspeedfactor fix

* dding pytest coverage instructions

* Wind height added

Added in a field for wind height data to the demonstration weather data.

* Update weather.py

Added in some if/then statements to put in a field for the wind speed measurement height. For the NSRDB it is set for 2m, for PVGIS it is set for 10m.

* Update weather.py

Made it so it would delete the message indicating that Rh was being calculated once it is completed.

* Update standards.py

Created a print statement method to output the results of the standoff calculation.

* Update temperature.py

Changed it to do a wind speed factor calculation based on the wind height in the meta data and the supplied power factor using appropriate defaults.

* Update temperature.py

Got it to correctly use the wind speed exponent.

* Update standards.py

Got it to correctly use the wind speed exponent.

* Update 4 - Standards.ipynb

Got it to correctly use the wind speed exponent.

* Update temperature.py

Fixing wind speed stuff

* Update 4 - Standards.ipynb

Fixing wind speed stuff

* Update fatigue.py

Modified the fatigue calculator to work with the new wind speed exponent method.

* Update test_fatigue.py

Fixed this procedure to call the module temperature function correctly.

* Update humidity.py

It now uses the desired power factor for wind speed height adjustment.

* Update h5_pytest.h5

It now uses the desired power factor for wind speed height adjustment.

* Update meta.json

It now has a field for the wind speed height.

* Update test_humidity.py

It now uses the desired power factor for wind speed height adjustment.

* Update test_standards.py

It now uses the desired power factor for wind speed height adjustment.

* Update test_temperature.py

It now uses the desired power factor for wind speed height adjustment.

* Update standards.py

It now uses the desired power factor for wind speed height adjustment.

I found an error in the standoff calculation. It was previously using the module surface temperature and it should be using the module cell temperature. It makes the required standoff calculations a bit higher.

* Update standards.py

Fixed some documentation for wind speed dependence and made it so the T98 calculation will default to equatorial facing, open rack and latitude tilt.

* Update weather.py

fixed the improper importing NSRDBX as f and did some documentation work.

* Update standards.py

Fixed the functions with capitals issue.

* Update 4 - Standards.ipynb

Fixed the functions with capitals issue.

* deploy to pypi on tag release (#55)

* add pypi workflow

* Update standards.py

I fixed an error check for the case of now wind height specification in the meta data of a dataset by removing it. that error check is managed in temperature.py.

* Update 4 - Standards.ipynb

Just some documentation changes.

* Update temperature.py

just some documentation changes

* run pre-commit hooks

* revert changes in h5_pytest.h5

* update docs conf from main

* Revert "Kempe standoff" (#57)

* run updated pre-commit hooks

* add pre-commit to dependencies

---------

Co-authored-by: MDKempe <58960264+MDKempe@users.noreply.github.com>
Co-authored-by: Silvana Ovaitt <silvana.ayala@nrel.gov>
Co-authored-by: Kempe <mkempe@nrel.gov>
Co-authored-by: Silvana Ovaitt <Silvana.Ovaitt@nrel.gov>
* Reworking of the standoff calculations

* standard updates

* Update weather.py

* Update xeff_demo.csv

* Create xeff_demo.xlsx

* Put in defaults in get_NSRDB

* typos fixed

* Changed standoff calculation to instead of just having 180 degrees south be the default azimuth, it will point north or 0 degrees by default in the southern hemisphere.

* Update spectral.py

* Massive changes here but for the most part it is all about the standoff calculation which is working. One change to be aware of is that the prior calculations were using the module surface temperature for the standoff calculation but now it is using the cell temperature calculation.

* improvement on temperature windspeedfactor fix

* adding pytest coverage instructions

* Wind height added

* Added in a field for wind height data to the demonstration weather data.

* Added in some if/then statements to put in a field for the wind speed measurement height. For the NSRDB it is set for 2m, for PVGIS it is set for 10m.

* Made it so it would delete the message indicating that Rh was being calculated once it is completed.

* Changed it to do a wind speed factor calculation based on the wind height in the meta data and the supplied power factor using appropriate defaults.

* Modified the fatigue calculator to work with the new wind speed exponent method.

* Update meta.json

* Update test_humidity.py

* Update test_standards.py

* Update test_temperature.py

* Update standards.py

* I found an error in the standoff calculation. It was previously using the module surface temperature and it should be using the module cell temperature. It makes the required standoff calculations a bit higher.

* Update standards.py

* Fixed some documentation for wind speed dependence and made it so the T98 calculation will default to equatorial facing, open rack and latitude tilt.

* Some documentation changes.

* Update temperature.py

* run pre-commit hooks

* adapt wind_height variable name to NSRDB

* keep wind_height in meta

* refactor eff_gap_parameters()

* fix typo in temperature models

* workflow update Node.js 16 to 20

---------

Co-authored-by: MDKempe <58960264+MDKempe@users.noreply.github.com>
Co-authored-by: Silvana Ovaitt <silvana.ayala@nrel.gov>
Co-authored-by: Kempe <mkempe@nrel.gov>
Co-authored-by: Silvana Ovaitt <Silvana.Ovaitt@nrel.gov>
Co-authored-by: Kevin Anderson <kevin.anderso@gmail.com>
* New Sphinx Environment

* User Guide - Package Overview

* Modules API

* API reference

* Monte Carlo User Guide

* include external link aliases

---------

Co-authored-by: tobin-ford <Tobin.Ford@nrel.gov>
Co-authored-by: martin-springer <martinspringer.ms@gmail.com>
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ No coverage uploaded for pull request base (main@51c087e). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #64   +/-   ##
=======================================
  Coverage        ?   44.22%           
=======================================
  Files           ?       26           
  Lines           ?     1662           
  Branches        ?        0           
=======================================
  Hits            ?      735           
  Misses          ?      927           
  Partials        ?        0           

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

@martin-springer martin-springer merged commit 8154831 into main Feb 9, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants