国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Qt的氣象熱力學(xué)圖解的繪制

2018-07-05 02:42:32聶于棚仵建勛楊道勇西昌衛(wèi)星發(fā)射中心四川西昌65000洛陽電子裝備試驗中心河南洛陽47003
計算機應(yīng)用與軟件 2018年6期
關(guān)鍵詞:圖解熱力學(xué)對流

施 蕭 聶于棚 仵建勛 楊道勇 李 剛(西昌衛(wèi)星發(fā)射中心 四川 西昌 65000)(洛陽電子裝備試驗中心 河南 洛陽 47003)

0 引 言

隨著網(wǎng)絡(luò)安全上升成國家戰(zhàn)略[1],基于國產(chǎn)操作系統(tǒng)(比如中標(biāo)麒麟[2]等)的自主可控變得尤為迫切,而Qt則以其良好的跨平臺性能成為自主可控趨勢下的優(yōu)先選擇。Qt是一個支持跨平臺C++應(yīng)用程序的開發(fā)框架,廣泛應(yīng)用于圖形界面開發(fā)。Qt不僅擁有完善的C++圖形庫,還集成了數(shù)據(jù)庫、OpenGL、多媒體、網(wǎng)絡(luò)、XML、WebKit等,其核心庫也加入了進(jìn)程、線程模塊。Qt能夠在Windows、Linux、OS X、Android平臺上進(jìn)行使用,極大地方便了不同操作系統(tǒng)下程序共享與移植。

天氣預(yù)報業(yè)務(wù)中,包括MICAPS[3](氣象信息綜合分析處理系統(tǒng))在內(nèi)的大部分軟件在跨平臺方面都具有局限性,因此可以選擇Qt作為自主可控趨勢下氣象行業(yè)中的開發(fā)工具。熱力學(xué)圖解是氣象中研究局地大氣垂直結(jié)構(gòu)及特性所引入的圖解,能夠幫助預(yù)報員更加準(zhǔn)確地判斷未來幾小時以內(nèi)的天氣潛勢。MICAPS中的熱力學(xué)圖解模塊包括站點的各種層結(jié)量、T-lnP圖、V3-θ圖等,功能比較完善。本文將在中標(biāo)麒麟操作系統(tǒng)上,基于Qt實現(xiàn)氣象熱力學(xué)圖解的繪制,并仿照MICAPS進(jìn)行圖解的完善。

1 熱力學(xué)圖解界面設(shè)計

氣象熱力學(xué)圖解的數(shù)據(jù)源是大氣參數(shù)的計算,其繪制的整體思路是在面向?qū)ο蟮幕A(chǔ)上,相繼實現(xiàn)地圖及站點窗口、T-lnP窗口、V3-θ窗口、對流參數(shù)窗口、層結(jié)量窗口以后,通過類的提升、窗口布局、信號與槽等方式進(jìn)行繪制與交互?;玖鞒倘鐖D1所示。

圖1 熱力學(xué)圖解實現(xiàn)的基本技術(shù)流程

1.1 大氣參數(shù)的計算

熱力學(xué)圖解中用到的大氣參數(shù)涉及到溫度、露點、各層風(fēng)場、位溫、水汽壓、假相當(dāng)位溫、干絕熱線、假絕熱線、抬升凝結(jié)高度、自由對流高度、平衡高度、對流抑制能、對流有效位能的計算[5-6]。此外,圖解還將顯示常用的其他物理參數(shù)。這些參數(shù)可以分為層結(jié)參數(shù)和對流參數(shù)。以上涉及到的參數(shù)如表1所示。

表1 熱力學(xué)圖解中涉及到的大氣參數(shù)

氣象探空會得到溫、壓、濕、風(fēng)等基本量,通過這些基本量可以計算得到其他層結(jié)量和物理參數(shù)。計算程序選用氣象中常用的Fortran語言。中標(biāo)麒麟中的Fortran和C系列的編譯器都屬于GNU,所以編譯運行比較方便。目前,要想共同實現(xiàn)擅長科學(xué)計算的Fortran和Qt顯示界面的開發(fā),混合編程是一種不錯的選擇[7-8]。這里通過Qt的QProcess類調(diào)用Fortran的可執(zhí)行文件。在調(diào)用之前需要將Fortran程序設(shè)置好命令行參數(shù)(時間變量),便于實現(xiàn)業(yè)務(wù)化運行。

