计算脊线

根据U风速最小计算脊线

undef("Ridge_Line") 
function Ridge_Line(u_LL[*][*]:numeric) ; {
local u_LL,R_LL,nlat,nlon,dims,ix,lat,dy                                                                                                                      
begin               
dims   = dimsizes(u_LL)
nlat = dims(0)
nlon   = dims(1)
R_LL = new((/nlon/),typeof(u_LL))
lat    = u_LL&$u_LL!0$    
dy     = lat(1)-lat(0)        
do ix=0,nlon-1        
    R_LL(ix)= tofloat(minind(abs(u_LL({0:40},ix)))*dy*1.0+lat(0)) ; min value
end do  
R_LL!0          = u_LL!1
R_LL&$u_LL!1$= u_LL&$u_LL!1$
copy_VarAtts(u_LL,R_LL)
return R_LL
end   

根据HGT最高,并南北调整计算脊线

undef("Ridge_Line") 
function Ridge_Line(hgt_LL[*][*]:numeric) ; {
local hgt_LL,R_LL,nlat,nlon,dims,ix,lat,dy                                                                                                                      
begin               
dims   = dimsizes(hgt_LL)
nlat = dims(0)
nlon   = dims(1)
R_LL = new((/nlon/),typeof(hgt_LL))
R_LL = hgt_LL@_FillValue
R_LL_1 = new((/nlon/),typeof(hgt_LL))
lat    = hgt_LL&$hgt_LL!0$
dy     = lat(1)-lat(0)
do ix=0,nlon-1
  R_LL_1(ix)= tofloat(maxind(abs(hgt_LL({0:40},ix)))*dy*1.0+lat(0)) ; min value
  if (R_LL_1(ix).gt.2.and.hgt_LL({R_LL_1(ix)-dy},ix).gt.hgt_LL({R_LL_1(ix)+dy},ix)) then
    R_LL(ix)=R_LL_1(ix)-1+0.5*((hgt_LL({R_LL_1(ix)},ix)-hgt_LL({R_LL_1(ix)-dy},ix))/(hgt_LL({R_LL_1(ix)},ix)-hgt_LL({R_LL_1(ix)+dy},ix)))
  else if(R_LL_1(ix).gt.2) then 
    R_LL(ix)=R_LL_1(ix)+1-0.5*((hgt_LL({R_LL_1(ix)},ix)-hgt_LL({R_LL_1(ix)+dy},ix))/(hgt_LL({R_LL_1(ix)},ix)-hgt_LL({R_LL_1(ix)-dy},ix)))
  else
    dy=dy
  end if
  end if
end do
R_LL!0          = hgt_LL!1
R_LL&$hgt_LL!1$= hgt_LL&$hgt_LL!1$
copy_VarAtts(hgt_LL,R_LL)
return R_LL
end   

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 两个不错的朋友,在我们聊天时,说起来孩子打人的问题。她俩的都在一岁半左右,我记得彤彤那个时期,也爱“打人”。...
    花落晨间阅读 325评论 0 0
  • 亮子(原创) 亮子大约三十四五的年龄,中等身材,胖乎乎的脸,炯炯有神的眼睛,会说话似的,透露着精明,看人总是歪着脖...
    你健康我快乐_61fc阅读 566评论 0 2
  • 1.UIView:数据UIKit.framework框架,负责渲染矩形区域的内容,为矩形区域添加内容,响应区域的触...
    sunmumu1222阅读 197评论 0 0