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

J a v a、P y t h o n和Ma t l a b混合編程及其在氣象中的應(yīng)用

2017-09-03 10:57:36北京信息科技大學(xué)陳宇罡汪永青焦瑞莉
電子世界 2017年16期
關(guān)鍵詞:數(shù)據(jù)處理可視化語言

北京信息科技大學(xué) 陳宇罡 汪永青 李 琳 焦瑞莉

中國科學(xué)院大氣物理研究所 王立志

J a v a、P y t h o n和Ma t l a b混合編程及其在氣象中的應(yīng)用

北京信息科技大學(xué) 陳宇罡 汪永青 李 琳 焦瑞莉

中國科學(xué)院大氣物理研究所 王立志

本文對于Java、Python和Matlab混合編程方法進行一定的探討,并結(jié)合氣象數(shù)據(jù)的分析處理的實際工作,通過重用原有的Matlab、Python的代碼,在數(shù)據(jù)倉庫軟件RAMADDA的基礎(chǔ)上,快速實現(xiàn)氣象數(shù)據(jù)的統(tǒng)計、分析、發(fā)布、可視化,并為未來氣象數(shù)據(jù)基于WEB的在線分析、可視化集成提供借鑒。

Python;Matlab;混合編程;代碼重用;數(shù)據(jù)分析集成

Python是一種面向?qū)ο蟆⒔忉屝汀討B(tài)數(shù)據(jù)類型的優(yōu)秀高級通用程序設(shè)計語言,相比于其他語言,Python可以更便捷的實現(xiàn)原型開發(fā),并能夠和其他語言諸如C++、Java等很好的結(jié)合。Matlab是由mathworks公司開發(fā)的用于數(shù)值計算、科學(xué)仿真和數(shù)據(jù)可視化的高級計算語言和交互式環(huán)境,因其強大的計算和繪圖功能在氣象領(lǐng)域得到了廣泛的應(yīng)用。UCAR提供的開源內(nèi)容與存儲管理系統(tǒng)RAMADDA(Repository for Archiving, Managing and Accessing Diverse DAta)以Java為核心語言,通過IDV(Integrated Data Viewer)嵌入實現(xiàn)三維可視化,在地球科學(xué)領(lǐng)域得到廣泛應(yīng)用;其可以覆蓋氣象業(yè)務(wù)的大多數(shù)數(shù)據(jù)格式,以數(shù)據(jù)庫技術(shù)、文件服務(wù)、IDV、Google Map API等技術(shù)為基礎(chǔ)完成氣象數(shù)據(jù)的內(nèi)容管理。

因為Python和Matlab在氣象數(shù)據(jù)處理中的廣泛應(yīng)用,大量的基于Python和Matlab的代碼被開發(fā)并被廣泛使用。本文以基于Java語言的RAMADDA系統(tǒng),通過Java、Python和Matlab混合編程技術(shù),將已有的Python和Matlab數(shù)據(jù)處理分析代碼復(fù)用,并通過RAMADDA平臺實現(xiàn)數(shù)據(jù)的快速存儲、發(fā)布、分析處理及可視化。

1.Java、Python和Matlab混合編程的實現(xiàn)

1.1 Java和Matlab的混合編程,實現(xiàn)Matlab函數(shù)的重用

通過在Matlab中運行deploytool,將.m函數(shù)通過庫編譯器(Library Compiler)打包成Java包。同時將生成的jar包和Matlab安裝目錄下的javabuilder.jar一同添加到Java的庫路徑中,就可以實現(xiàn)Java對于Matlab函數(shù)的調(diào)用。

圖1 deploytool工具箱

選擇Java Package類型,并添加需要打包的.m的Matlab函數(shù)文件,按設(shè)計需求修改相應(yīng)的包名、生成的類名稱和類方法,最后執(zhí)行Package動作打包完成,操作如圖2所示。

圖2 選擇類型和.m文件

1.2 使用Jython實現(xiàn)Java和Python及Matlab的混合編程

通過Java和Python的混合調(diào)用有三種方法:

1)通過Java編寫的類中直接執(zhí)行Python語句即可,代碼如下:

PythonInterpreter interpreter = new PythonInterperter();

Interpreter.exec( “day =(‘Mon’, ‘Tue’, ‘Wed’, ‘Thu’, ‘Fri’,’Sat’, ‘Sun’ ); );

Interpreter.exec( “print( days[1] );” );