其中在Fortran程序內(nèi)使用函數(shù)get_command_argument進(jìn)行命令行參數(shù)的引入,隨后進(jìn)行編譯生成可執(zhí)行文件。

call get_command_argument(1,time)

而Qt在定義QProcess變量后,使用start()函數(shù)調(diào)用Fortran的可執(zhí)行文件。

arguments<

QProcess.start(tlog_exe,arguments)

1.2 顯示界面設(shè)計

圖2所示的顯示界面仿照MICAPS的熱力學(xué)圖解的主體,由于探空站點的分析多集中在中國區(qū)域,因此拋棄了MICAPS中的雙窗口顯示,改成單窗口顯示,將地圖部件放在界面右下,對流參數(shù)同MICAPS放在右上,而T-lnP、V3-θ、站點層結(jié)資料放在左邊。對流參數(shù)分為6類,每一類都存放在一個QTableWidget中,6類統(tǒng)一存放在QToolbox容器控件類中。T-lnP、V3-θ、站點層結(jié)資料利用QTabWidget容器控件類進(jìn)行存放。

圖2 熱力學(xué)圖解的顯示界面設(shè)計

1.3 地圖的繪制

氣象業(yè)務(wù)中,地圖的投影常見的有墨卡托、蘭伯特、極射赤面三種,墨卡托最簡單,且適用于中低緯度,因此采用墨卡托投影進(jìn)行地圖繪制。地圖的繪制依據(jù)Qt中畫多邊形的方式,即將中國國界經(jīng)緯度點(島嶼邊界經(jīng)緯點)用QPainterPath進(jìn)行連接,然后用QPainter的drawPath()函數(shù)繪制多邊形,生成地圖。兩個類在繪制之前,要將經(jīng)緯度點依據(jù)墨卡托投影進(jìn)行轉(zhuǎn)化。由于每個探空時次收集的探空站點數(shù)目是不定的,這里對MICAPS第5類探空數(shù)據(jù)進(jìn)行處理,獲取該時次探測站點,經(jīng)過墨卡托投影繪制在地圖上(圖3)。地圖的繪制還有一個作用就是數(shù)據(jù)的通信,利用QMap容器類將站點及該站點對應(yīng)的層結(jié)量、對流參數(shù)等寫入序列,利用QWidget的鼠標(biāo)點擊或者移動事件進(jìn)行響應(yīng),得到一組關(guān)于某站點的層結(jié)和對流參數(shù)序列,并把該數(shù)據(jù)序列提供給T-lnP、V3-θ、對流參數(shù)和層結(jié)量顯示部件。

QMap>stat_tance;

//各站點及對應(yīng)的探測——序列

QMap>stat_cengjie;

//各站點及對應(yīng)的層結(jié)量——序列

QMap>stat_duiliu;

//各站點及對應(yīng)的對流參數(shù)——序列

QVector stat_tc;

//某一站點探測序列

QVector stat_cj;

//某一站點層結(jié)序列

QVector stat_dl;

//某一站點對流參數(shù)

2 熱力學(xué)圖解的實現(xiàn)

熱力學(xué)圖解用來顯示某一站點上空大氣的垂直結(jié)構(gòu),通過QWidget上的鼠標(biāo)點擊或移動,可以獲取響應(yīng)鼠標(biāo)事件的站點大氣參數(shù),并將其顯示在圖解上,其核心構(gòu)件是T-lnP、V3-θ圖。

2.1 T-lnP、V3-θ窗口部件的實現(xiàn)

T-lnP圖是分析大氣層結(jié)穩(wěn)定度的基本工具,常用于分析對流性天氣;V3-θ圖常用來判斷大氣滾流對天氣演變的影響來預(yù)報天氣轉(zhuǎn)折性變化。T-lnP、V3-θ圖的繪制有共同處,都是提前設(shè)置好橫縱坐標(biāo),橫坐標(biāo)單位都是℃,縱坐標(biāo)單位都是hPa,此外縱坐標(biāo)要進(jìn)行對數(shù)壓力處理,即取氣壓的對數(shù)。

