zoukankan      html  css  js  c++  java
  • MeteoInfoLab脚本示例:计算温度平流

    需要温度和风场U/V分量格点数据,计算中主要用到cdiff函数,结果用GrADS验证一致。

    脚本程序:

    print 'Open data files...'
    f_air = addfile('D:/Temp/nc/air.2011.nc')
    f_uwnd = addfile('D:/Temp/nc/uwnd.2011.nc')
    f_vwnd = addfile('D:/Temp/nc/vwnd.2011.nc')
    
    print 'Read data array...'
    tidx = 173    # Jun 23, 2011
    t = f_air.gettime(tidx)
    lidx = 0    # 1000 hPa
    air = f_air['air'][tidx,lidx,::-1,:]
    uwnd = f_uwnd['uwnd'][tidx,lidx,::-1,:]
    vwnd = f_vwnd['vwnd'][tidx,lidx,::-1,:]
    lon = f_air['lon'][:]
    lat = f_air['lat'][::-1]
    lon, lat = meshgrid(lon, lat)
    
    # Calculate
    print 'Calculate...'
    dtx = cdiff(air, 'x')
    dty = cdiff(air, 'y')
    dx = cdiff(lon, 'x') * pi / 180
    dy = cdiff(lat, 'y') * pi / 180
    tadv = -1*((uwnd*dtx)/(cos(lat*pi/180)*dx)+vwnd*dty/dy)/6.37e6
    
    #Plot
    print 'Plot...'
    axesm()
    mlayer = shaperead('D:/Temp/map/country1.shp')
    geoshow(mlayer, edgecolor='black')
    layer = contourfm(tadv, cmap='grads_rainbow')
    title('Temporature advection (' + t.strftime('%Y-%m-%d') + ')')
    colorbar(layer)
    xlim(0, 360)
    ylim(-90, 90)

  • 相关阅读:
    容器之队列的使用
    容器之栈的使用
    rapidxml的使用
    C++判断文件夹是否存在并创建文件夹
    VS2017,不能将const char *转为char *
    CSS_day01_选择器
    HTML_day02_列表
    HTML_day01基本标签
    python_day3
    python_day2
  • 原文地址:https://www.cnblogs.com/yaqiang/p/4641226.html
Copyright © 2011-2022 走看看