摘 要:探空氣球的最終施放高度是高空觀測業(yè)務(wù)中一個重要的考核指標(biāo),在影響這個指標(biāo)的因素中,凈舉力的作用十分重要,本文分析探空氣球受力情況,推導(dǎo)升力公式,研究探空氣球升速和凈舉力之間的關(guān)系,得到探空氣球升速和凈舉力之間的關(guān)系式,再利用Python語言進(jìn)行軟件開發(fā),得到凈舉力計算軟件,能夠快速計算滿足探空氣球規(guī)定升速所需凈舉力,科學(xué)地控制凈舉力,提高氣球施放高度,使一線業(yè)務(wù)人員更好地完成探空業(yè)務(wù)。
關(guān)鍵詞:探空氣球;氣球升速;凈舉力;施放高度;軟件開發(fā)
中圖分類號:P 412" " 文獻(xiàn)標(biāo)志碼:A
高空氣象探測是我國氣象基礎(chǔ)業(yè)務(wù)工作之一,在我國氣象業(yè)務(wù)工作中作用十分重要,探空觀測資料數(shù)量最少,但是對天氣預(yù)報、數(shù)值預(yù)報有重要影響,作為“鉚釘”觀測資料,其須降低數(shù)值預(yù)報誤差,并為衛(wèi)星、航空氣象報告等觀測偏差訂正提供“標(biāo)準(zhǔn)”。我國高空氣象探測主要手段如下:向探空氣球內(nèi)注入氫、氦等密度小于空氣的氣體,探空氣球攜帶探空儀器升空,氣象雷達(dá)跟蹤升空的探空氣球,實時測量高空中的溫度、濕度、氣壓、風(fēng)向和風(fēng)速后,反饋回地面,因此控制好氣球升空的高度十分重要[1],除了探空氣球的質(zhì)量問題和天氣情況外,須解決探空氣球升空高度與凈舉力之間的關(guān)系。根據(jù)探空氣球在升空飛行過程中的受力分析,控制探空氣球在水平方向所受凈舉力能夠調(diào)整氣球升空高度和升速[2]。在施放前,應(yīng)對探空氣球的凈舉力進(jìn)行檢測和控制,減少人為因素影響,因此須研發(fā)一個能快速根據(jù)實時氣象要素和當(dāng)時天氣狀況計算凈舉力的軟件,供觀測員調(diào)整探空氣球凈舉力。
1 軟件設(shè)計原理和整體架構(gòu)
1.1 軟件設(shè)計原理
探空氣球放飛后有一個急加速過程,在通常情況下,探空氣球的上升初段加速是在很短時間內(nèi)完成的。在不考慮空氣對流以及探空氣球內(nèi)外溫度不同的條件下,探空氣球基本能夠保持勻速上升,在上下方向受2個相對的力影響。由阿基米德浮力原理可知,向上的力稱為舉力,作用是抬升探空氣球,舉力是由探空氣球內(nèi)同體積空氣質(zhì)量與球內(nèi)氫氣質(zhì)量的差決定的,與其對應(yīng)的向下的力稱為空氣阻力,妨礙探空氣球抬升。向上的舉力又分為總舉力和凈舉力,如公式(1)所示。
E=Vρ-Vγ=V(ρ-γ) " " " " " " " " (1)
式中:E為總舉力;V為氣體體積;ρ為空氣密度;γ為氫氣密度。
除了總舉力外,探空氣球的升空速度須抵消探空氣球、高空觀測設(shè)備以及放球繩等附加物的質(zhì)量,在總舉升力減去附加的質(zhì)量后,剩下的力是決定探空氣球上升速度的力,這個力稱為凈舉力,如公式(2)所示。
A=E-B=V(ρ-γ)-B " " " " " "(2)
式中:A為凈舉力;B為探空氣球和附加物的質(zhì)量。在上升的過程中,除了空氣阻力以外,氣球還受到內(nèi)外壓力差、溫度差和形狀等很多因素影響。在研究過程中,這些次要因素對最終結(jié)果影響非常小,因此須忽略這些次要因素。假設(shè)氣球在上升過程中內(nèi)外壓力、溫度相同,氣球內(nèi)部的氫氣質(zhì)量不會發(fā)生改變,根據(jù)空氣阻力公式,氣球施放后在極短時間內(nèi)加速上升,因此凈舉力和阻力在短時間內(nèi)是平衡的,將氣球周長公式代入公式(2),計算探空氣球升速,如公式(3)所示[3]。
(3)
式中:W為探空氣球升速;b為升速系數(shù),它是無量綱的,與氣球的阻力、形狀、大小、表面特性以及大氣條件有統(tǒng)計學(xué)意義,影響氣球的上升速度。在實際應(yīng)用中,可以根據(jù)試驗測量或者數(shù)值模擬獲得升速系數(shù),為方便計算,代入公式(3)得到標(biāo)準(zhǔn)空氣密度ρ0=1.205 kg/m3,ρ0為當(dāng)氣溫為20 ℃、氣壓為760 mmHg時的空氣密度,根據(jù)理想氣體狀態(tài)方程對公式(3)進(jìn)行變形,如公式(4)所示。
(4)
式中:T0、P0為當(dāng)大氣處于標(biāo)準(zhǔn)狀況(氣溫為20 ℃,氣壓為760 mmHg)時的溫度和氣壓。 為計算方便,引入一個標(biāo)準(zhǔn)空氣密度,改寫公式(4),如公式(5)所示。
(5)
式中:b1為升速系數(shù);T為溫度;P為氣壓。經(jīng)試驗證明,b1與凈舉力的關(guān)系見表1。
當(dāng)凈舉力≤140 g時,取82.0,當(dāng)凈舉力≥240 g時,取96.2,假設(shè)W1為下列等式,如公式(6)所示[3]。
(6)
根據(jù)上述推導(dǎo)過程,可以得到公式(7)。
(7)
由此計算,得到凈舉力A,如公式(8)所示。
-
(8)
1.2 軟件的開發(fā)設(shè)計
軟件以滿足氣象觀測員對探空氣球升速控制所需凈舉力快速計算要求為設(shè)計宗旨,應(yīng)用程序技術(shù)成熟,使用簡單便捷[4]。探空氣球凈舉力計算器軟件有2個功能模塊,一個是用戶數(shù)據(jù)輸入模塊,主要功能是提供用戶操作界面,登錄軟件后,用戶需要輸入計算探空氣球凈舉力所需的基礎(chǔ)數(shù)據(jù),包括探空氣球的升速、氣壓、溫度和探空氣球以及附重物的質(zhì)量,點(diǎn)擊“計算”按鈕,計算結(jié)果會顯示在界面上。另一個是核心計算模塊,主要功能是處理用戶計算請求、分析業(yè)務(wù)邏輯和數(shù)據(jù)計算,程序獲取用戶輸入的當(dāng)探空氣球施放時的升速、實時溫度以及氣壓等數(shù)據(jù),計算探空氣球升速值。根據(jù)預(yù)設(shè)的數(shù)據(jù)庫列表檢查用戶輸入的升速值是否在列表中,并顯示對應(yīng)的凈舉力值。如果不在列表中,程序會進(jìn)行插值計算,找到最接近的凈舉力值并顯示給用戶。模塊還包括異常處理部分,保證用戶輸入的是有效數(shù)字。
1.3 軟件的設(shè)計構(gòu)架和主要代碼
使用 Python語言編寫軟件,由于其具有簡潔性、易讀性以及可擴(kuò)展性,其數(shù)據(jù)處理速度快、功能強(qiáng)大且簡單易學(xué),因此在數(shù)據(jù)分析與處理中廣泛應(yīng)用。其在編寫后無須進(jìn)行編譯即可直接利用解釋器執(zhí)行,具有典型的動態(tài)語言特點(diǎn),編程效率極高[5]。
軟件主要采用Python語言的Tkinter庫來創(chuàng)建圖形用戶界面(Graphical User Interface,GUI ),使用戶與程序進(jìn)行交互。使用關(guān)鍵詞def定義了多個函數(shù),例如locate、real_root和calculate_force等,可以實現(xiàn)特定功能并計算凈舉力,使用try-except語句來捕獲用戶可能輸入的無效數(shù)據(jù),避免程序崩潰,利用MessageBox函數(shù)顯示錯誤提示信息,使用Frame控件組織和布局不同的GUI元素,例如圖像、標(biāo)簽、輸入框、按鈕和輸出框,使界面更清晰、美觀,利用command參數(shù)將按鈕與特定函數(shù)綁定,當(dāng)用戶點(diǎn)擊按鈕時觸發(fā)相應(yīng)的功能,使字符串格式化:使用f字符串格式化來將計算結(jié)果顯示在輸出框中,使結(jié)果更易于閱讀和理解,代碼中涉及數(shù)學(xué)計算,例如開方、乘方和列表操作等,對凈舉力進(jìn)行精確計算。
1.3.1 軟件設(shè)計架構(gòu)
探空氣球凈舉力計算器軟件系統(tǒng)分為2個模塊,用戶界面模塊由Tkinter庫創(chuàng)建,其作用是與用戶交互,接收用戶輸入數(shù)據(jù),例如氣球質(zhì)量、氣球體積和氣球溫度,顯示計算結(jié)果,即凈舉力;應(yīng)用邏輯模塊的核心功能包括計算凈舉力以及定義calculate_net_lift函數(shù),該函數(shù)接收用戶輸入的參數(shù)進(jìn)行計算,返回得到凈舉力計算結(jié)果,計算器軟件功能結(jié)構(gòu)設(shè)計如圖1所示。
1.3.2 程序核心計算部分的設(shè)計
用戶須在主界面輸入當(dāng)探空氣球施放時需要的升速和實時溫度、實時氣壓等數(shù)據(jù),軟件根據(jù)凈舉力公式使用calculate_net_lift()函數(shù)來進(jìn)行計算,主要代碼如下。
B = float(entry_B.get())
W0 = 0.8531 * math.pow(float(entry_P.get()) / (float(entry_T.get()) + 273.15), 1/6) * float(entry_W.get())
A_seq = [140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240]
b1_seq = [82.0, 82.5, 83.6, 84.9, 87.0, 89.6, 92.4, 94.3, 95.5, 96.0, 96.2]
B_seq = []
flag = 0
for i in range(11):
B_seq.append(math.pow(b1_seq[i]/W0, 3) * math.pow(A_seq[i], 3/2) - A_seq[i])
for i in range(11):
if B == B_seq[i]:
flag = 1
output_var.set(f\"凈舉力A(g):{A_seq[i]:.1f}g\")
if flag == 0:
location = locate(B_seq, B)
if location == 0:
output_var.set(f\"凈舉力A(g):{real_root(W0, B, b=82.0):.1f}g\")
elif location == 1:
output_var.set(f\"凈舉力A(g):{real_root(W0, B, b=96.2):.1f}g\")
else:
left, right = location
A_seq_new = []
for x in range(int((A_seq[right] - A_seq[left]) * 10) + 1):
A_seq_new.append(A_seq[left] + x * 0.1)
b1_seq_new = []
for x in range(101):
b1_seq_new.append(b1_seq[left] + x * ((b1_seq[right] - b1_seq[left]) / 100))
B_seq_new = []
for i in range(101):
B_seq_new.append(math.pow(b1_seq_new[i] / W0, 3) * math.pow(A_seq_new[i], 3 / 2) - A_seq_new[i])
error_seq = []
for i in range(101):
error_seq.append(abs(B_seq_new[i] - B))
min_index = 0
for i, value in enumerate(error_seq):
if value lt; error_seq[min_index]:
min_index = i
output_var.set(f\"凈舉力A(g):{A_seq_new[min_index]:.1f}g\")
2 探空氣球凈舉力計算器軟件應(yīng)用
以貴陽市高空觀測站為例,GTS1型探空儀在探空氣球施放前取3個附重物,平均值為520 g,探空氣球采用乳膠氣球,平均質(zhì)量為780 g,貴陽高空觀測站在28.0 ℃,氣壓為850 hPa,探空氣球升速為350 m/min的情況下,凈舉力為2 408 g。
以2023年5月19日19:00觀測為例。觀測時溫度17.9 ℃,氣壓873.4 hPa,探空氣球以及附重物質(zhì)量為770 g,設(shè)定初始升速為300 m/min,利用軟件計算凈舉力為2 007.5 g,觀測員調(diào)配砝碼對探空氣球進(jìn)行配重,最終19:00觀測的探空終止高度為35 815 m,與當(dāng)沒有使用軟件計算凈舉力時相比,探空終止高度有所提升。
使用不同凈舉力測算方法探空終止高度對比如圖2所示,由圖2可知,2023年5月開始使用軟件計算凈舉力后,與去年同期觀測員根據(jù)經(jīng)驗判斷的方式相比,使用軟件計算合適的凈舉力來調(diào)配探空氣球充氣量,平均探空終止高度提升約3 000 m。
3 結(jié)語
在探空氣球的整個升空過程中,氣球所受凈舉力是提高探空氣球飛升高度、高空探測精度和高空氣象數(shù)據(jù)可靠性最重要的影響因素,凈舉力使探空氣球在初始獲得合適的升速,在整個探空業(yè)務(wù)過程中,上升速度和上升高度比較理想,保證高空探測數(shù)據(jù)真實、可靠[6],在日常工作中,需要根據(jù)臺站實時天氣情況快速、精確地控制凈舉力大小,取得高空氣象探測資料。本研究能提高探空氣球凈舉力的計算時效和計算精度,使觀測員合理地使用凈舉力,在滿足規(guī)范要求的前提下更好地完成探空業(yè)務(wù)。
參考文獻(xiàn)
[1]楊小民,彭勃,楊忠全,等.淺談凈舉力對探空氣球升速及施放高度的影響[J].河南科技,2014(14):180-182.
[2]奉超.合理施加凈舉力,提高探測高度[J].廣西氣象,1990(4):61-62.
[3]謝國梁.測風(fēng)氣球凈舉力的計算和誤差分析[J].氣象學(xué)報,1988(1):120-126.
[4]彭嘉怡,袁楠楠,尹鯤龍,等.大學(xué)生閑置物品交易互助微信小程序設(shè)計與開發(fā)[J].中國新技術(shù)新產(chǎn)品,2022(18):37-40.
[5]游穎,程俊.基于Python語言的教學(xué)數(shù)據(jù)處理平臺設(shè)計[J].中國新技術(shù)新產(chǎn)品,2023(17):26-29.
[6]閔昌紅,吳興洋,翁玲,等.凈舉力對探空高度的影響分析——以貴陽探空站為例[J].中低緯山地氣象,2018,42(5):62-66.