• 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)

  • 相关阅读:
    大一秋学期记录
    韦尼克区受损者如何说话
    暑假训练idea汇总
    高三树洞
    OI回忆录
    NOI2018游记
    收藏
    PKUSC2018游记
    CTSC/APIO2018游记
    Caused by: org.xml.sax.SAXParseException: 外部 DTD: 无法读取外部 DTD 'mybatis-generator-config_1_0.dtd'
  • 原文地址:https://www.cnblogs.com/yaqiang/p/4641226.html
Copyright © 2020-2023  润新知