2)在Java中調(diào)用已經(jīng)編寫好的Python腳本文件,代碼如下:

Python文件如下(假設(shè)文件名為adder.py):

def adder( a, b ):

return a + b

Java文件如下:

PythonInterpreter interpreter = new PythonInterpreter();

Interpreter.execf i le( “adder.py” );

PyFunction func = (PyFunction)interpreter.get( “adder”, PyFunction.class );

Int a = 2017, b = 2;

PyObject pyobj = func.__call__( new PyInteger( a ), new Py-Integer( b ));

System.out.println( a + “ + “ + b + “ = “ + pyobj.to-String());

3)Java編寫的類中直接執(zhí)行Python腳本文件

PythonInterpreter interpreter = new PythonInterpreter();

Interpreter.execf i le( “adder.py” );

本文中采用第二種方法,通過編寫Python實現(xiàn)了關(guān)于顯著性檢驗的腳本文件。通過RAMADDA中的Java調(diào)用,實現(xiàn)將封裝的Matlab的函數(shù)實現(xiàn)的文件數(shù)據(jù)處理部分和Python實現(xiàn)的分析,統(tǒng)一集成到RAMADDA系統(tǒng)中,實現(xiàn)系統(tǒng)對于氣象數(shù)據(jù)的處理分析以及圖形可視化輸出的功能。

2.氣象數(shù)據(jù)的處理分析

2.1 數(shù)據(jù)資料

本文中使用數(shù)據(jù)為美國國家環(huán)境預(yù)測中心(NCEP)再分析資料計劃(1979-現(xiàn)在)的再分析資料集。下載了從1979-2016共38年的逐6小時全球格點氣溫資料。

2.2 氣象資料的處理

針對此資料集,基于Matlab的處理函數(shù),完成數(shù)據(jù)資料處理,包括不同時空區(qū)間的數(shù)據(jù)提取、不同空間的逐天/逐旬/逐月平均等等。

Matlab的代碼如下:

[MonthTempData.MonthMean] = BulkReadFunc( fi les, lon, lat, level, month )

function [MonthAirData,MonthMean] = BulkReadFunc(datadir,lon,lat,level,month)

fi lelist=dir([datadir,’*.nc’]); %指定批量數(shù)據(jù)的類型

k=length(f i lelist); %多少個nc文件

for s=1:k

fi leName=[datadir,f i lelist(s).name];

[MonthAirData{s},MonthMean(s)] = MonthAirFunc(f i leName,lon,lat,level,month);

%輸入年份nc文件,經(jīng)緯度,月份,時間,返回值為air溫度數(shù)組和月平均值end end

2.3 顯著性檢驗等數(shù)據(jù)分析

針對2.2提取的數(shù)據(jù),進行數(shù)據(jù)處理,Python處理代碼如下(部分代碼示例):

圖3 python部分代碼示例

2.4 處理分析結(jié)果

通過上述數(shù)據(jù)處理和分析得到的結(jié)果,以RAMADDA管理系統(tǒng)進行數(shù)據(jù)發(fā)布、結(jié)果展示。本文作為示例僅僅給出了歷年2月份的1000百帕的溫度分析,區(qū)域為北京和華北。

圖4 北京及華北2月份1000百帕氣溫距平圖

從圖4可見,北京和華北2月距平溫度變化高度相關(guān),30年的前十年和后十年均為變暖的趨勢,尤其是從2012年開始,由冷到暖的趨勢明顯。通過簡單的分析曲線,為氣象工作者提供簡便的數(shù)據(jù)處理和分析工具。

3.結(jié)語

因為Matlab在氣象領(lǐng)域的廣泛應(yīng)用,使用者手中存在了大量編寫完成的函數(shù);Python以其在字符串處理和繪圖功能上的優(yōu)勢,使得越來越多的氣象科技工作者將其作為主要的數(shù)據(jù)處理分析工具;Java語言是目前WEB應(yīng)用開發(fā)的主流語言,可應(yīng)用于多種平臺。本文通過實際應(yīng)用,給出了簡單快捷的Java、Python和Matlab的混合編程解決方案:以Java實現(xiàn)的RAMADDA內(nèi)容管理系統(tǒng)為基礎(chǔ),通過混合編程技術(shù),在充分重用原有的Matlab函數(shù)庫的基礎(chǔ)上通過Python實現(xiàn)數(shù)據(jù)的分析處理,利用RAMADDA框架實現(xiàn)結(jié)果的可視化。

