||
昨天在HYSPLIT的论坛上看到一个帖子说以前老版本HYSPLIT输出的浓度数据新版本读不了,目前维护HYSPLIT模式的科学家Arial Stein回帖说应该是数据被破坏了。我下载了有问题的示例数据文件,大致看了看,感觉可能是字节顺序的问题,HYSPLIT输出的浓度数据是二进制的自定义格式文件,规定是big endian,但老版本也可能输出little endian的数据。通过修改MeteoInfoLib中读取HYSPLIT浓度数据的代码(之前只能读big endian的数据)进行了简单的测试,基本确定是little endian的问题。因此在HYSPLITConcDataInfo类中增加了byteOrder变量,可以事先确定byteOrder为ByteOrder.BIG_ENDIAN或ByteOrder.LITTLE_ENDIAN,在数据解码过程中根据byteOrder读取相应数据。这样就可以正确读取little endian的数据了。
正常的HYSPLIT浓度数据读取绘图代码:
fn = 'D:/Temp/HYSPLIT/cdump'
f = addfile_hyconc(fn)
data = f['TEST'][0,0,:,:]
axesm()
lworld = shaperead('D:/Temp/Map/country1.shp')
geoshow(lworld)
layer = imshowm(data)
colorbar(layer)
对于little endian的浓度数据在addfile_hyconc函数中要添加big_endian参数为False:
fn = 'D:/Temp/HYSPLIT/cdump.t00z'
f = addfile_hyconc(fn, big_endian=False)
data = f['SO2'][25,0,:,:]
axesm()
lworld = shaperead('D:/Temp/Map/country1.shp')
geoshow(lworld, edgecolor='k')
levs = arange(0.2, 10, 0.2)
layer = imshowm(data, levs, cmap='WhBlGrYeRe')
colorbar(layer)
xlim(-161, -154)
ylim(17, 21)
title('HYSPLIT concentration data with little endian')
1/0 | 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊炲銈嗗笒椤︿即寮查鍫熲拺闁告繂瀚埢澶愭煕濡灝浜圭紒顔肩墦瀹曞ジ鎮㈢粙鍨紟婵犳鍠楅〃鍛涘Δ鍛闁挎洖鍊归悡銉︾節闂堟稒锛嶆俊鎻掓憸缁辨帡鎮╅悜妯煎涧婵烇絽娲ら敃顏呬繆閸洖妞介柛鎰ㄦ櫆閺嗕即姊绘担鍛婃儓闁归攱鍨圭槐鐐存媴閸撳弶缍庨梺鎯х箺椤鐣锋径鎰厪濠电偛鐏濋崝婊堟煟濠靛嫬鐏叉慨濠冩そ閹兘寮堕幐搴敤闂備胶鎳撻崵鏍箯閿燂拷:0 | 濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴濐潟閳ь剙鍊块幐濠冪珶閳哄绉€规洏鍔戝鍫曞箣閻欏懐骞㈤梻鍌欐祰椤鐣峰Ο琛℃灃婵炴垶纰嶉浠嬫煏閸繃鍟掗柡鍐ㄧ墛閺呮煡鏌涘☉鍗炲箺婵炲牊鐓″铏圭矙濞嗘儳鍓板銈嗗灥椤﹂潧顕f繝姘櫜闁告稑鍊婚崰搴ㄥ煝鎼淬劌绠氱憸搴敊閸曨垱鐓涘璺烘濞呭棛绱掔拠鑼妞ゎ偄绻橀幖鍦喆閸曨偆锛忛梻渚€娼ф灙闁稿孩鐓¢幃鐢稿閵堝棌鎷洪梺鑽ゅ枑濠㈡ê鈻撻埡鍛厵闁告垯鍊栫€氾拷 | 濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁炬儳顭烽弻锝夊箛椤掍焦鍎撻梺鎼炲妼閸婂潡寮诲☉銏╂晝闁挎繂妫涢ˇ銉х磽娴e搫小闁告濞婂濠氭偄閸忓皷鎷婚柣搴f暩鏋┑鈥茬矙濮婃椽宕崟顒€娅ょ紓浣筋嚙閻楁挸顕f繝姘╅柕澶堝灪閺傗偓闂備胶纭堕崜婵嬫晪缂備焦鍔栭惄顖氼潖濞差亜宸濆┑鐘插閻g兘鎮楅崗澶婁壕闂佸綊妫跨粈浣虹不閺嶃劋绻嗛柕鍫濆€告禍楣冩⒑鐎圭姵顥夋い锔诲灦閸┿垹顓奸崱妯肩Ф闂侀潧臎閸涱垰甯掔紓鍌氬€风粈渚€宕愰崫銉х煋闁圭虎鍠撻崑鎴澝归崗鍏肩稇闂佸崬娲弻锝夊棘閹稿孩鍎撻悗娈垮枟婵炲﹤顫忕紒妯诲闁惧繒鎳撶粭鈥斥攽閻愭彃绾ч柣妤冨Т閻g兘骞囬弶鎸庡祶濡炪倖鎸荤粙鎴炵閻愵剚鍙忔俊顖滃帶娴滈箖鎮楀鐐 | 闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞鐟滃繘寮抽敃鍌涚厱妞ゎ厽鍨垫禍婵嬫煕濞嗗繒绠婚柡宀€鍠撶槐鎺楀閻樺磭浜紓鍌欒兌婵箖锝炴径鎰﹂柛鏇ㄥ灠缁犳盯鏌涢锝嗙妞ゅ骸绉瑰铏圭矙濞嗘儳鍓炬繛瀛樼矤娴滎亜顕g拠娴嬫闁靛繒濮堥妸锔轰簻闁哄倸鐏濈紞鏍ㄦ叏鐟欏嫷娈滈柟顔煎槻楗即宕ㄩ褎姣夐梺姹囧焺閸ㄩ亶銆冩繝鍌ゅ殨闁哄被鍎辩粻鐟懊归敐鍛础闁告瑥妫濆铏圭磼濡崵顦ラ梺绋匡工濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹 |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-22 16:02
Powered by ScienceNet.cn
Copyright © 2007-2025 中国科学报社