计算单层水汽通量散度,通过(q,u,v)

Posted on 2025-04-11 11:24  South_snow  阅读(291)  评论(0)    收藏  举报

比湿q单位:kg/kg,速度u单位:m/s,气压层单位:hPa,重力加速度单位:m/s2

单层水汽通量:q*u/g*1000→10g/(cm*s*hPa)

整层水汽通量:vibeta(q*u/g)*100→100kg/(m*s)

单层水汽通量散度:uv2dv_cfd(q*u/g)*1000000000→10e-7kg/(m2*s*hPa)

整层水汽通量散度:vibeta(uv2dv_cfd(q*u/g))*10000000→10e-5kg/(m2*s)

 

如果是整层的话,就是积分从1000-300hPa

只看单层的话,我做的是三种事件的合成,当时第一次画850hpa出来后,基本上都没有区别,以为是平均出来把异常都磨掉了

后面用925的数据,发现研究区域的水汽通量散度有明显区别,虽然从大范围全球气体看还是较多区域相同,但是还是得到了预期结果(可能用1000hPa会更好,但是没有尝试)

   ud = q850_d*u850_d/9.8
    copy_VarCoords(u850_d, ud)
    vd = q850_d*v850_d/9.8
    copy_VarCoords(v850_d, vd)
    qd = uv2dv_cfd(ud, vd, lat, lon, 2) ;* 1000000000000000
    copy_VarCoords(q850_d, qd)
    printVarSummary(qd)
    q_d = dim_avg_n_Wrap(qd, 0) * 1000000
    q_d!0 = "lat"
    q_d!1 = "lon"
    q_d&lat = lat
    q_d&lon = lon
    printMinMax(q_d, False)

    un = q850_n*u850_n/9.8
    copy_VarCoords(u850_n, un)
    vn = q850_n*v850_n/9.8
    copy_VarCoords(v850_n, vn)
    qn = uv2dv_cfd(un, vn, lat, lon, 2) ;* 1000000000000000
    copy_VarCoords(q850_n, qn)
    printVarSummary(qn)
    q_n = dim_avg_n_Wrap(qn, 0) * 1000000
    q_n!0 = "lat"
    q_n!1 = "lon"
    q_n&lat = lat
    q_n&lon = lon
    printMinMax(q_n, False)

    uc = q850_c*u850_c/9.8
    copy_VarCoords(u850_c, uc)
    vc = q850_c*v850_c/9.8
    copy_VarCoords(v850_c, vc)
    qc = uv2dv_cfd(uc, vc, lat, lon, 2) ;* 1000000000000000
    copy_VarCoords(q850_c, qc)
    printVarSummary(qc)
    q_c = dim_avg_n_Wrap(qc, 0) * 1000000
    q_c!0 = "lat"
    q_c!1 = "lon"
    q_c&lat = lat
    q_c&lon = lon
    printMinMax(q_c, False)