[1]python home[EB/OL]. (2017-05-01). https://www.python.org/.

[2]MATLAB Home(Analyze and design your world-Get the full power of MATLAB)[EB/OL]. (2017-05-01).https://cn.mathworks. com/products/matlab-home.html.

[3]Unidata Support for RAMADDA[EB/OL].(2017-05-10). https:// wiki.ucar.edu/display/unidata/Unidata+Support+for+RAMADDA.

[4]Integrated Data Viewer(IDV)[EB/OL]. (2012-11-15). http:// www.unidata.ucar.edu/software/idv.

[5]張慧,史奎橋,楊揚,等.應(yīng)用Matlab 自動繪制氣象等值線圖[J].廣東氣象,2016,38(4):74-77.

[6]何險峰,馬力,羅永康.分布式氣象內(nèi)容管理系統(tǒng)設(shè)計[J].氣象科技,2013,41(6):1036-1042.

[7]王寧,汪飛星.基于Python開發(fā)氣象服務(wù)器運行系統(tǒng)界面[J].微機發(fā)展,2003,13(7):46-47.

北京信息科技大學(xué)2016年度‘實培計劃’項目資助。

王立志(1971-),男,碩士,高級工程師,主要研究方向數(shù)值模式開發(fā)、高性能計算。

猜你喜歡
數(shù)據(jù)處理可視化語言
基于CiteSpace的足三里穴研究可視化分析
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補與極大似然估計法*
基于Power BI的油田注水運行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
基于CGAL和OpenGL的海底地形三維可視化
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
讓語言描寫搖曳多姿
累積動態(tài)分析下的同聲傳譯語言壓縮
基于希爾伯特- 黃變換的去噪法在外測數(shù)據(jù)處理中的應(yīng)用
主站蜘蛛池模板: 国产一级毛片网站| 国产成人综合久久精品尤物| 91精品日韩人妻无码久久| 久久久久亚洲精品成人网| 无码中字出轨中文人妻中文中| 69免费在线视频| 亚洲无码电影| 国产不卡一级毛片视频| 日韩国产黄色网站| 亚洲黄色激情网站| 1024你懂的国产精品| 少妇精品在线| 欧美日本视频在线观看| 国产精品亚洲综合久久小说| 性视频一区| 国产欧美中文字幕| 国产网站在线看| 国产精品亚洲精品爽爽| 福利在线不卡| 欧美日韩在线亚洲国产人| 国产精品免费久久久久影院无码| 欧美一级黄色影院| 看国产毛片| 国产人人干| 三上悠亚一区二区| 国产一区二区三区日韩精品 | 日本三级黄在线观看| 欧美精品在线免费| 美女亚洲一区| a毛片在线播放| 免费欧美一级| 四虎精品国产永久在线观看| 国产va在线| 国产精品一区不卡| 在线无码九区| 欧美日本激情| 无遮挡一级毛片呦女视频| 伊人久久福利中文字幕| 亚欧乱色视频网站大全| 丁香婷婷综合激情| 国产精品太粉嫩高中在线观看| 91精品国产91久无码网站| 欧美.成人.综合在线| 伊人久久久久久久| 人人妻人人澡人人爽欧美一区| 国产成人a在线观看视频| 热久久国产| 国产在线自乱拍播放| 国内嫩模私拍精品视频| 国产地址二永久伊甸园| 亚洲成人播放| 国产99欧美精品久久精品久久| 欧美不卡视频在线| 激情无码字幕综合| 91精品伊人久久大香线蕉| 2021国产在线视频| 99国产精品免费观看视频| 激情综合图区| 国产性猛交XXXX免费看| 一级成人a做片免费| 日韩欧美高清视频| 亚洲国产午夜精华无码福利| 91国内视频在线观看| 97超级碰碰碰碰精品| 精品亚洲麻豆1区2区3区| 亚洲精品波多野结衣| 成人午夜网址| 国产欧美一区二区三区视频在线观看| 久久伊伊香蕉综合精品| 全部免费特黄特色大片视频| 国产免费看久久久| 成AV人片一区二区三区久久| 国产精品极品美女自在线| 亚洲成人在线网| 国产一级裸网站| 国产成人福利在线视老湿机| 午夜毛片免费观看视频 | 国产精品无码AV片在线观看播放| 成年人福利视频| 久久久久久久久18禁秘| 538精品在线观看| 高清码无在线看|