爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8985|回复: 6

求助NCL计算NCEP逐日6小时水汽通量问题

[复制链接]

新浪微博达人勋

发表于 2015-7-21 16:10:58 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
小弟我在用NCEP逐日6小的资料计算水汽通量时遇到点问题,想请教下论坛里的各位大神,我用的是2011年u,v,q,和地面气压p的资料,选取了东亚地区夏季92天,每天第一个时刻,高度为1000,925,850,700,6005个高度的资料进行分析,其中,u和v的单位是m/s,q的单位是kg/kg,p的单位是Pa,下面是我的代码
  1. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
  2. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
  3. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
  4. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
  5. ;============================================================================

  6. begin

  7.   u_filepath = "/cma/g4/expert3/sunyue/diag/ncl/model_prep/NCEP/4daily/uwnd/uwnd.2011.nc"
  8.   v_filepath = "/cma/g4/expert3/sunyue/diag/ncl/model_prep/NCEP/4daily/vwnd/vwnd.2011.nc"
  9.   q_filepath = "/cma/g4/expert3/sunyue/diag/ncl/model_prep/NCEP/4daily/shum/shum.2011.nc"
  10.   p_filepath = "/cma/g4/expert3/sunyue/diag/ncl/model_prep/NCEP/4daily/pressure/pres.sfc.2011.nc"

  11.   u_file     = addfile(u_filepath,"r")
  12.   v_file     = addfile(v_filepath,"r")
  13.   q_file     = addfile(q_filepath,"r")
  14.   p_file     = addfile(p_filepath,"r")

  15.   u  =  u_file->uwnd(604:971,0:4,{15:50},{70:130})
  16.   v  =  v_file->vwnd(604:971,0:4,{15:50},{70:130})
  17.   q  =  q_file->shum(604:971,0:4,{15:50},{70:130})
  18.   p  =  p_file->pres(604:971,{15:50},{70:130})
  19. ;===================================================================================================

  20.   dsize = dimsizes(u)
  21.   mlat  = dsize(2)
  22.   nlon  = dsize(3)
  23.   u_day = new((/92,4,5,mlat,nlon/),"float")
  24.   v_day = new((/92,4,5,mlat,nlon/),"float")
  25.   q_day = new((/92,4,5,mlat,nlon/),"float")
  26.   p_day = new((/92,4,mlat,nlon/),"float")
  27.   
  28.   u_day = onedtond(ndtooned(u),(/92,4,5,mlat,nlon/))
  29.   v_day = onedtond(ndtooned(v),(/92,4,5,mlat,nlon/))
  30.   q_day = onedtond(ndtooned(q),(/92,4,5,mlat,nlon/))
  31.   p_day = onedtond(ndtooned(p),(/92,4,mlat,nlon/))
  32. ;==== time = 00
  33.   u_day_avg = dim_avg_n(u_day,0)
  34.   v_day_avg = dim_avg_n(v_day,0)
  35.   q_day_avg = dim_avg_n(q_day,0)
  36.   p_day_avg = dim_avg_n(p_day,0)
  37.   
  38.   u_00  = u_day_avg(0,:,:,:)
  39.   v_00  = v_day_avg(0,:,:,:)
  40.   q_00  = q_day_avg(0,:,:,:)
  41.   p_00  = p_day_avg(0,:,:)

  42.   qu1   = q_00 * u_00
  43.   qv1   = q_00 * v_00

  44.   printVarSummary(qu1)
  45.   
  46.   qu1!0   = "lev"
  47.   qu1&lev = u&level
  48.   qu1&lev@units = "hPa"
  49.   qu1!1   = "lat"
  50.   qu1&lat = u&lat
  51.   qu1&lat@units = "degrees_north"
  52.   qu1!2   = "lon"
  53.   qu1&lon = u&lon
  54.   qu1&lon@units = "degrees_east"  
  55.   
  56.   qv1!0   = "lev"
  57.   qv1&lev = v&level
  58.   qv1&lev@units = "hPa"
  59.   qv1!1   = "lat"
  60.   qv1&lat = v&lat
  61.   qv1&lat@units = "degrees_north"
  62.   qv1!2   = "lon"
  63.   qv1&lon = v&lon
  64.   qv1&lon@units = "degrees_east"

  65.   qu11 = qu1(lat|:,lon|:,lev|:)
  66.   qv11 = qv1(lat|:,lon|:,lev|:)
  67.   delete(qu1)
  68.   delete(qv1)
  69.   
  70.   pres   = (/1000,925,850,700,600/)
  71.   linlog = 1

  72.   data11 = (vibeta(pres,qu11,linlog,p_00,1000,600))/9.8
  73.   data12 = (vibeta(pres,qv11,linlog,p_00,1000,600))/9.8

  74.   mm = sqrt(data11^2+data12^2)

  75.   mm!0   = "lat"
  76.   mm&lat = u&lat
  77.   mm&lat@units = "degrees_north"
  78.   mm!1   = "lon"
  79.   mm&lon = u&lon
  80.   mm&lon@units = "degrees_east"
复制代码
然后算出来水汽通量的量级最大只有4.4,感觉好小,请问我的程序有没有什么问题;
还有我看有的帖子在积分时将地面气压除了100,换算成hPa,请问需要么?



密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-7 19:35:09 | 显示全部楼层
请问UV都是4维的数据,怎么在48.49行处理成3维的?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-9 09:04:30 | 显示全部楼层
timevigor 发表于 2015-10-7 19:35
请问UV都是4维的数据,怎么在48.49行处理成3维的?

在45,46两行我不是选了时间维是第一个时间么,这不就变成三维的了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-10 15:42:07 | 显示全部楼层
谢谢!!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-10-14 16:26:47 | 显示全部楼层
还有再请问一下你最后算出的水汽通量的单位是什么
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-15 08:44:11 | 显示全部楼层
timevigor 发表于 2015-10-14 16:26
还有再请问一下你最后算出的水汽通量的单位是什么

这个我也没搞清楚。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-15 10:33:44 | 显示全部楼层
刚开始学NCL,先看看大神们编写的脚本吧
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表