Skip to content

Commit 0812192

Browse files
authored
Add reference for Gueymard 93 relative airmass model (#2424)
* add reference * whatsnew * underscores * reference order * improve references * fix errors * add url
1 parent 0deb93f commit 0812192

File tree

2 files changed

+73
-31
lines changed

2 files changed

+73
-31
lines changed
+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
.. _whatsnew_01201:
2+
3+
4+
v0.12.1 (XXXX, 2025)
5+
------------------------
6+
7+
Breaking Changes
8+
~~~~~~~~~~~~~~~~
9+
10+
11+
Bug fixes
12+
~~~~~~~~~
13+
14+
15+
Enhancements
16+
~~~~~~~~~~~~
17+
18+
19+
Documentation
20+
~~~~~~~~~~~~~
21+
* Add a supporting reference to :py:func:`pvlib.atmosphere.get_relative_airmass` (:issue:`2390`, :pull:`2424`)
22+
23+
Testing
24+
~~~~~~~
25+
26+
27+
Maintenance
28+
~~~~~~~~~~~
29+
30+
31+
Contributors
32+
~~~~~~~~~~~~
33+
* Cliff Hansen (:ghuser:`cwhanse`)

pvlib/atmosphere.py

+40-31
Original file line numberDiff line numberDiff line change
@@ -147,20 +147,13 @@ def get_relative_airmass(zenith, model='kastenyoung1989'):
147147
148148
* 'simple' - secant(apparent zenith angle) -
149149
Note that this gives -Inf at zenith=90
150-
* 'kasten1966' - See reference [1] -
151-
requires apparent sun zenith
152-
* 'youngirvine1967' - See reference [2] -
153-
requires true sun zenith
154-
* 'kastenyoung1989' (default) - See reference [3] -
155-
requires apparent sun zenith
156-
* 'gueymard1993' - See reference [4] -
157-
requires apparent sun zenith
158-
* 'young1994' - See reference [5] -
159-
requires true sun zenith
160-
* 'pickering2002' - See reference [6] -
161-
requires apparent sun zenith
162-
* 'gueymard2003' - See references [7] and [8] -
163-
requires apparent sun zenith
150+
* 'kasten1966' - See [1]_ - requires apparent sun zenith
151+
* 'youngirvine1967' - See [2]_ - requires true sun zenith
152+
* 'kastenyoung1989' (default) - See [3]_ - requires apparent sun zenith
153+
* 'gueymard1993' - See [4]_, [5]_ - requires apparent sun zenith
154+
* 'young1994' - See [6]_ - requires true sun zenith
155+
* 'pickering2002' - See [7]_ - requires apparent sun zenith
156+
* 'gueymard2003' - See [8]_, [9]_ - requires apparent sun zenith
164157
165158
Returns
166159
-------
@@ -174,41 +167,57 @@ def get_relative_airmass(zenith, model='kastenyoung1989'):
174167
other models use true (not refraction-adjusted) zenith angle. Apparent
175168
zenith angles should be calculated at sea level.
176169
170+
Comparison among several models is reported in [10]_.
171+
177172
References
178173
----------
179-
.. [1] Fritz Kasten. "A New Table and Approximation Formula for the
180-
Relative Optical Air Mass". Technical Report 136, Hanover, N.H.:
181-
U.S. Army Material Command, CRREL.
174+
.. [1] Fritz Kasten, "A New Table and Approximation Formula for the
175+
Relative Optical Air Mass," CRREL (U.S. Army), Hanover, NH, USA,
176+
Technical Report 136, 1965.
177+
:doi:`11681/5671`
182178
183179
.. [2] A. T. Young and W. M. Irvine, "Multicolor Photoelectric
184-
Photometry of the Brighter Planets," The Astronomical Journal, vol.
185-
72, pp. 945-950, 1967.
180+
Photometry of the Brighter Planets. I. Program and Procedure,"
181+
The Astronomical Journal, vol. 72, pp. 945-950, 1967.
182+
:doi:`10.1086/110366`
186183
187-
.. [3] Fritz Kasten and Andrew Young. "Revised optical air mass tables
188-
and approximation formula". Applied Optics 28:4735-4738
184+
.. [3] Fritz Kasten and Andrew Young, "Revised optical air mass tables
185+
and approximation formula," Applied Optics 28:4735-4738, 1989.
186+
:doi:`10.1364/AO.28.004735`
189187
190188
.. [4] C. Gueymard, "Critical analysis and performance assessment of
191189
clear sky solar irradiance models using theoretical and measured
192190
data," Solar Energy, vol. 51, pp. 121-138, 1993.
191+
:doi:`10.1016/0038-092X(93)90074-X`
192+
193+
.. [5] C. Gueymard, "Development and performance assessment of a clear
194+
sky spectral radiation model,” in Proc. of the 22nd ASES Conference,
195+
Solar ’93, 1993, pp. 433–438.
193196
194-
.. [5] A. T. Young, "AIR-MASS AND REFRACTION," Applied Optics, vol. 33,
195-
pp. 1108-1110, Feb 1994.
197+
.. [6] A. T. Young, "Air-Mass and Refraction," Applied Optics, vol. 33,
198+
pp. 1108-1110, Feb. 1994.
199+
:doi:`10.1364/AO.33.001108`
196200
197-
.. [6] Keith A. Pickering. "The Ancient Star Catalog". DIO 12:1, 20,
201+
.. [7] Keith A. Pickering, "The Southern Limits of the Ancient Star Catalog
202+
and the Commentary of Hipparchos," DIO, vol. 12, pp. 3-27, Sept. 2002.
203+
Available at `DIO <http://dioi.org/jc01.pdf>`_
198204
199-
.. [7] C. Gueymard, "Direct solar transmittance and irradiance
205+
.. [8] C. Gueymard, "Direct solar transmittance and irradiance
200206
predictions with broadband models. Part I: detailed theoretical
201207
performance assessment". Solar Energy, vol 74, pp. 355-379, 2003.
202208
:doi:`10.1016/S0038-092X(03)00195-6`
203209
204-
.. [8] C. Gueymard (2019). Clear-Sky Radiation Models and Aerosol Effects.
205-
In: Polo, J., Martín-Pomares, L., Sanfilippo, A. (eds) Solar Resources
206-
Mapping. Green Energy and Technology. Springer, Cham.
210+
.. [9] C. Gueymard, "Clear-Sky Radiation Models and Aerosol Effects", in
211+
Solar Resources Mapping: Fundamentals and Applications,
212+
Polo, J., Martín-Pomares, L., Sanfilippo, A. (Eds), Cham, CH: Springer,
213+
2019, pp. 137-182.
207214
:doi:`10.1007/978-3-319-97484-2_5`
208215
209-
.. [9] Matthew J. Reno, Clifford W. Hansen and Joshua S. Stein, "Global
216+
.. [10] Matthew J. Reno, Clifford W. Hansen and Joshua S. Stein, "Global
210217
Horizontal Irradiance Clear Sky Models: Implementation and Analysis"
211-
Sandia Report, (2012).
218+
Sandia National Laboratories, Albuquerque, NM, USA, SAND2012-2389, 2012.
219+
:doi:`10.2172/1039404`
220+
212221
'''
213222

214223
# set zenith values greater than 90 to nans
@@ -236,7 +245,7 @@ def get_relative_airmass(zenith, model='kastenyoung1989'):
236245
(np.cos(zenith_rad) ** 3 +
237246
0.149864*(np.cos(zenith_rad) ** 2) +
238247
0.0102963*(np.cos(zenith_rad)) + 0.000303978))
239-
elif 'gueymard1993' == model:
248+
elif 'gueymard1993' == model: # [4], Eq. 22 and [5], Eq. 3b
240249
am = (1.0 / (np.cos(zenith_rad) +
241250
0.00176759*(z)*((94.37515 - z) ** - 1.21563)))
242251
elif 'gueymard2003' == model:

0 commit comments

Comments
 (0)