爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6533|回复: 0

ncl mask 画图

[复制链接]

新浪微博达人勋

发表于 2018-8-20 19:31:34 | 显示全部楼层 |阅读模式

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

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

x
求助:为什么 mask 以后画不出东西了?(程序没有报错)
MASK_INSIDE =  False
   filename ="C:/Users/dell/Desktop/JGRresponse/code2/data/tibetan/tibetan.shp"  
   f5       = addfile(filename, "r")
   mrb_lon = f5->x
   mrb_lat = f5->y
   nmrb    = dimsizes(mrb_lon)
  min_mrb_lat = min(mrb_lat)
  max_mrb_lat = max(mrb_lat)
  min_mrb_lon = min(mrb_lon)
  max_mrb_lon = max(mrb_lon)
  ; Create new data to mask. Depending on whether you want to
  if(MASK_INSIDE) then
    data_mask1 = xann3     
  else
    data_mask1 = new(dimsizes(xann3),typeof(xann3),xann3@_FillValue)
    copy_VarCoords(xann3,data_mask1)
  end if
  lat1d       = fspan(24,48,33)
  lon1d       = fspan(63,105,57)
  lat1d@units = "degrees_north"
  lon1d@units = "degrees_east"
  ilt_mn = ind(min_mrb_lat.gt.lat1d)
  ilt_mx = ind(max_mrb_lat.lt.lat1d)
  iln_mn = ind(min_mrb_lon.gt.lon1d)
  iln_mx = ind(max_mrb_lon.lt.lon1d)
  
  ilt1   = ilt_mn(dimsizes(ilt_mn)-1)    ; Start of lat box
  iln1   = iln_mn(dimsizes(iln_mn)-1)    ; Start of lon box
  ilt2   = ilt_mx(0)                     ; End of lat box
  iln2   = iln_mx(0)                     ; End of lon box

  if(MASK_INSIDE) then
    do ilt=ilt1,ilt2
      do iln=iln1,iln2
        if(gc_inout(lat1d(ilt),lon1d(iln),mrb_lat,mrb_lon)) then
          data_mask1(ilt,iln) = data_mask1@_FillValue
           end if
      end do
    end do
  else
    do ilt=ilt1,ilt2
      do iln=iln1,iln2
        if(gc_inout(lat1d(ilt),lon1d(iln),mrb_lat,mrb_lon)) then
          data_mask1(ilt,iln) = xann3(ilt,iln)
              end if
      end do
    end do
  end if
   printVarSummary(data_mask1)

mask 前

mask 前

mask 后

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

本版积分规则

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

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

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