10000 Add GTI DIRINT model by wholmgren · Pull Request #400 · pvlib/pvlib-python · GitHub
[go: up one dir, main page]

Skip to content

Add GTI DIRINT model #400

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

Merged
merged 46 commits into from
Aug 27, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
8a1c3aa
implement gtidirint without iteration
wholmgren Aug 31, 2017
dc4b133
add option to skip aoi > 90
wholmgren Aug 31, 2017
555cd6b
make gti dirint gte 90 function private
wholmgren Aug 31, 2017
fbda8e2
add some gti_dirint tests
wholmgren Aug 31, 2017
bc331f4
implement vectorized iterative solution. fix gt 90 error
wholmgren Sep 7, 2017
003eccb
use azimuth in gt 90 function
wholmgren Sep 7, 2017
880a999
fix some issues near 90 deg
wholmgren Sep 8, 2017
6f881f4
remove unnecessary comment
wholmgren Sep 8, 2017
ac74260
add kt option to disc, dirint to fix gte 90 dni issue
wholmgren Sep 8, 2017
e8b40ea
update whatsnew, add to api.rst
wholmgren Sep 8, 2017
b1a6d48
move to 0.5.2 whatsnew
wholmgren Nov 30, 2017
721f89f
add gti_dirint tutorial
wholmgren Nov 30, 2017
8cd9a74
Merge branch 'master' into gtidirint
wholmgren Jun 16, 2018
abc671c
move changes to 0.6.0 whatsnew
wholmgren Jun 16, 2018
89c60a4
update parameters
wholmgren Jun 16, 2018
376f3f7
fix 0.5.2 whatsnew
wholmgren Jun 16, 2018
5920620
rework max_iterations logic
wholmgren Jun 16, 2018
d856205
flake8
wholmgren Jun 16, 2018
2d99474
update tutorial
wholmgren Jun 16, 2018
0a0feab
api change in whatsnew
wholmgren Jun 16, 2018
ae60316
Merge branch 'master' into gtidirint
wholmgren Aug 14, 2018
870196a
clean up whatsnew
wholmgren Aug 15, 2018
2112825
update to new api. fix parameters
wholmgren Aug 15, 2018
eba99ae
update notebook [skip ci]
wholmgren Aug 15, 2018
a4d2682
refactor
wholmgren Aug 15, 2018
18222d1
more refactoring
wholmgren Aug 15, 2018
4ac71a4
refactor disc and dirint
wholmgren Aug 17, 2018
54521b9
clean up
wholmgren Aug 17, 2018
14915b7
update tutorial
wholmgren Aug 17, 2018
519390a
add stubs. use zeros. more clean up
wholmgren Aug 17, 2018
15ecbf3
review comments
wholmgren Aug 18, 2018
be384b7
Merge remote-tracking branch 'pvlib/master' into gtidirint
wholmgren Aug 19, 2018
c8a470f
rerun on master
wholmgren Aug 19, 2018
6a612dd
some broken tests
wholmgren Aug 21, 2018
cac57cb
update parameters, whatsnew. [skip ci]
wholmgren Aug 21, 2018
c92dd9f
update tests
wholmgren Aug 22, 2018
6c2bf35
update documentation
wholmgren Aug 22, 2018
1b6e5d2
ignore .vscode
wholmgren Aug 24, 2018
e58c7d5
limit clearness index in disc dirint dirindex
wholmgren Aug 24, 2018
0b83533
fix bad change
wholmgren Aug 24, 2018
891f886
update tutorial
wholmgren Aug 24, 2018
ae6a89f
Merge remote-tracking branch 'pvlib/master' into gtidirint
wholmgren Aug 24, 2018
dad4512
remove tutorial
wholmgren Aug 24, 2018
b3f43cb
maybe fix failing py27 test
wholmgren Aug 25, 2018
9eeb67f
doc clean up
wholmgren Aug 25, 2018
6aebf5e
update doi
wholmgren Aug 26, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'master' into gtidirint
  • Loading branch information
