爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15|回复: 0

激光测风雷达数据出图

[复制链接]
发表于 昨天 21:38 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
begin
a = asciiread("CDL_3D10K_lidar3D10K-099_DBS5_PitchAngle71.38_Resolution015_StartIndex005_Ave10min_20250411 000010.csv",-1, "string")
yymmdd = new(dimsizes(a)-2,string)
hh     = new(dimsizes(a)-2,float)
minute = new(dimsizes(a)-2,float)
Temperature = new(dimsizes(a)-2,float)
Humidity = new(dimsizes(a)-2,float)
Pressure = new(dimsizes(a)-2,float)
;=======================================高度数据===========================================
level = new(298,float)
do j=0,297
    level(j) = stringtofloat(str_get_field(str_get_field(a(1), 5+j*9, ","),1,"m")) ;9:风速
end do
;======================================风数据读取============================================

wind_sped    = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_dir     = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_MeanSNR = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_DataObtainRate = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_StdDev  = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_MaxWindSpeed = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_MinWindSpeed = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_ZWind = new((/dimsizes(a)-2,298/),float);;;(time,level)
wind_ZWindStdDev = new((/dimsizes(a)-2,298/),float);;;(time,level)

do i = 0,dimsizes(a)-3
    a1 = a(i+2)
    a2 = str_get_field(a1, 1, ",")
    ;时间============================
    yymmdd(i) = str_get_field(a2, 1, " ")
    hh(i)     = stringtofloat(str_get_field(str_get_field(a2, 2 ," "),1,":"))
    minute(i) = stringtofloat(str_get_field(str_get_field(a2, 2 ," "),2,":"))
    ;变量============================
    Temperature(i) = stringtofloat(str_get_field(a1, 2, ","))
    Humidity(i) = stringtofloat(str_get_field(a1, 3, ","))
    Pressure(i) = stringtofloat(str_get_field(a1, 4, ","))
    ;风变量===========================
    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 5+j*9, ",")
    end do
    wind_sped(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 6+j*9, ",")
    end do
    wind_dir(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 7+j*9, ",")
    end do
    wind_MeanSNR(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 8+j*9, ",")
    end do
    wind_DataObtainRate(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 9+j*9, ",")
    end do
    wind_StdDev(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 10+j*9, ",")
    end do
    wind_MaxWindSpeed(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 11+j*9, ",")
    end do
    wind_MinWindSpeed(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 12+j*9, ",")
    end do
    wind_ZWind(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)

    wind_a4 = new(298,string)
    do j=0,297
        wind_a4(j) = str_get_field(a1, 13+j*9, ",")
    end do
    wind_ZWindStdDev(i,:) = stringtofloat(wind_a4)
    delete(wind_a4)
end do
;==========================测试=================================================
;print(wind_ZWind(0,0:10))
idx = ind(hh.ge.11.and.hh.le.23)
wind_ZWind_plot = transpose(wind_ZWind(idx,:)) ;绘图转秩
wind_ZWind_plot = where(abs(wind_ZWind_plot).gt.900, wind_ZWind_plot@_FillValue, wind_ZWind_plot)
time_plot = hh(idx) + minute(idx)/60.0
; 创建风速的等高线图
wks = gsn_open_wks("X11", "wind_profile")
res = True
res@cnFillOn = True
res@cnLevelSelectionMode = "ManualLevels"
res@cnMinLevelValF = -1
res@cnMaxLevelValF = 1
res@cnLevelSpacingF = 0.2
res@cnLinesOn = False
res@sfXArray = time_plot         ; 指定X轴坐标
res@sfYArray = level       ; 指定Y轴坐标
res@vpWidthF = 0.8        ; 图形宽度(占页面比例)
res@vpHeightF = 0.4
plot = gsn_csm_contour(wks, wind_ZWind_plot, res)
draw(plot)
frame(wks)
end


CDL_3D10K_lidar3D10K-099_DBS5_PitchAngle71.38_Resolution015_StartIndex005_Ave10m.csv

1.97 MB, 下载次数: 1, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表