T-lnP部件需要繪制4條曲線,分別是氣溫的探空層結(jié)、露點的探空層結(jié)、氣塊的狀態(tài)曲線(干絕熱到假絕熱)、各層風(fēng)矢量(依附氣溫層結(jié)線),另外T-lnP圖還要進(jìn)行填色,區(qū)分對流有效位能CAPE和對流抑制能CIN。V3-θ也要繪制4條曲線,分別是位溫層結(jié)線、假相當(dāng)位溫層結(jié)線、飽和假相當(dāng)位溫層結(jié)線、各層風(fēng)矢量(依附位溫層結(jié)線)。

各種層結(jié)線的繪制在前述層結(jié)量計算的基礎(chǔ)上,利用QPainterPath進(jìn)行繪制。風(fēng)矢量需要定義一個繪制函數(shù),該函數(shù)包括風(fēng)向桿、鳳羽的繪制,先畫風(fēng)向桿確定風(fēng)向,然后根據(jù)風(fēng)速繪制鳳羽,其中“一長條”表示4 m/s、“半條”表示2 m/s、一個“空三角”表示20 m/s、一個“實三角”表示50 m/s。

繪制的難點在于T-lnP中氣塊的層結(jié)以及CAPE和CIN的填色。T-lnP圖包含了干絕熱線和假絕熱線。干絕熱線是氣塊在垂直方向上按照大氣干絕熱溫度遞減率進(jìn)行遞減形成的一條直線,原因在于干絕熱遞減率是確定值。而假絕熱遞減率不定,由于氣塊假絕熱上升時有一個守恒量,即假相當(dāng)位溫。因此,可以利用假相當(dāng)位溫進(jìn)行假絕熱線的繪制,具體就是對假絕熱線逐段計算,一般是取逐10 hPa。在氣溫層結(jié)和氣塊曲線雙線之間的填色時,還需要對干絕熱線和氣溫層結(jié)線也進(jìn)行相對應(yīng)的逐10 hPa的插值計算,這樣雙線廓線的層數(shù)是一致的,在連續(xù)兩個點進(jìn)行氣溫的判斷,確定是正值(CAPE)還是負(fù)值(CIN),然后填色。圖4是T-lnP圖的繪制流程。

圖4 T-lnP和V3-θ的繪制流程

以下是干絕熱線的算法。

//干絕熱線

ta=theta00*pow((P_L/1000.),RD/CPD)-273.15;qk_tp10<

P_L=P_L-10

假絕熱中,假相當(dāng)位溫是不變的。

//假絕熱線

thse1=cal_thse(P_L,t1);

//假相當(dāng)位溫

thse2=cal_thse(P_L,t1-0.1);

t2=t1-(thse1-thse)/(thse1-thse2)*0.1;

if(t2<0&&KZERO==1)

{

thse=cal_thse(P_L,t2);

KZERO=0;

}

氣溫層結(jié)也需要進(jìn)行對數(shù)壓力插值,以實現(xiàn)逐10 hPa的氣溫序列。

//氣溫層結(jié)插值

te=t_L+(t_L-t_T)/log(p_L/p_T)*log(pbot/p_L)

2.2 熱力學(xué)圖解的實現(xiàn)及應(yīng)用

在關(guān)鍵的T-lnP、V3-θ部件實現(xiàn)以后,再加上對流參數(shù)的表格顯示,再結(jié)合前述額地圖部件,熱力學(xué)圖解中的子部件繪制工作就完成了。將各子部件引入顯示框架,利用信號槽機制實現(xiàn)消息的傳遞,熱力學(xué)圖解繪制過程結(jié)束。

選擇2017年10月7日的天氣個例進(jìn)行實際應(yīng)用,10月7日海口市在午后出現(xiàn)強對流天氣,伴隨了雷暴和降水。圖5主要顯示了T-lnP圖、地圖及對流參數(shù)。對應(yīng)T-lnP圖可以發(fā)現(xiàn),??谡驹谠缟?時,CAPE值遠(yuǎn)遠(yuǎn)大于CIN值,說明海口上空不穩(wěn)定能量較大;而且在500~400 hPa和200~150 hPa有明顯的風(fēng)場切變,不穩(wěn)定能量加上垂直風(fēng)場切變,有利于??谏峡諒妼α鞯陌l(fā)生發(fā)展,在特定天氣系統(tǒng)的觸發(fā)下,雷暴天氣就發(fā)生了。

