李 文,趙永超
(中國科學(xué)院空間信息處理與應(yīng)用系統(tǒng)技術(shù)重點實驗室, 北京 100190;中國科學(xué)院電子學(xué)研究所, 北京 100190; 中國科學(xué)院大學(xué), 北京 100049)
隨著全球經(jīng)濟的高速發(fā)展,人類對于能源的需求在不斷增加,過量使用儲量有限的化石能源對全球生態(tài)環(huán)境造成十分嚴(yán)重的破壞。相比之下,太陽能不僅清潔安全無污染,而且具有儲量大可再生的特點[1]。目前已發(fā)現(xiàn)的化石能源儲量僅為同年太陽照射到地表能量的不足萬分之一[2]。通過太陽追蹤技術(shù)高效利用太陽能源可以有效解決能源和環(huán)境問題,而太陽追蹤技術(shù)的提高需要更加準(zhǔn)確且高效的太陽位置計算。
準(zhǔn)確而高效的太陽位置計算在微光載荷輻射定標(biāo)和驗證、微光載荷定標(biāo)處理系統(tǒng)研制等工程項目中應(yīng)用廣泛。尤其當(dāng)參與輻射定標(biāo)的衛(wèi)星在晨昏時刻成像時,太陽光線受大氣折射影響嚴(yán)重,傳統(tǒng)太陽位置算法對此考慮不足,同時也忽略了地球長短半徑不同對于太陽位置計算帶來的誤差。只有在保持簡便高效的同時提高太陽高度角的計算精度,才能滿足大氣海洋環(huán)境相關(guān)探測、空間環(huán)境檢測、森林防災(zāi)、遙感輻射定標(biāo)等科研與工程項目的需求。
太陽高度角的計算離不開太陽赤緯角和太陽時角,國內(nèi)外學(xué)者對此做了相關(guān)研究。在太陽赤緯角方面,前人的研究給出過相關(guān)算法[3-7]。在太陽時角方面,也有研究者介紹過相關(guān)算法[4-5,7-9]。但上述算法多是針對不同年份使用系數(shù)相同的計算公式,以地球為球體模型進行研究,對于地球長短半徑差別、太陽光線經(jīng)過大氣折射所產(chǎn)生的蒙氣差等因素沒有充分考慮。此外,還有研究者介紹過幾種復(fù)雜算法[10-13]。復(fù)雜算法盡管精度提升,但編程計算量大,效率不高,適用年份有限,每隔一段時間需要重新修改相關(guān)公式,適用于天文學(xué)研究,而不利于應(yīng)用在需要簡潔高效計算太陽位置的工程領(lǐng)域。
本文在上述研究的基礎(chǔ)上,首先通過數(shù)值擬合法提出一種更加適用于不同年份的太陽赤緯角改進算法,然后根據(jù)誤差曲線體現(xiàn)的周期性規(guī)律,以4年為一個周期,提出基于傅里葉展開法的太陽赤緯角改進公式,上述改進公式可根據(jù)不同年份周期調(diào)整相關(guān)系數(shù)。隨后針對地球球體模型對于長短半徑差異考慮不足的問題,推導(dǎo)出太陽高度角在地球橢球模型中的改進公式,并且考慮大氣折射在低仰角條件下對于光線路徑的影響,使用擬合法和展開法分段給出蒙氣差常差以及附加系數(shù)在0°~30°仰角下的改進算法。隨后計算并對比本文所提出的改進算法與相應(yīng)的傳統(tǒng)算法之間的誤差,根據(jù)計算結(jié)果提出具有更高精度同時高效簡潔的太陽位置算法。
太陽高度角是指太陽直射到地表的光線與之在地平面上的投影線之間的夾角,這一定義原本比較成熟[14]。不過在傳統(tǒng)太陽位置算法中,地球模型被當(dāng)作簡單球體,根據(jù)球面三角公式推導(dǎo)出太陽高度角公式。而地球橢球模型則主要應(yīng)用在大地測量學(xué)、地圖學(xué)的相關(guān)研究中,在太陽地球位置計算方面研究有限。
太陽赤緯角指的是太陽和地球中心連線方向與赤道平面的夾角,太陽時角是指太陽所在的時圈與通過觀測點的子午圈組成的二面角[15]。太陽赤緯角和時角的計算精度直接影響太陽高度角的計算準(zhǔn)確性。
Cooper[3]給出太陽赤緯角的求解算法:
(1)
式中,n為所求日期在該年中的計日序數(shù),如某年1月9日,n=9。
Spencer[4]提出太陽赤緯角算法
δ=0.006 918-0.399 912cos(θ)+
0.070 257sin(θ)-0.006 758cos(2θ)+
0.000 907sin(2θ)-0.002 697cos(3θ)+
0.001 48sin(3θ).
(2)
Stine[5]提出太陽赤緯角算法
(3)
式中:n為所求日期在一年中的計日序數(shù)。該算法所求出的結(jié)果亦為弧度制。
Bourges[6]給出太陽赤緯角算法
δ=0.372 3+23.256 7sin(ωt)+
0.114 9sin(2ωt)-0.171 2sin(3ωt)-
0.758 0cos(ωt)+0.365 6cos(2ωt)+
0.020 10cos(3ωt).
(4)
n0=78.801 +[0.242 2(n-1 969)]-
int[0.25(n-1 969)].
Yu[7]針對Spencer算法進行一定簡化,提出太陽赤緯角算法
δ=0.006 918-0.399 912cos(θ)+
0.070 257sin(θ)-0.006 758cos(2θ)+
0.000 907sin(2θ).
(5)
本文結(jié)合天文年歷記錄的太陽赤緯角數(shù)據(jù),在Windows系統(tǒng)中以Matlab為工具進行計算,得到上述不同赤緯角算法的誤差變化情況。在此以2017年為例,給出該年內(nèi)不同算法每天誤差的變化情況,如表1所示。Bourges太陽赤緯角算法在2017年的誤差均方根為0.011 16°,最大值為0.025°,在傳統(tǒng)算法中誤差最小。王炳忠[16]沿用該公式,并且對于積日n0做了細微修正,并在這一基礎(chǔ)上對于日地距離的計算提出其他觀點,如果僅從太陽赤緯角的計算考慮,Bourges的公式也可以稱為Wang法。
上述所有方法中,對于不同年份的計算采用的是系數(shù)相同的公式,未充分考慮太陽赤緯角在不同年份存在差異和變化的問題。本文在保持太
表1 2017年不同太陽赤緯角算法誤差對比Table 1 Error comparison of different solar declination algorithms in 2017 (°)
陽赤緯角計算過程簡便的同時,以降低計算誤差為目的,提出可以針對不同年份調(diào)整相關(guān)系數(shù)的計算公式,隨后通過具體的計算比較,驗證改進算法對于改進太陽赤緯角精度具有優(yōu)勢。
首先采用數(shù)值擬合法,針對需要研究的年份,以該年度天文年歷記錄的太陽赤緯角為基礎(chǔ),對于太陽赤緯角和積日因子β進行多項式擬合,積日因子β是可以根據(jù)需求年份和計日序數(shù)進行調(diào)整的中間變量,得到適用不同年份的擬合系數(shù)。太陽赤緯角改進公式可以表達為
n0=79.676 4+0.242 2(n-1 985)-
int(n-1 985),
(6)
式中:n為年份數(shù);dn為一年中的計日序數(shù);ak為擬合系數(shù)。若需要天文年歷沒有記錄的時刻的太陽赤緯角數(shù)據(jù),可以采用貝塞爾插值法求解。表2為本文太陽赤緯角擬合法中具體到每一年的系數(shù),在此以適用于2015—2018年的系數(shù)進行列舉。
為直觀顯示改進算法與傳統(tǒng)算法誤差的對比,本文對本世紀(jì)所有年份太陽赤緯角進行誤差計算,并選取2011—2018年給出誤差對比曲線。在圖1中,不同曲線表示不同算法的計算誤差,實線代表本文算法的誤差在一年內(nèi)變化情況。結(jié)果顯示,本文給出的擬合算法的誤差均值和波動范圍均明顯小于傳統(tǒng)算法,對于降低誤差效果顯著。更重要的是,通過不同年份誤差曲線組合對比發(fā)現(xiàn),不同算法誤差的變化趨勢呈現(xiàn)出明顯的周期性,以4年為一個周期,不同周期內(nèi)相對應(yīng)序數(shù)的年份具有十分相似的變化趨勢(如2013和2017年,2012和2016年)。這不僅證明本節(jié)擬合算法具有改進太陽赤緯角計算精度的優(yōu)勢,也為后面展開法的提出提供了思路。
圖1 2011—2018年太陽赤緯角擬合改進算法與傳統(tǒng)算法誤差對比曲線Fig.1 Comparison of error curves belween the fitting algorithm of the solar declination and the original ones(2011-2018)
為定量說明數(shù)值擬合法相比原算法(指Bourges算法等傳統(tǒng)太陽赤緯角算法)的精度改進情況,表3列出2018年太陽赤緯角計算的不同算法誤差均方根、誤差和方差、誤差均值。結(jié)果表明,本文改進后太陽赤緯角算法的誤差均方根可以控制在10-3級別,例如2018年誤差均方根為0.006 65°,而傳統(tǒng)算法的誤差均方根多在10-1度級別,數(shù)值擬合法對太陽赤緯角的計算精度改進效果顯著。
表2 2015—2018年太陽赤緯角擬合系數(shù)Table 2 Fitting coefficients of solar declination from 2015 to 2018
表3 太陽赤緯角擬合改進算法與傳統(tǒng)算法誤差數(shù)據(jù)對比(2018年)Table 3 Comparison of errors between the fitting algorithm of declination and the original ones in 2018
在1.3節(jié)的研究過程中發(fā)現(xiàn),太陽赤緯角的計算誤差變化趨勢具有周期性,不同周期內(nèi)相對應(yīng)年份誤差曲線變化趨勢具有很大相似性(如2017與2013年),同一周期內(nèi)不同年份誤差曲線變化趨勢不同,尤其平年和閏年計日序數(shù)的區(qū)別會影響計算準(zhǔn)確性。于是本文根據(jù)前文擬合法誤差曲線反映的周期規(guī)律,以4年為周期,基于傅里葉展開法,提出一種誤差更小的太陽赤緯角改進算法。這種算法充分考慮平年和閏年在計日序數(shù)方面存在差異,以4年總計日序數(shù)為基準(zhǔn)修正積日因子β,利用傅里葉展開法求出每一項展開系數(shù),不同年份所在周期的系數(shù)不同,太陽赤緯角可以表示為
n0=79.676 4+0.242 2(n-1 985)-
(7)
式中:n為該周期內(nèi)第3年的年份數(shù);dn為該周期內(nèi)的總計日序數(shù);ak,bk為展開系數(shù)。選取2015—2018年這一周期,給出式(7)所涉及的展開項系數(shù),如表4所示。
對于其他年份所在周期,根據(jù)具體年份調(diào)整β因子,再次使用展開法即可重新求出新的展開系數(shù)。選取傳統(tǒng)算法中誤差最小的Wang算法,結(jié)合天文年歷和本文算法進行誤差計算與對比。表5具體給出本世紀(jì)4個周期內(nèi)改進算法的誤差均方根和原算法對比數(shù)據(jù)。結(jié)果顯示,本文算法誤差均方根可達到10-4級別,相比傳統(tǒng)太陽赤緯角算法在誤差均方根精度方面有2個數(shù)量級的提升,并且該方法比數(shù)值擬合法誤差更低。展開法以4年為周期進行太陽赤緯角計算,更加符合太陽赤緯角誤差變化規(guī)律,有利于減少平年與閏年計日序數(shù)差異對于太陽赤緯角計算的影響,同時也避免過于復(fù)雜的計算量,保持計算過程的簡潔性。
表4 傅里葉展開法公式系數(shù)(2015—2018年)Table 4 Coefficients in Fourier expansions from 2015 to 2018
表5 太陽赤緯角展開算法與傳統(tǒng)算法誤差數(shù)據(jù)對比Table 5 Comparison of errors between the expansion algorithm of declination and the original ones (°)
為直觀體現(xiàn)計算精度的提升效果,圖2分別表示2015—2018年和2011—2014年的兩個周期內(nèi),展開法與傳統(tǒng)算法之間的誤差對比曲線。圖中實線代表本位提出的基于傅里葉展開法改進后的算法誤差曲線,其他不同形式的虛線分別代表傳統(tǒng)算法誤差曲線。結(jié)果表明,改進算法誤差曲線的波動范圍明顯小于傳統(tǒng)算法,誤差均值降低,而且兩個周期內(nèi)曲線的變化趨勢相一致,符合本文基于展開法以4年為周期改進太陽赤緯角計算精度的設(shè)想。
圖2 太陽赤緯角展開算法與傳統(tǒng)算法誤差對比曲線Fig.2 Comparison of error curves between the expansion algorithm of declination and the original ones
除太陽赤緯角外,太陽時角是另一個決定太陽高度角計算的重要因素。前文已經(jīng)介紹過其定義,其計算公式為
(8)
式中:ts為真太陽時,h。這里介紹一下太陽日和太陽時的概念,太陽日表示日心連續(xù)2次通過同一個子午圈的時間間隔,一個平太陽日包括24個平太陽時。由于地球繞日公轉(zhuǎn)的速度在不斷變化,并且赤道與黃道為異面關(guān)系,一年中太陽日長短也存在差別[17]。真太陽時并不均勻,為計算方便,需要一個均勻的時間單位,平太陽這個假想的概念便被引進。平太陽以赤道為軌道運動,其運動周期與視太陽運動周期保持一致,運動速度則與視太陽運動的平均速度相等?;谄教枙r的系統(tǒng)為常用的時間系統(tǒng),把平時轉(zhuǎn)換為視時是太陽時角實時計算的重要工作,用時差eot (equation of time) 表示視時與平時的差。時差的誤差精度會影響太陽時角的精度,進而影響太陽高度角的計算。真太陽時ts與北京時間對應(yīng)的平太陽時t以及時差eot的關(guān)系如下
(9)
式中:λ為所在地經(jīng)度,東經(jīng)為正。
下面針對不同時差算法進行誤差計算和對比分析。
Wloof[5]提出的時差算法如下
eot=0.258cosθ-7.416sinθ-
3.648cos(2θ)-9.228sin(2θ).
(10)
Spencer[4]給出的時差算法如下
eot=229.18[0.000 075+0.001 868cosθ-
0.032 077sinθ-0.014 615cos(2θ)-
0.040 89sin(2θ)].
(11)
Whillier[9]提出時差算法如下
eot=9.87sin(2θ)-7.53cosθ-1.5sinθ.
(12)
Lamm[8]算法考慮平年與閏年的區(qū)別,給出時差算法如下
(13)
式中:N為一個周期中的計日序數(shù),以閏年開始進行以4年為周期的循環(huán);ak和bk為一個周期內(nèi)不同年份所對應(yīng)的系數(shù),不同周期系數(shù)相同。
Yu[7]采用的時差算法如下
eot=0.017 2+0.428 1cosθ-7.351sinθ-
3.349 5cos(2θ)-9.361 9sin(2θ).
(14)
圖3 2018年不同時差算法誤差曲線Fig.3 Error curves of different algorithms of error of time in 2018
本文結(jié)合天文年歷,以Matlab為工具,計算分析不同算法下時差的誤差情況,在此給出圖3
表示2018年不同太陽時角算法誤差在一年內(nèi)隨計日序數(shù)變化情況。結(jié)果顯示,Lamm算法精度最高,誤差均值僅為0.002 ″,而且該方法計算過程并不復(fù)雜,所以在太陽時角計算時可以選取這種方法。
本節(jié)討論太陽高度角的改進計算,傳統(tǒng)算法采用地球球體模型,通過球面三角公式計算太陽高度角。本文考慮地球扁率帶來的長短半徑區(qū)別給太陽位置計算造成的誤差,推導(dǎo)地球橢球模型中太陽高度角公式。
橢球模型中,假設(shè)地球長半軸半徑為a,短半軸半徑為b,則橢球存在扁率公式如下
(15)
(16)
式中:δ為太陽赤緯角,φ為所在地緯度,ω為太陽時角,e為橢球扁率,公式(16)為橢球坐標(biāo)系下太陽高度角余弦值的表達式。不難看出,當(dāng)a與b相等時,橢球模型退化成球體模型,該式與球體模型下太陽高度角公式相一致[18]。
前文已經(jīng)驗證以4年為周期計算太陽赤緯角更符合其誤差變化規(guī)律,故本文對于太陽高度角的計算同樣以4年為一周期,其中太陽赤緯角計算即選取前文提出的傅里葉展開法,太陽時角的時差計算選取Lamm算法,而太陽高度角改進公式選擇本文提出的公式(16)。把本文基于橢球模型的太陽高度角改進算法與球體模型中幾種傳統(tǒng)算法的計算結(jié)果進行誤差對比,結(jié)果表明,本文算法的誤差均方根、均值、最大值均明顯減小。為定量說明,以2011—2014年和2015—2018年兩個周期為例,給出具體誤差數(shù)據(jù)如表6所示。本文太陽高度角算法誤差均值達到10-4數(shù)量級,誤差均方根達到10-3數(shù)量級,而表中基于球體模型的幾種傳統(tǒng)算法誤差均方根和誤差均值都在10-2~10-1數(shù)量級。
表6 本文太陽高度角算法與傳統(tǒng)算法誤差比較Table 6 Comparison of the errors between the solar elevation angle algorithm and the original ones (°)
為更為直觀地體現(xiàn)不同太陽高度角算法誤差在一個周期內(nèi)隨著計日序數(shù)的變化情況,圖4給出不同算法在2011—2014年和 2015—2018年兩個周期的誤差變化對比曲線。粗實曲線表示本文改進算法在這4年內(nèi)隨計日序數(shù)變化的情況,其他曲線代表各種傳統(tǒng)算法在球體模型中的計算誤差變化情況。結(jié)果表明,粗實曲線波動范圍明顯小于其他曲線,誤差均值也明顯低于傳統(tǒng)算法,而且兩張圖中曲線體現(xiàn)出十分相似的變化規(guī)律。這不僅證明本文橢球模型下太陽高度角算法對于精度的改進提升效果明顯,同時也再次說明以4年為周期的設(shè)想符合太陽位置計算規(guī)律。對于其他年份所在周期,可以根據(jù)所需求解的年份調(diào)整系數(shù)從而保持高計算精度,節(jié)省了復(fù)雜算法巨大的計算量。
圖4 本文太陽高度角算法與傳統(tǒng)算法誤差變化曲線Fig.4 Error curves of the solar elevation angle algorithm and the original ones
影響太陽高度角計算的另一個重要因素來自大氣對于太陽光線的折射,尤其在低仰角條件下,大氣折射所帶來的蒙氣差不可忽略。蒙氣差是太陽光線經(jīng)過大氣層的不同介質(zhì)時,由于不同介質(zhì)折射率不同導(dǎo)致的光線路徑改變的現(xiàn)象[19]。由于蒙氣差的存在,觀測到的太陽高度和實際太陽位置存在差別。
經(jīng)典的蒙氣差算法[20-22]可以表示成積分的形式,如
(17)
式中:n表示大氣傳輸路徑上某處大氣位相折射指數(shù),ζ表示該點地心方向半徑和平面電磁波方向的夾角,r表示幾何地心距;n0、ζ0和r0分別是觀測點相應(yīng)的參數(shù)。張捍衛(wèi)等[23]在此基礎(chǔ)上進一步推導(dǎo)出蒙氣差展開式
(18)
式中,Δζ以級數(shù)和的形式表示蒙氣差。但是此算法僅適用于仰角大于9°的情況,而且χ的取值并未確定給出,這會對級數(shù)展開的收斂性產(chǎn)生影響。蒙氣差的計算分為不考慮溫度氣壓因素影響的常差部分,以及受這些因素影響的附加部分。文獻[24-28]分別提出5種關(guān)于常差的算法,在此稱為原算法1~5,上述算法給出了確切的計算公式,但在低仰角下,這些傳統(tǒng)算法仍然無法避免過大誤差。
文獻[24]提出一種粗略的蒙氣差常差算法如下,稱為原算法1:
R0=60.2tanz.
(19)
式中:z表示天頂角,也就是仰角的余角;R0表示蒙氣差常差。
文獻[25]提出另一種傳統(tǒng)算法近似表達如下,稱為原算法2。
式中:α表示仰角。
文獻[26]給出的傳統(tǒng)算法如下,稱為原算法3。
(21)
文獻[27]提出傳統(tǒng)算法可近似表達如下,在文中稱為原算法4。
R0=60.097tanz+0.010 9tan2z-
0.073tan3z+0.002tan4z.
(22)
式中:z表示天頂角。
文獻[28]給出的傳統(tǒng)算法近似表達如下,稱為原算法5。
R0=60.103tanz-0.066tan3z-0.000 15tan5z.
(23)
原算法1~5均為計算蒙氣差常差的傳統(tǒng)算法,針對較高仰角范圍的計算具有一定準(zhǔn)確性,在低仰角條件下誤差較大。本文對低仰角區(qū)間分段,提出0°~30°仰角下更為精確的蒙氣差改進公式。在仰角0°~14°區(qū)間,太陽光線受到的大氣折射最為明顯,這部分本文采用傅里葉展開法進行蒙氣差常差改進計算,數(shù)據(jù)樣本來自2018年天文年歷[29],展開結(jié)果如下
(24)
式中:R0為蒙氣差常差,(″);ψ為仰角余切值;展開式每一項系數(shù)如表7所示。
表7 0°~14°仰角下展開系數(shù)Table 7 Expansion coefficients at elevation angles of 0°-14°
以Matlab為工具,計算并對比本文算法與幾種傳統(tǒng)算法之間的誤差,不同算法誤差均方根如表8。結(jié)果表明,本文算法在0°~14°俯仰角誤差均方根為0.113 6″,而傳統(tǒng)算法由于是針對較高仰角范圍提出,無法避免低仰角下的巨大誤差,在0°~14°區(qū)間的準(zhǔn)確性遠遠不如改進算法。
表8 改進算法與傳統(tǒng)算法誤差均方根比較 (0°~14°仰角)Table 8 Comparison of the root mean square error between the expansion algorithm and the original ones (0°-14° elevation)
在14°~30°區(qū)間,本文采用數(shù)值擬合法給出常差計算公式,同樣以天文年歷記錄值為樣本數(shù)據(jù),擬合因子為仰角余切值,這段的蒙氣差常差改進算法可以表示
(25)
式中:R0為蒙氣差常差,(″);α為仰角。14°~30°仰角區(qū)間的相關(guān)系數(shù)如表9所示。
表9 14°~30°仰角下擬合法蒙氣差常差系數(shù)Table 9 Fitting coefficients of atmosphere refraction at elevation angles of 14°-30°
和14°~30°區(qū)間類似,30°~45°仰角區(qū)間同樣可以通過擬合法進行計算,相關(guān)系數(shù)需要調(diào)整,在此不詳細展開。在表10中,本文給出上述兩個仰角區(qū)間的不同算法誤差均方根、均值等數(shù)據(jù)對比情況。結(jié)果顯示,在仰角14°~45°區(qū)間,本文算法誤差均值精度達到10-13量級,原算法誤差均值至少10-4量級。本文算法相比傳統(tǒng)算法誤差明顯減小,蒙氣差常差計算精度得以改進。
為了直觀體現(xiàn)本文針對14°~30°仰角下本文蒙氣差常差計算的準(zhǔn)確性,圖5給出本文算法分別與原算法的誤差對比曲線,圖5(a)表示本文擬合算法在14°~30°仰角區(qū)間的誤差變化曲線,圖5(b)~5(d)分別表示本文算法與傳統(tǒng)算法的誤差對比。其中,原算法1~3分別代表文獻[24-26]中提到的算法。結(jié)果顯示,本文擬合算法對于蒙氣差常差的計算精度明顯提升,圖中體現(xiàn)的變化趨勢與表10的計算結(jié)果相一致。
表10 改進算法與傳統(tǒng)算法誤差均方根比較 (14°~45°俯仰角)Table 10 Comparison of the root mean square error between this algorithm and the original ones (14°-45° elevation) (″)
圖5 本文擬合算法與傳統(tǒng)算法誤差比較Fig.5 Error comparison between the fitting algorithms and the original ones
除仰角外,蒙氣差主要還受到溫度和氣壓的影響,在此引入系數(shù)A和B,A為溫度系數(shù),公式如下
(26)
式中:T為溫度,K。
B為氣壓系數(shù),公式如下
(27)
式中:P為氣壓,Pa。
綜合上述公式,蒙氣差可以表示為
R=R0(1+A+B).
(28)
式中:R0為蒙氣差常差,(″);R為考慮溫度氣壓影響的蒙氣差,s。
式(28)適用于仰角大于45°時蒙氣差的計算,對于仰角小于45°的情況,太陽光線受大氣折射的影響,還需要一個附加值μ乘以溫度系數(shù),附加值與仰角相關(guān)。在文獻[27-28]中,給出兩種附加系數(shù)的算法,但經(jīng)過計算分析,兩種方法誤差明顯。本文使用數(shù)值擬合法給出附加值的公式如下
(29)
式中:μ為蒙氣差附加系數(shù),(″);α為仰角。具體系數(shù)如表11所示。
表11 蒙氣差附加值擬合系數(shù)Table 11 Fitting coefficients for the additional value of the atmosphere refraction
本文以天文年歷記錄的附加值為依據(jù),圖6給出不同算法之間的誤差對比。圖6(a)顯示本文附加值改進算法與天文年歷記錄值的吻合程度,圖6(b)和圖6(c)分別給出本文算法與傳統(tǒng)算法的誤差對比,圖中用原算法1~2分別代表文獻[27-28]提出的算法。結(jié)果表明,本文對于附加值的計算誤差均值和波動性明顯小于兩種傳統(tǒng)算法,此改進公式可以用來計算低仰角下的附加系數(shù)。
圖6 本文附加值算法與傳統(tǒng)算法誤差比較Fig.6 Error comparison between the algorithm of the additional value and the original ones
本文以太陽位置計算為主要研究對象,針對傳統(tǒng)簡單算法誤差較大而復(fù)雜算法不利于工程項目應(yīng)用的不足,本文對于太陽位置計算提出改進方法。首先由于傳統(tǒng)太陽赤緯角算法針對不同年份采用相同系數(shù)的公式,對不同年份之間的差異考慮不足,本文使用數(shù)值擬合法提出可以根據(jù)年份調(diào)整系數(shù)的改進公式,結(jié)果表明,擬合法改進太陽赤緯角算法的誤差均方根可以控制在10-3級別,例如2018年誤差均方根為0.006 5°,Bourges算法誤差均方根為0.011 18°,Cooper算法誤差均方根為0.546 11°,Spencer算法誤差均方根為0.149 05°,Stine算法誤差均方根為0.466 32°,Yu算法誤差均方根為0.194 13°。結(jié)果表明,數(shù)值擬合法對太陽赤緯角的計算精度改進效果顯著。隨后根據(jù)誤差曲線體現(xiàn)出的周期性變化規(guī)律,采用傅里葉展開法提出以4年為周期的太陽赤緯角改進算法,2011—2014年周期內(nèi)太陽赤緯角改進算法誤差均方根為(8.906×10-4)°,傳統(tǒng)算法中誤差最小的Bourges算法誤差均方根為0.01097°,2015—2018年周期內(nèi)太陽赤緯角改進算法誤差均方根為(5.521×10-4)°,Bourges算法誤差均方根為0.011 28°。結(jié)果表明,展開法改進算法的計算精度至少提高兩個數(shù)量級。然后針對地球球體模型在傳統(tǒng)太陽位置計算中過于理想化的不足,本文基于地球橢球模型推導(dǎo)出太陽高度角的改進公式,根據(jù)太陽赤緯角誤差變化的周期性規(guī)律,太陽赤緯角算法應(yīng)用本文所提出的展開法,一個周期內(nèi)太陽高度角計算的誤差均方根可以達到10-3級別,太陽高度角的改進算法同樣可根據(jù)不同年份可以調(diào)整公式系數(shù),相比傳統(tǒng)簡單算法明顯改進計算精度,并且省去了傳統(tǒng)復(fù)雜算法的巨大計算量。蒙氣差的存在導(dǎo)致觀測太陽位置和計算太陽位置之間存在誤差,而傳統(tǒng)蒙氣差算法在低仰角下誤差過大,本文針對仰角低于30 °的情況,對于仰角分段并分別利用展開法和擬合法給出更為精確的改進公式。相比傳統(tǒng)蒙氣差算法,蒙氣差常差改進算法的誤差均值、誤差均方根都明顯降低,其中0°~14°仰角下的誤差均方根降低到0.113 6″,14°~30°仰角下的誤差均方根降低到(4.113 4×10-3)″,30°~45°仰角下的誤差均方根降低到(3.923 5×10-3)″,傳統(tǒng)算法針對仰角范圍比較籠統(tǒng),主要適用于較高仰角下蒙氣差的計算,低仰角下無法避免過大誤差,對于附加系數(shù)的改進公式同樣比原算法更為準(zhǔn)確。蒙氣差計算精度的提升可以間接幫助實現(xiàn)太陽位置計算的改進。
人類社會如何應(yīng)對全球變化、實現(xiàn)可持續(xù)發(fā)展,是當(dāng)前人類社會發(fā)展面臨的重大挑戰(zhàn)[30]。提高對于太陽能等可再生能源的利用率有利于人類社會長久發(fā)展。本文基于地球橢球模型提出一系列太陽位置算法,兼顧簡單算法的高效和復(fù)雜算法的準(zhǔn)確性。未來還會進一步針對太陽時角的改進計算進行深入研究,從而進一步改進太陽位置計算的精確度。相關(guān)研究對于提升太陽追蹤技術(shù)具有實用價值。另外,全球遙感技術(shù)快速發(fā)展,中國在高分辨率遙感領(lǐng)域的技術(shù)也在不斷發(fā)展,空間對地觀測數(shù)據(jù)獲取能力不斷提升,空間信息保障能力顯著提升[31-32]。準(zhǔn)確高效的太陽位置計算對于在微光條件下的遙感輻射定標(biāo)等工程項目具有積極意義。