Article

Tests

BeginPackage["Wikicode`Sunlight`"]

SpectralIrradiance::usage = "SpectralIrradiance[wavelength] gives the gives the spectral \
irradiance of sunlight at the top of the atmosphere for a specific wavelength."

Irradiance::usage = "Irradiance[waveMin,waveMax] gives the irradiance of sunlight at the \
top of the atmosphere from the specified range of wavelengths. \"UVB\", \"UVA\", \
\"Visible\", and \"Infrared\" are shortcuts for common wavelength ranges."

Begin["`Private`"]

spectralIrradianceData = 
  Interpolation[
   Import["http://rredc.nrel.gov/solar/spectra/am1.5/ASTMG173/\
ASTMG173.xls"][[2, 3 ;;, ;; 2]], InterpolationOrder -> 1];

SpectralIrradiance[wavelength_] := spectralIrradianceData[wavelength]

Irradiance[waveMin_, waveMax_] := 
 Integrate[spectralIrradianceData[x], {x, waveMin, waveMax}]

Irradiance["UVB"] := Irradiance[280, 315]
Irradiance["UVA"] := Irradiance[315, 400]
Irradiance["Visible"] := Irradiance[380, 720]
Irradiance["Infrared"] := Irradiance[700, 4000]

End[]
EndPackage[]