<s> import numpy as np <EOL> import pvl_tools <EOL> def pvl_klucher1979 ( SurfTilt , SurfAz , DHI , GHI , SunZen , SunAz ) : <EOL> '''<STR_LIT>''' <EOL> Vars = locals ( ) <EOL> Expect = { '<STR_LIT>' : ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' ) <EOL> } <EOL> var = pvl_tools . Parse ( Vars , Expect ) <EOL> GHI [ GHI < DHI ] = DHI <EOL> GHI [ GHI < <NUM_LIT> ] = <NUM_LIT> <EOL> COSTT = pvl_tools . cosd ( SurfTilt ) * pvl_tools . cosd ( SunZen ) + pvl_tools . sind ( SurfTilt ) * pvl_tools . sind ( SunZen ) * pvl_tools . cosd ( SunAz - SurfAz ) <EOL> F = <NUM_LIT:1> - ( ( DHI / GHI ) ** <NUM_LIT:2> ) <EOL> SkyDiffuse = DHI * ( ( <NUM_LIT:0.5> * ( ( <NUM_LIT:1> + pvl_tools . cosd ( SurfTilt ) ) ) ) ) * ( ( <NUM_LIT:1> + F * ( ( ( pvl_tools . sind ( SurfTilt / <NUM_LIT:2> ) ) ** <NUM_LIT:3> ) ) ) ) * ( ( <NUM_LIT:1> + F * ( ( ( COSTT ) ** <NUM_LIT:2> ) ) * ( ( ( pvl_tools . sind ( SunZen ) ) ** <NUM_LIT:3> ) ) ) ) <EOL> return SkyDiffuse </s>
