I am trying to calculate the albedo of a given latitude by following the methods of Brutsaert (1982), I have copied the formula below:

3.6 Shortwave and long-wave radiative fluxes

Albedo $\alpha$, the reflectance of solar radiation, increases as the solar angle decreases. To estimate $\alpha$, a function of solar altitude (Brutsaery 1982) was used:

$$\alpha = 1.18\Lambda^{-0.77}\tag{37}$$

Solar altitude $\Lambda$ (in degrees) was calculated from latitude, the time of the day and Julian day number ($J$ = day of the year) following Martin and McCutcheon (1999) as

$$\Lambda = \frac{180\lambda}{\pi}\tag{38}$$

where $\lambda$ is the solar altitude in radians

$$\lambda = \tan^{-1}\biggl[\frac{\Omega}{\sqrt{1 - \Omega^2}}\biggr]\tag{39}$$


$$\Omega = \sin\biggl(\frac{\pi\theta}{180}\biggr)\sin(\delta) + \cos\biggl(\frac{\pi\theta}{180}\biggr)\cos(\delta)\cos(\omega)\tag{40}$$

where $\theta$ is the latitude (in degrees, negative for southern hemisphere), $\omega$ is the solar hour angle (radians) and $\delta$ is the declination of the sun

$$\delta = \frac{23.45\pi}{180}\cos\biggl(\frac{2\pi}{365}(172-J)\biggr)\tag{41}$$

where the hour angle, expressed as $\Omega$ here is given by:

...and $H$ is the hour angle. The hour angle is

$$H = (\pi/12)(t_\text{noon} - t),\tag{7}$$

where $t_\text{noon}$ is local solar noon ($\sim 12.5$ in Oklahoma) and $t$ is the local solar time (e.g. $t = 12.5$ and $H = 0$ at local solar noon).

I have written a Matlab script to calculate the albedo for Oklahoma during mid summer but I'm not sure that the code is accurate. It gives an albedo of 0.0386 where it is expected that the albedo will be in the region of 0.07. I guess I'm a bit confused about when I should use degrees and when I should use radians in the equations e.g. for $\Omega$ and $\lambda$, thus I do not know if I should trust my result here. Could someone please clarify this for me?

  • $\begingroup$ Hi user1155751 - I've edited the content of the images into your question, and also removed the code because it's not really necessary to your question here. $\endgroup$ – David Z May 11 '13 at 19:44

Degrees and radians are just different units for the same quantity, angular displacement. So your question is fundamentally the same issue as whether you should use, say, meters or feet to represent a distance. You just have to convert the quantity in each case to the unit that your code expects.

It's a little confusing in this case because in some cases, they've inserted the conversion factors in the formulas for you. You can recognize these conversion factors by the appearance of $\frac{180}{\pi}$ or $\frac{\pi}{180}$, which pretty much never appears in a formula except to facilitate a conversion from radians to degrees or vice-versa (respectively). For example, in

$$\Lambda = \frac{180\lambda}{\pi}$$

$\Lambda$ and $\lambda$ are actually the same quantity, but $\Lambda$ is in degrees and $\lambda$ is in radians. So when you calculate

$$\tan^{-1}\biggl[\frac{\Omega}{\sqrt{1 - \Omega^2}}\biggr]$$

if your calculator is in radian mode or you are using a function that outputs in radians, you will get an answer in radians, i.e. $\lambda$. But if your calculator is in degree mode or you are using a function that outputs in degrees, it does the conversion (the multiplication by $\frac{180}{\pi}$) for you, and you will get an answer in degrees, i.e. $\Lambda$. You don't multiply by $\frac{180}{\pi}$ again.

For simplicity, I would suggest always using trig functions that accept arguments in radians. Then when you have a value in degrees, you can convert as necessary.


$$\Omega = \sin\biggl(\frac{\pi\theta}{180}\biggr)\sin(\delta) + \cos\biggl(\frac{\pi\theta}{180}\biggr)\cos(\delta)\cos(\omega)$$

the formula is written with the conversion factors from degrees to radians built in. In other words, as written, it expects $\theta$ to be in degrees, but it assumes you are using radian mode (i.e. trig functions that take arguments in radians). $\theta$ needs to be converted from degrees to radians, hence the factors of $\frac{\pi}{180}$, but $\delta$ and $\omega$ are assumed to already be in radians.

In $$\delta = \frac{23.45\pi}{180}\cos\biggl(\frac{2\pi}{365}(172-J)\biggr)$$

you will notice that the factor of $\frac{\pi}{180}$ is already there to convert degrees to radians. But what it is converting is not the output of the cosine, which is a pure number (not an angle); rather, it is the $23.45^\circ$, which is the tilt of the Earth's axis relative to its orbital plane.


Argument reduction may slow down the calculation of trigonometric functions when using radians. The Java VM was notorious for having problems with speed when arguments don't fall within a specific narrow range. When using cycles instead of radians, it would be an efficient and trivial operation of ignoring the integer part of a number. Degrees are somewhat of a compromise, which have the added benefit that the angle measurements of circles divided in common ratios like thirds, halves, quarters, eights, tenths, and even ninths can be represented exactly with a small single-byte integer value. Unfortunately many computing environments don't support degrees, but MATLAB and FORTRAN do (both becoming somewhat obsolete nowdays)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.