999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt的氣象熱力學圖解的繪制

2018-07-05 02:42:32聶于棚仵建勛楊道勇西昌衛星發射中心四川西昌65000洛陽電子裝備試驗中心河南洛陽47003
計算機應用與軟件 2018年6期

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

0 引 言

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

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

1 熱力學圖解界面設計

氣象熱力學圖解的數據源是大氣參數的計算,其繪制的整體思路是在面向對象的基礎上,相繼實現地圖及站點窗口、T-lnP窗口、V3-θ窗口、對流參數窗口、層結量窗口以后,通過類的提升、窗口布局、信號與槽等方式進行繪制與交互。基本流程如圖1所示。

圖1 熱力學圖解實現的基本技術流程

1.1 大氣參數的計算

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

表1 熱力學圖解中涉及到的大氣參數

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

其中在Fortran程序內使用函數get_command_argument進行命令行參數的引入,隨后進行編譯生成可執行文件。

call get_command_argument(1,time)

而Qt在定義QProcess變量后,使用start()函數調用Fortran的可執行文件。

arguments<

QProcess.start(tlog_exe,arguments)

1.2 顯示界面設計

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

圖2 熱力學圖解的顯示界面設計

1.3 地圖的繪制

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

QMap>stat_tance;

//各站點及對應的探測——序列

QMap>stat_cengjie;

//各站點及對應的層結量——序列

QMap>stat_duiliu;

//各站點及對應的對流參數——序列

QVector stat_tc;

//某一站點探測序列

QVector stat_cj;

//某一站點層結序列

QVector stat_dl;

//某一站點對流參數

2 熱力學圖解的實現

熱力學圖解用來顯示某一站點上空大氣的垂直結構,通過QWidget上的鼠標點擊或移動,可以獲取響應鼠標事件的站點大氣參數,并將其顯示在圖解上,其核心構件是T-lnP、V3-θ圖。

2.1 T-lnP、V3-θ窗口部件的實現

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

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

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

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

假絕熱中,假相當位溫是不變的。

//假絕熱線

thse1=cal_thse(P_L,t1);

//假相當位溫

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;

}

氣溫層結也需要進行對數壓力插值,以實現逐10 hPa的氣溫序列。

//氣溫層結插值

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

2.2 熱力學圖解的實現及應用

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

選擇2017年10月7日的天氣個例進行實際應用,10月7日海口市在午后出現強對流天氣,伴隨了雷暴和降水。圖5主要顯示了T-lnP圖、地圖及對流參數。對應T-lnP圖可以發現,海口站在早上8時,CAPE值遠遠大于CIN值,說明海口上空不穩定能量較大;而且在500~400 hPa和200~150 hPa有明顯的風場切變,不穩定能量加上垂直風場切變,有利于海口上空強對流的發生發展,在特定天氣系統的觸發下,雷暴天氣就發生了。

圖5 熱力學圖解的整體情況

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

圖6 MICAPS中的T-lnP圖

3 結 語

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

[1] 國家網絡空間安全戰略[OL].2016.http://www.cac.gov.cn/2016-12/27/c_1120195926.htm.

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

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

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

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

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

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

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

主站蜘蛛池模板: 久久综合结合久久狠狠狠97色| 欧美亚洲国产精品第一页| 中文字幕天无码久久精品视频免费 | 国产在线视频二区| 国产欧美日韩资源在线观看| 黄色网站在线观看无码| 欧美视频在线播放观看免费福利资源| 中文字幕永久在线看| 国产全黄a一级毛片| 欧美精品不卡| 国内精品手机在线观看视频| 99久久这里只精品麻豆| 国内精品久久久久久久久久影视| 欧美第九页| 国产成人无码久久久久毛片| 国产精品亚洲精品爽爽| 日韩无码白| 日韩在线播放欧美字幕| 亚洲综合第一区| 伊人91在线| 99精品免费欧美成人小视频| 亚洲一区二区在线无码| 国产精品自在线天天看片| 久久人午夜亚洲精品无码区| 69视频国产| 91香蕉视频下载网站| 国产传媒一区二区三区四区五区| 久久精品亚洲专区| 黄色免费在线网址| 亚洲第一成人在线| 99这里只有精品免费视频| 国产精品视频猛进猛出| 亚洲三级视频在线观看| 成人自拍视频在线观看| 97久久精品人人| 国内老司机精品视频在线播出| 精品五夜婷香蕉国产线看观看| 色妞www精品视频一级下载| 亚洲无限乱码一二三四区| 国产精品极品美女自在线网站| 亚洲色图欧美视频| 亚洲天堂在线免费| 午夜福利网址| 欧美综合在线观看| 91丨九色丨首页在线播放| 2020最新国产精品视频| 又猛又黄又爽无遮挡的视频网站| 亚洲精品自拍区在线观看| 欧美成人手机在线观看网址| 四虎永久免费地址在线网站 | 视频一区亚洲| 99在线免费播放| 91av国产在线| 永久免费无码成人网站| 999福利激情视频 | 国产精品制服| 一级毛片a女人刺激视频免费| 亚洲第一黄片大全| 99精品在线看| 日本一区二区三区精品AⅤ| 毛片免费高清免费| 日本午夜影院| 亚洲av综合网| 欧美日本在线| 欧美午夜理伦三级在线观看| 亚洲国产精品无码久久一线| 丁香婷婷久久| 九色综合伊人久久富二代| 日韩在线第三页| 欧美性久久久久| 欧美97欧美综合色伦图| 网友自拍视频精品区| 亚洲天堂免费| 欧美激情视频一区| 午夜国产精品视频| 亚洲最大看欧美片网站地址| 国产91视频免费观看| 九九视频免费在线观看| 亚洲综合极品香蕉久久网| 久久久波多野结衣av一区二区| 青青操国产视频| 成人福利在线免费观看|