爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8704|回复: 5

[作图] cmorph降水融合产品作图出现错误

[复制链接]
发表于 2018-4-25 09:50:04 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 好久不见! 于 2018-5-8 18:56 编辑

2018-04-25 09-19-51屏幕截图.png
降雨落区和数据气象网给出的差距很大,官方给出的基本在中部和南部地区,我用出图都显示在新疆和东北地区呢?请问是哪里出现的问题呢还有想修改一下,出图的区域 ,想指定输出某经纬度范围内的数据请问应该修改哪里呢?谢谢大家!

脚本如下:res@mpMinLatF  =  18.
res@mpMaxLatF  =  56.
res@mpMinLonF  =  72.
res@mpMaxLonF  =  135.

res@tmXTOn  = False
res@tmYROn  = False
res@gsnMajorLonSpacing = 10

res@tmXBOn =  True
res@tmXBMajorThicknessF  = 2.0         ;default 2
res@tmXBMajorLengthF  = 0.01         ;default 0.02  

res@tmYLOn =  True
res@tmYLMajorThicknessF  = 2.0         ;default 2
res@tmYLMajorLengthF  = 0.01         ;default 0.02

res@tmYLMinorOn = True
res@tmYLMinorThicknessF  = 1.0
res@tmYLMinorLengthF   =  0.005     ;default 0.01
res@tmYLMinorPerMajor = 4

nlat = 440
nlon = 700
ncrain = 308000
ntim = 24
r = new((/ntim,nlat,nlon/),"double")

;time = new((/ntime/),"string")
;setfileoption("grd","ReadByteOrder","LittleEndian")

;reading files
        
     tim = (/ "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060400.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060401.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060402.grd",\
                      "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060403.grd",\
                   "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060404.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060405.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060406.grd",\
                   "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060407.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060408.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060409.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060410.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060411.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060412.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060413.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060414.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060415.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060416.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060417.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060418.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060419.grd",\
                   "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060420.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060421.grd",\
                    "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060422.grd",\
                     "SEVP_CLI_CHN_MERGE_CMP_PRE_HOUR_GRID_0.10-2017060423.grd"/)

lon = fspan(70.05,139.95,nlon)
lat = fspan(15.05,58.95,nlat)
lat!0 = "lat"
lat@long_name = "latitude"
lat@units = "degrees_north"
lon!0 = "lon"
lon@units = "degrees_east"
lon@long_name = "longitude"

do t = 0, ntim-1  
rain = fbindirread(tim(t),0,(/ncrain/),"double")
k=0
do i = 0, nlat-1
  do j = 0, nlon-1
   r(t,i,j) = rain(k)
   k = k+1
  end do
end do
end do

;r!0 = "time"
;r!1 = "lat"
;r!2 = "lon"
;r&time = tim
;r&lat = lat
;r&lon = lon
;r@units = "mm/hour"
;r@long_name = "china daily accumulated rain"
;r@_FillValue = -999.00
;n=num(ismissing(r))
;print("n="+n)
;printVarSummary(r)

res@gsnAddCyclic = False

wks = gsn_open_wks("pdf","rain")
cmap=(/(/1.,1.,1./),(/0.,0.,0./),(/1.,1.,1./),(/.26,.88,.95/),(/.153,.706,.733/),(/.08,.61,.26/),\
     (/.28,.90,.49/),(/.89,.88,.18/),(/.77,.75,.10/),(/.65,.45,.16/),(/.612,.125,.137/),\
     (/.8392,.2118,.2275/),(/.9059,.0745,.5098/),(/.65,.10,.86/),(/.24,.16,.45/)/)
gsn_define_colormap(wks,cmap)
;gsn_draw_colormap(wks)
;res@gsnSpreadColorStart = 0
res@cnLevelSelectionMode = "ExplicitLevels"   ; "ManualLevels"  ,"automaticlevels" , "explicitlevels"
res@cnLevels   = (/0.01,0.5,1,5,10,20,30,40,50,60,80,100/)

;res@cnMinLevelValF  =  .5
;res@cnMaxLevelValF  = 100.
;res@cnLevelSpacingF =  10.
res@gsnLeftString   = "rain"
res@gsnRightString  = "[mm~N~]"
res@tiMainString    = "2017-06-04-00:00 - 2017-06-04-23:00"
  
frain=r(0,:,:)
do t = 1,ntim-1
  srain = r(t,:,:)
  arain =srain + frain
  frain = arain
end do

print(frain)
filo="crain"
fbinrecwrite(filo,-1,frain)

frain!0 = "lat"
frain!1 = "lon"
frain&lat = lat
frain&lon = lon
frain@units = "mm/hour"
frain@long_name = "china daily accumulated rain"
frain@_FillValue = -999.00
n=num(ismissing(frain))
print("n="+n)
printVarSummary(frain)

plot = gsn_csm_contour_map(wks,frain,res)
   
   config      =  True
   config@china  = True
   config@river  = True
   config@province = True
   config@nanhai  = True
   config@diqu   = False
   chinamap = add_china_map(wks,plot,config)
   
   draw(plot)
   frame(wks)


end

;=============================================================================================
谢谢指导


密码修改失败请联系微信:mofangbao
发表于 2018-5-1 10:44:17 | 显示全部楼层
数据应该没错,看新疆那的海南岛形状。。。
密码修改失败请联系微信:mofangbao
发表于 2019-4-24 14:26:05 | 显示全部楼层
请问您问题解决了吗?我也是一样的问题,可以告知一下解决办法吗?谢谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-4-3 11:00:33 | 显示全部楼层
同样的问题,不知道楼主还有没有后续了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-4-5 15:30:54 | 显示全部楼层
最近我画这个资料也出现同样的问题,后来发现把读数据的格式double换成float就好了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-4-17 20:19:07 | 显示全部楼层
wjn 发表于 2020-4-5 15:30
最近我画这个资料也出现同样的问题,后来发现把读数据的格式double换成float就好了

warning:ContourPlotSetValues: Data values out of range of levels set by EXPLICITLEVELS       mode
那样改了,好像有这样的问题,怎么调大这个范围还是有warning,这个应该怎么解决鸭
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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