圖5 熱力學(xué)圖解的整體情況

圖6是MICAPS的T-lnP圖,可以發(fā)現(xiàn)這里通過Qt繪制的圖例與MICAPS圖例是吻合的,說明算法是一致且可靠的,存在的不足是在部分細(xì)節(jié)上還有待提高,比如圖形需要美化、特性層需要注明等。

圖6 MICAPS中的T-lnP圖

3 結(jié) 語

本文在中標(biāo)麒麟操作系統(tǒng)上,基于Qt(C++)和Fortran,結(jié)合MICAPS的熱力學(xué)圖解顯示界面,實現(xiàn)了國產(chǎn)操作系統(tǒng)上熱力學(xué)圖解的繪制。繪制得到的圖解包含了T-lnP、V3-θ、以及25種層結(jié)量和33種對流參數(shù)。該熱力學(xué)圖解可以在不同操作系統(tǒng)上進(jìn)行顯示和交互,既是國產(chǎn)操作平臺下業(yè)務(wù)軟件開發(fā)的一種嘗試,也豐富了不同平臺下氣象熱力學(xué)圖解的開發(fā)顯示。

[1] 國家網(wǎng)絡(luò)空間安全戰(zhàn)略[OL].2016.http://www.cac.gov.cn/2016-12/27/c_1120195926.htm.

[2] 中標(biāo)軟件介紹[OL].2017.http://www.cs2c.com.cn/index.php?id=106.

[3] 李月安,曹莉,高嵩,等.MICAPS預(yù)報業(yè)務(wù)平臺現(xiàn)狀與發(fā)展[J].氣象,2010,36(7):50- 55.

[4] 朱文劍,鄭永光.基于NCL的斜溫T-logP圖的改進(jìn)及其應(yīng)用前景[J].天氣預(yù)報,2013,5(1):19- 23.

[5] 陶祖鈺.基礎(chǔ)理論與預(yù)報實踐[J].氣象,2011,37(2):129- 135.

[6] 陳禎烈,周莉蓉,郝利萍.V-3θ圖在區(qū)域暴雨預(yù)報中的應(yīng)用[J].氣象,2003,29(1):20- 22.

[7] 蒲軍平,劉鵬.VB界面設(shè)計與FORTRAN數(shù)值計算功能的組合應(yīng)用[J].計算機應(yīng)用與軟件,2010,27(12):148- 150.

[8] 龐曉瓊,陳立潮,陳文俊.基于Web服務(wù)的氣象信息發(fā)布服務(wù)系統(tǒng)[J].計算機應(yīng)用與軟件,2007,24(9):88- 90.

猜你喜歡
圖解熱力學(xué)對流
齊口裂腹魚集群行為對流態(tài)的響應(yīng)
圖解十八屆六中全會
群眾(2016年11期)2016-11-28 10:45:58
Fe-C-Mn-Si-Cr的馬氏體開始轉(zhuǎn)變點的熱力學(xué)計算
上海金屬(2016年1期)2016-11-23 05:17:24
活塞的靜力學(xué)與熱力學(xué)仿真分析
電子制作(2016年19期)2016-08-24 07:49:54
基于ANSYS的自然對流換熱系數(shù)計算方法研究
圖解天下
新財富(2015年8期)2015-11-20 10:34:52
二元驅(qū)油水界面Marangoni對流啟動殘余油機理
一類非奇異黑洞的熱力學(xué)穩(wěn)定性
基于對流項的不同非線性差分格式的穩(wěn)定性
BMW公司3缸直接噴射汽油機的熱力學(xué)
尚志市| 永川市| 鹤岗市| 云安县| 金平| 沿河| 临洮县| 常德市| 南充市| 渝中区| 大竹县| 莱阳市| 大兴区| 邻水| 安泽县| 海晏县| 怀仁县| 饶阳县| 兴安县| 赤水市| 蛟河市| 固阳县| 日照市| 德钦县| 镇康县| 江孜县| 阳春市| 石台县| 石门县| 阜宁县| 台东县| 随州市| 五原县| 宝鸡市| 东至县| 鹤庆县| 肇东市| 江口县| 固原市| 娄烦县| 阿鲁科尔沁旗|