zoukankan      html  css  js  c++  java
  • MeteoInfoLab脚本示例:计算水平螺旋度

    尝试了用MeteoInfoLab编写计算水平螺旋度的脚本,结果未经验证。

    脚本程序:

    print 'Open data files...'
    f_uwnd = addfile('D:/Temp/nc/uwnd.2011.nc')
    f_vwnd = addfile('D:/Temp/nc/vwnd.2011.nc')
    
    print 'Calculate average wind field from 850 to 600 hpa...'
    tidx = 173    # Jun 23, 2011
    t = f_uwnd.gettime(tidx)
    level = [850,600]    # 850 - 600 hPa
    lat = [15,55]
    lon = [70,135]
    uvar = f_uwnd['uwnd']
    vvar = f_vwnd['vwnd']
    uwnd = uvar[tidx,level,lat,lon]
    vwnd = vvar[tidx,level,lat,lon]
    uc = uwnd.ave()
    vc = vwnd.ave()
    sp = magnitude(uwnd, vwnd)
    speed = sp.ave()
    #speed = magnitude(uc, vc)
    direc = atan2(vc, uc)
    cdirec = direc-40./180.*3.14159
    if cdirec < -3.14159:
        cdirec=cdirec+3.14159*2
    cuc = speed*cos(cdirec)
    cvc = speed*sin(cdirec)
    
    print 'Calculate horizontal helicity...'
    Hrs = 0.
    zHrs = 0.
    hh = 6
    while hh <= 10:
        zHrs = (uvar[tidx,hh+1,lat,lon]-cuc)*(vvar[tidx,hh,lat,lon]-cvc)- 
            (uvar[tidx,hh,lat,lon]-cuc)*(vvar[tidx,hh+1,lat,lon]-cvc)
        Hrs = Hrs+zHrs
        hh += 1
    Hrs = Hrs[::-1,:]
    
    print 'Plot...'
    axesm()
    mlayer = shaperead('D:/Temp/map/country1.shp')
    geoshow(mlayer, edgecolor='black')
    layer = contourfm(Hrs, 20)
    title('Horizontal helicity (' + t.strftime('%Y-%m-%d') + ')')
    colorbar(layer)

  • 相关阅读:
    .NET 内存分配笔记
    MYSQL知识点
    NOPI导入导出
    【链接】各类学习资源
    【原创】重绘winform的GroupBox
    高仿淘宝滑动验证码插件
    Winform窗体控件级权限处理
    .NET中的Func委托用法
    关于IBatisNet的配置文件中数据库连接字符串加密处理
    Oracle连接字符串大全
  • 原文地址:https://www.cnblogs.com/yaqiang/p/4865725.html
Copyright © 2011-2022 走看看