爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5013|回复: 7

[求助] ncl做散度

[复制链接]

新浪微博达人勋

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

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

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

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

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

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





divergerce200-2.png
divergerce200-1.png

grib2006071600

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

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

新浪微博达人勋

发表于 2014-12-3 09:28:03 | 显示全部楼层
我觉得你画的两张图都是一样的,但是显示的范围有差异,仔细看右上角的高低值平行的“条”就知道了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-3 09:46:19 | 显示全部楼层
风往北吹 发表于 2014-12-3 09:28
我觉得你画的两张图都是一样的,但是显示的范围有差异,仔细看右上角的高低值平行的“条”就知道了。

但是唯一变的是脚本中的紫色的一两句计算,其他的都没有变呀!范围为什么会变呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-3 10:02:33 | 显示全部楼层
yang69can 发表于 2014-12-3 09:46
但是唯一变的是脚本中的紫色的一两句计算,其他的都没有变呀!范围为什么会变呢?

第一种方案应该是没错的,可能是在赋值传递过程中坐标信息丢失了吧。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-3 10:05:01 | 显示全部楼层
风往北吹 发表于 2014-12-3 10:02
第一种方案应该是没错的,可能是在赋值传递过程中坐标信息丢失了吧。

但是为什么第二种没有丢失,第一种丢失了呢?从数学上看是同样的计算思路呀!所以这里我不太懂,不知道您可以帮我解决下这个问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-3 13:51:21 | 显示全部楼层
yang69can 发表于 2014-12-3 10:05
但是为什么第二种没有丢失,第一种丢失了呢?从数学上看是同样的计算思路呀!所以这里我不太懂,不知道您 ...

ncl中等号的功能跟一般的还是有一些差异的,根据之前的解释,给第一种方案重新在赋一个经纬度属性,如果跟第二种是一样的结果的话应该就是坐标信息不对了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-3 13:51:28 | 显示全部楼层
yang69can 发表于 2014-12-3 10:05
但是为什么第二种没有丢失,第一种丢失了呢?从数学上看是同样的计算思路呀!所以这里我不太懂,不知道您 ...

ncl中等号的功能跟一般的还是有一些差异的,根据之前的解释,给第一种方案重新在赋一个经纬度属性,如果跟第二种是一样的结果的话应该就是坐标信息不对了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-3 15:07:57 | 显示全部楼层
虽然不知道为什么会这样,看着就像镜子的两面,图沿着45°纬度倒过来了。不过呈东北-西南走向的第一个图应该是对的吧。希望有高人能解答
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-8 06:52:41 | 显示全部楼层
ncl作图真心漂亮,,,可惜不会啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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