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)

  • 相关阅读:
    C语言volatile
    2017-10-12 下一步计划
    关于步进电机的半流设置、衰减设置
    压力校准仪开发-----步进电机驱动
    kei中实现在线仿真看波形
    42步进电机与57步进电机
    网上的说TB6560存在的问题
    TB6560步进电机驱动板
    继承
    iOS设计模式——单例模式
  • 原文地址:https://www.cnblogs.com/yaqiang/p/4865725.html
Copyright © 2011-2022 走看看