wholmgren committed Aug 14, 2018
commit ae6031681ffcdd85c5aa4c442739a8d681fbcc85
87 changes: 87 additions & 0 deletions docs/sphinx/source/whatsnew/v0.6.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,93 @@ Enhancements
* Implement first_solar_spectral_loss in modelchain.py (:issue:`359`)
* Clarify arguments Egref and dEgdT for calcparams_desoto (:issue:`462`)
* Add gti_dirint function. (:issue:`396`)
* pvlib python is changing a handful of function names. In general, functions
that can calculate a quantity using multiple algorithms now start
with the prefix ``get_``. For example, ``relativeairmass`` can calculate
airmass using one of many ``model`` arguments. Its name has been changed
to ``get_relative_airmass` 8000 `. The old function names remain in this
release, but will emit a ``PVLibDeprecationWarning`` when called. The
old functions will be removed in the 0.7 release. Functions composed
of multiple words jammed together have been renamed with underscores
separating the words (see above).
Each change is detailed below. (:issue:`427`)
* Deprecated relativeairmass. relativeairmass will be removed in 0.7.
Use the new get_relative_airmass instead. (:issue:`427`)
* Deprecated absoluteairmass. absoluteairmass will be removed in 0.7.
Use the new get_absolute_airmass instead. (:issue:`427`)
* Deprecated irradiance.globalinplane. globalinplane will be removed in 0.7.
Use the new irradiance.poa_components instead. (:issue:`427`)
* Added irradiance.poa_components. Function is the same as the now-deprecated
irradiance.globalinplane, but adds 'poa_sky_diffuse' and
'poa_ground_diffuse' to the output. (:issue:`427`)
* Deprecated irradiance.extraradiation. Use irradiance.get_extra_radiation
instead. irradiance.extraradiation will be removed in 0.7. (:issue:`427`)
* Deprecated irradiance.grounddiffuse. Use irradiance.get_ground_diffuse
instead. irradiance.grounddiffuse will be removed in 0.7. (:issue:`427`)
* Added irradiance.get_poa_sky_diffuse. (:issue:`427`)
* Deprecated irradiance.total_irrad. Use irradiance.get_total_poa_irradiance
instead. irradiance.total_irrad will be removed in 0.7. (:issue:`427`)
* Removed 'klutcher' from get_sky_diffuse/total_irrad. This misspelling was
deprecated long ago but never removed. (:issue:`97`)
* pvsystem.calcparams_desoto now requires arguments for each module model
parameter. (:issue:`462`)
* Add losses_parameters attribute to PVSystem objects and remove the kwargs
support from PVSystem.pvwatts_losses. Enables custom losses specification
in ModelChain calculations. (:issue:`484`)
* removed irradiance parameter from ModelChain.run_model and ModelChain.prepare_inputs
* Add ``perez_enhancement`` keyword argument to clearsky.ineichen to control
whether or not the "perez enhancement factor" is applied. The enhancement
factor was always applied until now. Now it is turned off by default. The
enhancement factor can yield unphysical results, especially for latitudes
closer to the poles and especially in the winter months. It may yield
improved results under other conditions. (:issue:`435`)


Enhancements
~~~~~~~~~~~~
* Add sea surface albedo in ``irradiance.py`` (:issue:`458`)
* Implement :meth:`~pvlib.modelchain.ModelChain.first_solar_spectral_loss`
in ``modelchain.py`` (:issue:`359`)
* Clarify arguments ``Egref`` and ``dEgdT`` for
:func:`~pvlib.pvsystem.calcparams_desoto` (:issue:`462`)
* Add pvsystem.calcparams_pvsyst to compute values for the single diode equation
using the PVsyst v6 model (:issue:'470')
* Extend :func:`~pvlib.pvsystem.singlediode` with an additional keyword argument
``method`` in ``('lambertw', 'newton', 'brentq')``, default is ``'lambertw'``,
to select a method to solve the single diode equation for points on the IV
curve. Selecting either ``'brentq'`` or ``'newton'`` as the method uses
:func:`~pvlib.singlediode.bishop88` with the corresponding method.
(:issue:`410`)
* Implement new methods ``'brentq'`` and ``'newton'`` for solving the single
diode equation for points on the IV curve. ``'brentq'`` uses a bisection
method (Brent, 1973) that may be slow but guarantees a solution. ``'newton'``
uses the Newton-Raphson method and may be faster but is not guaranteed to
converge. However, ``'newton'`` should be safe for well-behaved IV curves.
(:issue:`408`)
* Implement :func:`~pvlib.singlediode.bishop88` for explicit calculation
of arbitrary IV curve points using diode voltage instead of cell voltage. If
``method`` is either ``'newton'`` or ``'brentq'`` and ``ivcurve_pnts`` in
:func:`~pvlib.pvsystem.singlediode` is provided, the IV curve points will be
log spaced instead of linear.
* Implement :func:`~pvlib.singlediode.estimate_voc` to estimate open
circuit voltage by assuming :math:`R_{sh} \to \infty` and :math:`R_s=0` as an
upper bound in bisection method for :func:`~pvlib.pvsystem.singlediode` when
method is either ``'newton'`` or ``'brentq'``.
* Add :func:`~pvlib.pvsystem.max_power_point` method to compute the max power
point using the new ``'brentq'`` method.
* Add new module ``pvlib.singlediode`` with low-level functions for
solving the single diode equation such as:
:func:`~pvlib.singlediode.bishop88`,
:func:`~pvlib.singlediode.estimate_voc`,
:func:`~pvlib.singlediode.bishop88_i_from_v`,
:func:`~pvlib.singlediode.bishop88_v_from_i`, and
:func:`~pvlib.singlediode.bishop88_mpp`.
* Add PVSyst thin-film recombination losses for CdTe and a:Si (:issue:`163`)
* Python 3.7 officially supported. (:issue:`496`)
* Improve performance of solarposition.ephemeris. (:issue:`512`)
* Improve performance of Location.get_airmass. Most noticeable when
solar position is supplied, time index length is less than 10000, and
method is looped over. (:issue:`502`)


Bug fixes
Expand Down
2 changes: 1 addition & 1 deletion pvlib/irradiance.py
Original file line number Diff line number Diff line change
Expand Up @@ -1235,7 +1235,7 @@ def disc(ghi, zenith, datetime_or_doy, pressure=101325, min_cos_zenith=0.065,
"""

# this is the I0 calculation from the reference
I0 = extraradiation(datetime_or_doy, 1370, 'spencer')
I0 = get_extra_radiation(datetime_or_doy, 1370, 'spencer')
cos_zenith = np.maximum(min_cos_zenith, np.cos(np.radians(zenith)))
I0h = I0 * cos_zenith

Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.
0