太阳时角的确定
ω = ( ST - 12) × 15°
式中: ω 为太阳时角; ST 为真太阳时( 此处采用北京时间) 。
太阳赤纬角的确立
太阳赤纬角定义为太阳入射光与地球赤道面的夹角,以 δ 表示,与所在地区无关,仅由日期决定,太 阳赤纬角不是一成不变的,而是每天都在进行微小 的变化
δ = 23. 45sin( 360° ×(284 + n)÷365 ) :,δ 为太阳赤纬角; n 为一年中的天数
太阳高度角
定义为太阳入射方向与水平面之间的夹角,以 h 表示
计算公式为: sinh = sinφsinδ + cosφcosδcosω式中: φ 为地理纬度; ω 为太阳时角; δ 为太阳赤纬角; h 为太阳高度角。
大气层上界某一时刻的太阳辐射量,以 E0表示,其计算公式为:
E0 = Esc[ 1 +0. 034 × cos( 2n ×3.141 592 6 ÷365)] 式中: ESC为太阳常数,通常取 1367 W/m2; n 为一年中的天数。
大气质量与大气透明度的引入及计算
大气质量定义为太阳光线穿过地球大气的路径与太阳光线在天顶角方向时穿过大气路径只比,也就是大气对地球表面接收太阳光的影响程度,以 mh
来进行表示,其计算公式如下: 当 h≥30°时,其计算公式为:
mh = 1÷sinh
当 h < 30°时,由于折射影响,公式变为:
mh =√[1229 + ( 614sinh) 2]- 614sinh
大气透明度
是指透过一个大气质量的投射辐射与入射辐射之比,用来表征大气对辐射的削弱程度,其公式选用: ta = 0. 271 0 - 0. 293 5tb
tb = 0. 56×0.8 × ( e - 0. 56mh + e - 0. 096mh)
tb为直接辐射大气透明系数; ta为间接辐射大气透明系数。
直接辐射是指未被地球大气层吸收、反射及折射仍保持原来的方向到达地球表面的这部分太阳辐射,用 Ebh来表示,其公式为:
Ebh = E0 × tb × sinh ,E0为大气层上界某一时刻的太阳辐射量; h 为
太阳高度角。
间接辐射是指经过经过大气和云层的折射、反射、散射作用改变了原来的传播方向到达地球表面的、并无特定方向的这部分太阳辐射,用 Edh来表示,
其公式为: Edh = 0. 5 × sinh × E0 × 0.9 × (1 - ta )÷[1- 1. 4 × log (ta÷mh)]
mh 为修正后的大气质量.
总辐射强度
就是直接辐射强度与间接辐射强度的和,用 Eth来表示,因此公式为:Eth = Ebh + Edh
太阳赤纬角和高度角计算代码如下:
import math
# 输入经纬度和年份
latitude = 39.6
longitude = 116.3
n = 1 * 30 + 1 # 假设月份为1,日期为1
# 计算太阳赤纬角
def calculate_hour_angle(hour):
n = 1 * 30 + 1 # 假设月份为1,日期为1
omega = (hour - 12) * 15
hourc = 23.45 * math.sin(math.radians(360 * (284 + n) / 365))
return hourc, omega
# 计算太阳高度角
def calculate_solar_elevation_angle(phi, delta, t):
sin_h = math.sin(math.radians(phi)) * math.sin(math.radians(delta)) + math.cos(math.radians(phi)) * math.cos(math.radians(delta)) * math.cos(math.radians(t))
h = math.degrees(math.asin(sin_h))
return h