• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Python的氣象雷達(dá)工具包研究

    2018-10-10 03:09:48眭超亞唐毅謙羅正華曹文繼
    關(guān)鍵詞:笛卡爾數(shù)據(jù)處理校正

    眭超亞, 唐毅謙, 羅正華, 曹文繼

    (1.成都大學(xué) 信息科學(xué)與工程學(xué)院, 四川 成都 610106; 2.成都大學(xué) 機(jī)械工程學(xué)院, 四川 成都 610106)

    0 引 言

    氣象雷達(dá)的實(shí)時(shí)測(cè)量包含了大量數(shù)據(jù),必須通過相應(yīng)的處理才能獲得有用的信息.在氣象雷達(dá)的數(shù)據(jù)處理前端,原始測(cè)量的電壓數(shù)據(jù)必須通過數(shù)字信號(hào)處理算法,將其轉(zhuǎn)換成對(duì)應(yīng)時(shí)刻的頻譜;而數(shù)據(jù)處理的后端獲得原始數(shù)據(jù)后,必須根據(jù)前期已知的情況對(duì)數(shù)據(jù)進(jìn)行修正與控制,然后,利用對(duì)應(yīng)的相關(guān)算法來獲取風(fēng)速、風(fēng)向、云的類型及降雨量的大小等氣象參數(shù).氣象雷達(dá)數(shù)據(jù)的處理、校正與分析涵蓋了廣泛的計(jì)算科學(xué)領(lǐng)域.氣象雷達(dá)在采集數(shù)據(jù)的同時(shí)也完成了一定的數(shù)據(jù)預(yù)處理工作,后端的服務(wù)器軟件對(duì)大量的數(shù)據(jù)進(jìn)行處理和分析.在氣象雷達(dá)持續(xù)提供大量數(shù)據(jù)與信息的情況下,擁有靈活可擴(kuò)展的后端處理軟件就顯得十分重要.該后端軟件需要滿足不同類型用戶的需求,包括從基本的數(shù)據(jù)可視化到復(fù)雜數(shù)據(jù)處理算法的開發(fā).理想情況下,該軟件對(duì)常規(guī)數(shù)據(jù)可視化處理十分方便,同時(shí),可以對(duì)開發(fā)者提供更強(qiáng)大的可擴(kuò)展功能.

    Py-ART是一個(gè)可對(duì)氣象雷達(dá)數(shù)據(jù)進(jìn)行讀取、可視化、校準(zhǔn)和分析的軟件包.Py-ART開始僅僅是為了滿足大氣輻射測(cè)量氣候研究機(jī)構(gòu)的使用需求,目前,Py-ART已經(jīng)發(fā)展成為一個(gè)基于Python的氣象雷達(dá)數(shù)據(jù)通用處理框架.該軟件包建立在包括NumPy、SciPy、Matplotlib等強(qiáng)大的科學(xué)計(jì)算庫之上,同時(shí),Py-ART可以利用Cython與C語言編寫的雷達(dá)數(shù)據(jù)處理庫進(jìn)行交互,加速特定算法對(duì)計(jì)算速度的要求.

    1 Py-ART核心模塊

    Py-ART是一個(gè)基于Python的雷達(dá)數(shù)據(jù)處理軟件包,該軟件包的整體架構(gòu)如圖1所示.

    圖1 Py-ART整體框架

    1)pyart.core.該模塊主要包含Radar和Grid 2個(gè)子類,是整個(gè)軟件的基礎(chǔ)核心.在從天氣雷達(dá)的原始數(shù)據(jù)中提取出海拔、方位角、距離坐標(biāo)等有用信息的過程中,Radar和Grid 2個(gè)對(duì)象貫穿始終.Radar類使用不同的格式將雷達(dá)數(shù)據(jù)存儲(chǔ)在內(nèi)存中,其具體格式由磁盤上雷達(dá)數(shù)據(jù)的存儲(chǔ)格式所決定,一般為CF/Radial格式[1].該模塊還包含了對(duì)雷達(dá)數(shù)據(jù)進(jìn)行增加、修改與可視化等數(shù)據(jù)處理的功能函數(shù).

    2)pyart.io.該模塊能識(shí)別常見的雷達(dá)數(shù)據(jù)文件格式,并將其讀取到Radar和Grid對(duì)象中,方便后續(xù)的數(shù)據(jù)處理.同時(shí),該模塊能將Radar和Grid對(duì)象處理完成后的數(shù)據(jù)以NetCDF格式文件寫入磁盤中.與該模塊相比,該軟件包的其他子程序所支持的雷達(dá)數(shù)據(jù)格式要少一些.

    3)pyart.correct.該模塊包含修正雷達(dá)數(shù)據(jù)的各種算法.具體包括:利用極化方式進(jìn)行數(shù)據(jù)的衰減校準(zhǔn)[2];利用線性規(guī)劃進(jìn)行相位修正[3];消除數(shù)據(jù)中的多普勒頻移.其中,用于消除多普勒頻移的算法具體又包括FourDD算法、多相位解纏等[4-5].

    4)pyart.graph.該模塊包含雷達(dá)數(shù)據(jù)可視化的類和功能函數(shù).RadarDisplay類可繪制氣象雷達(dá)以平面位置顯示(Plan position indicator,PPI)或距離高度顯示(Range-height indicator,RHI)掃描方式獲取的數(shù)據(jù).RadarMapDisplay或GridMapDisplay類可將從PPI、RHI掃描方式或笛卡爾坐標(biāo)獲取的數(shù)據(jù)在地圖上進(jìn)行匹配并可視化.同時(shí),該模塊還包含了RadarDisplay_Airborne類,該類可用于機(jī)載雷達(dá)數(shù)據(jù)的可視化,通過不同的顏色來標(biāo)識(shí)不同時(shí)刻機(jī)載雷達(dá)獲取的數(shù)據(jù).

    5)pyart.map.該模塊包含了將一個(gè)或多個(gè)雷達(dá)數(shù)據(jù)映射到笛卡爾坐標(biāo)系的功能函數(shù).在相應(yīng)精度要求范圍內(nèi),該函數(shù)可選擇Cressman[6]或Barnes[7]提出的不同算法對(duì)坐標(biāo)系中的雷達(dá)數(shù)據(jù)進(jìn)行插值.

    6)pyart.retrieve.該模塊可檢索多個(gè)雷達(dá)數(shù)據(jù)之間的相關(guān)信息,包括微分相位、根據(jù)反射率計(jì)算出的信噪比、圓形去極化比率與降水率估計(jì)值等.

    7)pyart.filters.該模塊在收到原始數(shù)據(jù)后,將不需要的數(shù)據(jù)進(jìn)行過濾,以提高數(shù)據(jù)處理的效率.

    2 Py-ART部分功能

    Py-ART基礎(chǔ)功能強(qiáng)大,已擁有了畫圖、坐標(biāo)轉(zhuǎn)換與數(shù)據(jù)存儲(chǔ)等常見功能.Py-ART是基于Python的,本研究的實(shí)驗(yàn)環(huán)境基于Linux系統(tǒng),使用Anaconda的Jupyter Notebook來完成.

    2.1 氣象雷達(dá)數(shù)據(jù)可視化

    Py-ART擁有強(qiáng)大的畫圖功能,能快速創(chuàng)建高質(zhì)量的雷達(dá)時(shí)刻圖,可支持PPI和RHI等數(shù)據(jù)格式的顯示.

    1)PPI.雷達(dá)固定仰角,天線以全方位掃描的方式獲取數(shù)據(jù),然后以雷達(dá)站為中心建立極坐標(biāo),采用不同顏色來表示數(shù)據(jù)的大小和方向,如圖2所示.

    實(shí)現(xiàn)代碼:

    import matplotlib.pyplot as plt

    import pyart

    filename = ‘XSW110520105408.RAW7HHF'

    //使用RadarDisplay創(chuàng)建繪圖

    radar = pyart.io.read-rsl(filename)

    display = pyart.graph.RadarDisplay(radar)

    fig = plt.figure()

    ax = fig.add-subplot(111)

    display.plot('reflectivity',0, vmin=-32, vmax=64)

    display.plot-range-rings([10, 20, 30, 40])

    display.plot-cross-hair(5)

    plt.show()

    圖2平面位置顯示(PPI)

    2)RHI.雷達(dá)固定方位角,天線通過俯仰掃描的探測(cè)方式獲得數(shù)據(jù),然后以雷達(dá)為坐標(biāo)原點(diǎn)建立極坐標(biāo),用不同色標(biāo)來表示數(shù)據(jù)的大小和方向.此掃描方式可用于監(jiān)測(cè)強(qiáng)對(duì)流天氣系統(tǒng)中經(jīng)常會(huì)出現(xiàn)的某些強(qiáng)度回波分布形態(tài),如圖3所示.

    實(shí)現(xiàn)代碼:

    import matplotlib.pyplot as plt

    import pyart

    import netCDF4

    filename = ‘XSW110520113537.RAW7HHL'

    # 使用RadarDisplay創(chuàng)建繪圖

    radar = pyart.io.read-rsl(filename)

    display = pyart.graph.RadarDisplay(radar)

    fig = plt.figure(figsize=[10, 4])

    ax = fig.add-subplot(111)

    instrument-name=radar.metadata[‘instrument

    name'].decode(‘utf-8')

    time-start=netCDF4.num2date(radar.time[‘data'] [0], radar.

    time [‘units'])

    time-text = ‘ ' + time-start.isoformat() + ‘Z '

    azimuth = radar.fixed-angle [‘data'] [0]

    title = ‘RHI ' + instrument-name + time-text + Azimuth %.

    2f % (azimuth)

    display.plot(‘reflectivity', 0, vmin=-32, vmax=64, title=title,

    colorbar-flag=False, ax=ax)

    display.set-limits(ylim=[0, 17])

    cax = fig.add-axes([.9, .1, 0.02, .8])

    colorbar-label = ‘Eq refl fact (dBz)'

    display.plot-colorbar(fig=fig,cax=cax,label=colo rbar-label)

    plt.show()

    圖3距離高度顯示(RHI)

    2.2 數(shù)據(jù)的映射和網(wǎng)格化

    雷達(dá)通常以天線坐標(biāo)形式采集數(shù)據(jù),但天線坐標(biāo)形式的數(shù)據(jù)不利于數(shù)據(jù)處理.Py-ART將從雷達(dá)獲取的數(shù)據(jù)映射到笛卡爾網(wǎng)格中,能有效提高數(shù)據(jù)處理能力.Py-ART使用最近鄰距離加權(quán)插值對(duì)來自一個(gè)或多個(gè)雷達(dá)不同時(shí)刻的數(shù)據(jù)進(jìn)行網(wǎng)格化映射,然后將生成的數(shù)據(jù)存儲(chǔ)在Grid對(duì)象中.圖4是將2個(gè)雷達(dá)數(shù)據(jù)映射到笛卡爾網(wǎng)格中的實(shí)現(xiàn).

    核心代碼:

    import pyart

    # 讀取2個(gè)雷達(dá)的數(shù)據(jù)

    radar-sw=yart.io.read-cfradial(‘swx-20120520-0641.nc')

    radar-se=pyart.io.read-cfradial(‘sex-20120520-0641.nc')

    # 執(zhí)行笛卡爾映射

    grid=pyart.map.grid-from-radars((radar-se,radar-sw),

    grid-shape=(1,201,201),

    grid-limits=((1000,1000),(-50000,40000),(-60000,

    40000)),

    grid-origin = (36.57861, -97.363611),

    fields=‘corrected-reflectivity-horizontal',

    max-refl=100.)

    圖4雷達(dá)映射

    3 基于Py-ART的算法實(shí)現(xiàn)

    Py-ART包含了多種用于雷達(dá)數(shù)據(jù)處理的程序,同時(shí),在此基礎(chǔ)上,可快速開發(fā)新型數(shù)據(jù)處理算法.

    3.1 基于Z-PHI的天線坐標(biāo)衰減校正

    基于Z-PHI的衰減校正過程如圖5所示.

    核心代碼:

    import pyart

    //讀取數(shù)據(jù)

    radar=pyart.io.read-cfradial('sgpcsaprsurcmacI7.c0.2011020.

    095101.nc')

    //執(zhí)行衰減校正

    spec-at,cor-z=pyart.correct.calculate-attenuation(radar, 0)

    radar.fields[‘specific-attenuation']=spec-at

    radar.fields[‘corrected-reflectivity-horizonta']=

    cor-z

    圖5基于Z-PHI的衰減校正

    3.2 使用線性規(guī)劃算法進(jìn)行相位校正

    圖6描述了線性規(guī)劃相位處理的過程.

    核心代碼:

    import pyart

    radar = pyart.io.read-mdv(‘095636.mdv')

    //使用線性規(guī)劃進(jìn)行相位校正

    phidp, kdp = pyart.correct.phase-proc-lp(radar, 0.0,

    debug=True)

    radar.add-field('corrected-differential-phase',

    phidp)

    radar.add-field(‘corrected-specific-diff-phase', kdp)

    圖6線性規(guī)劃相位處理

    3.3 使用FourDD算法退除多普勒速度

    圖7給出了FourDD算法退除多普勒速度的處理過程.

    核心代碼:

    import matplotlib.pyplot as plt

    import netCDF4

    import pyart

    SOND-NAME=‘sgpinterpolatedsondeC1.c1.201 10510.000000.cdf'

    RADAR-NAME = ‘095636.mdv'

    # 讀取數(shù)據(jù)

    radar = pyart.io.read-mdv(RADAR-NAME)

    dt,profile=pyart.io.read-arm-sonde-vap(SOND-NAME,

    radar=radar)

    #設(shè)置濾波器閾值

    gatefilter = pyart.filters.GateFilter(radar)

    gatefilter.exclude-transition()

    gatefilter.exclude-invalid(‘velocity')

    gatefilter.exclude-invalid(‘reflectivity')

    gatefilter.exclude-outside(‘reflectivity', 0, 80)

    # 濾值處理

    dealias-data = pyart.correct.dealias-fourdd

    (radar,sonde-profile=profile, gatefilter=gatefilter)

    radar.add-field(‘corrected-velocity', dealias-data)

    圖7 FourDD算法退除多普勒速度

    4 結(jié) 語

    Py-ART是一個(gè)基于Python科學(xué)計(jì)算的軟件包,能夠?qū)崿F(xiàn)不同格式雷達(dá)數(shù)據(jù)可視化、數(shù)據(jù)校正與數(shù)據(jù)分析等功能.Py-ART提供了一個(gè)通用的氣象雷達(dá)數(shù)據(jù)處理框架,可以實(shí)現(xiàn)各種復(fù)雜的一體化數(shù)據(jù)處理與分析.Py-ART可用于前沿理論的研究,在現(xiàn)有算法基礎(chǔ)上,用于快速改進(jìn)算法、提高算法性能或者針對(duì)特定場(chǎng)景開發(fā)驗(yàn)證新的算法.同時(shí),對(duì)工程實(shí)踐領(lǐng)域,集成Py-ART到實(shí)際應(yīng)用系統(tǒng)中,可以降低開發(fā)復(fù)雜度,縮短開發(fā)周期,并提高成功率.

    猜你喜歡
    笛卡爾數(shù)據(jù)處理校正
    認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
    笛卡爾的解釋
    ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
    笛卡爾浮沉子
    劉光第《南旋記》校正
    國學(xué)(2020年1期)2020-06-29 15:15:30
    一類具有校正隔離率隨機(jī)SIQS模型的絕滅性與分布
    機(jī)內(nèi)校正
    笛卡爾乘積圖的圈點(diǎn)連通度
    從廣義笛卡爾積解關(guān)系代數(shù)除法
    基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
    凤冈县| 和静县| 武鸣县| 含山县| 沂南县| 乌拉特前旗| 通化市| 策勒县| 泰宁县| 惠水县| 方正县| 安龙县| 大名县| 长葛市| 桑植县| 竹山县| 县级市| 布尔津县| 临颍县| 洛宁县| 蚌埠市| 红安县| 横峰县| 盐津县| 隆德县| 铜川市| 红河县| 乌什县| 综艺| 四子王旗| 宁城县| 香河县| 泰来县| SHOW| 丹凤县| 萨迦县| 竹溪县| 普洱| 陕西省| 河津市| 施甸县|