- 积分
- 1648
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-3-23
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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
|
|