爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16334|回复: 20

ncl做散度

[复制链接]

新浪微博达人勋

发表于 2014-12-3 08:21:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 yang69can 于 2014-12-3 08:22 编辑

我想问下各位,我用同样的脚本,只是中间处理数据有一句不一样,为什么画出图差距如此之大?(输出来的变量数据值时一样的)
脚本一、

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
        a = addfile("./grib2006071600.grib1","r")
        u = a->U_GRD_3_ISBL({200},:,:)
        v = a->V_GRD_3_ISBL({200},:,:)


        duv = uv2dvG_Wrap(u,v)/4


        
        scale = 1.e05
        duv = duv*scale
        
        wks = gsn_open_wks("png","divergerce200-2")
        res = True
        res@gsnDraw = False
        res@gsnFrame = False
        res@gsnPaperOrientation = "Landscape"
        
        res@tmYROn = False
        res@tmXTOn = False
        res@tmBorderThicknessF = 8.0
        
        mpres = res
        mpres@mpFillOn = False
        mpres@mpOutlineOn = True
        mpres@mpOutlineSpecifiers = "China:states"
        mpres@mpDataBaseVersion = "MediumRes"
        mpres@mpDataSetName = "Earth..4"
        mpres@mpGeophysicalLineThicknessF = 2
        mpres@mpNationalLineThicknessF = 2
        mpres@mpUSStateLineThicknessF = 2

        mpres@mpMinLatF = 15
        mpres@mpMaxLatF = 55
        mpres@mpMinLonF = 75
        mpres@mpMaxLonF = 135
        
        cnres = res
        cnres@cnFillOn = True
        cnres@gsnSpreadColors = True
        cnres@lbLabelAutoStride = True
        cnres@lbOrientation = "Vertical"
        cnres@lbLabelFontHeightF = 0.01
        cnres@lbPerimThicknessF = 0.01
        cnres@lbBoxLinesOn = False
        cnres@pmLabelBarWidthF = 0.05
        cnres@cnLinesOn = False
        
        
        cnres@cnLevelSelectionMode = "ManualLevels"
        cnres@cnMinLevelValF = -8
        cnres@cnMaxLevelValF = 8
        cnres@cnLevelSpacingF = 0.5
        
        cnres@gsnLeftString = "divergence"+"  " +"height:10m"
        cnres@gsnRightString = "1/s"+"  "+1.0/scale
        cnres@gsnCenterString = "06-07-19-06"
        
        map = gsn_csm_map(wks,mpres)
        plot = gsn_csm_contour(wks,duv,cnres)
        
        overlay(map,plot)

        draw(map)
frame(wks)
end

脚本二:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
        a = addfile("./grib2006071600.grib1","r")
        u = a->U_GRD_3_ISBL({200},:,:)
        v = a->V_GRD_3_ISBL({200},:,:)

               
       duv = uv2dvG_Wrap(u,v)
        duv = duv/4
        
        scale = 1.e05
        duv = duv*scale
        
        wks = gsn_open_wks("png","divergerce200-2")
        res = True
        res@gsnDraw = False
        res@gsnFrame = False
        res@gsnPaperOrientation = "Landscape"
        
        res@tmYROn = False
        res@tmXTOn = False
        res@tmBorderThicknessF = 8.0
        
        mpres = res
        mpres@mpFillOn = False
        mpres@mpOutlineOn = True
        mpres@mpOutlineSpecifiers = "China:states"
        mpres@mpDataBaseVersion = "MediumRes"
        mpres@mpDataSetName = "Earth..4"
        mpres@mpGeophysicalLineThicknessF = 2
        mpres@mpNationalLineThicknessF = 2
        mpres@mpUSStateLineThicknessF = 2

        mpres@mpMinLatF = 15
        mpres@mpMaxLatF = 55
        mpres@mpMinLonF = 75
        mpres@mpMaxLonF = 135
        
        cnres = res
        cnres@cnFillOn = True
        cnres@gsnSpreadColors = True
        cnres@lbLabelAutoStride = True
        cnres@lbOrientation = "Vertical"
        cnres@lbLabelFontHeightF = 0.01
        cnres@lbPerimThicknessF = 0.01
        cnres@lbBoxLinesOn = False
        cnres@pmLabelBarWidthF = 0.05
        cnres@cnLinesOn = False
        
        
        cnres@cnLevelSelectionMode = "ManualLevels"
        cnres@cnMinLevelValF = -8
        cnres@cnMaxLevelValF = 8
        cnres@cnLevelSpacingF = 0.5
        
        cnres@gsnLeftString = "divergence"+"  " +"height:10m"
        cnres@gsnRightString = "1/s"+"  "+1.0/scale
        cnres@gsnCenterString = "06-07-19-06"
        
        map = gsn_csm_map(wks,mpres)
        plot = gsn_csm_contour(wks,duv,cnres)
        
        overlay(map,plot)

        draw(map)
frame(wks)
end

脚本二

脚本二

脚本一

脚本一

grib2006071600

22.74 MB, 下载次数: 12, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2014-12-3 09:43:42 | 显示全部楼层
本帖最后由 0708011 于 2014-12-3 09:49 编辑

整个图关于45度倒南北过来了。这个函数是对高斯格点的,而且纬度必须是升序排列。 QQ截图20141203094614.png


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

新浪微博达人勋

 楼主| 发表于 2014-12-3 09:44:50 | 显示全部楼层
0708011 发表于 2014-12-3 09:43
整个图关于45度倒南北过来了。

恩,我也是觉得,但是为什么呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-3 09:51:35 | 显示全部楼层
0708011 发表于 2014-12-3 09:43
整个图关于45度倒南北过来了。这个函数是对高斯格点的,而且纬度必须是升序排列。

那经纬度一般用哪个函数呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-3 09:52:00 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-3 09:52:14 | 显示全部楼层
yang69can 发表于 2014-12-3 09:44
恩,我也是觉得,但是为什么呢?

你运行的时候没有报错吗 第一种直接除以4不会保留metadata,因为又进行了运算。你在两个脚本中加一行printVarSummary(duv) 看看。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-3 09:55:12 | 显示全部楼层
0708011 发表于 2014-12-3 09:52
你运行的时候没有报错吗 第一种直接除以4不会保留metadata,因为又进行了运算。你在两个脚本中加一行prin ...

确实存在这个问题!您知道原因吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-3 09:55:50 | 显示全部楼层
yang69can 发表于 2014-12-3 09:55
确实存在这个问题!您知道原因吗?

因为数值肯定是一样的,没有报错!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-3 09:59:22 | 显示全部楼层
yang69can 发表于 2014-12-3 09:55
确实存在这个问题!您知道原因吗?

第一种写法没有经纬度信息,你应该采用第二种方式。经纬度格点用uv2dvF_Wrap这个函数算。还有画图用gsn_csm_contour_map  你这个应该是画的全球的但是地图是中国的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-3 10:03:35 | 显示全部楼层
0708011 发表于 2014-12-3 09:59
第一种写法没有经纬度信息,你应该采用第二种方式。经纬度格点用uv2dvF_Wrap这个函数算。还有画图用gsn_c ...

我的意思是您知道第一种为什么没有经纬度信息吗?为什么写成第二种就有了这个信息
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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