爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 32718|回复: 41

[作图] GrADS和NCL求出来区域平均不一样,求解!!!

[复制链接]

新浪微博达人勋

发表于 2015-4-12 23:50:32 | 显示全部楼层 |阅读模式

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

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

x
求解为什么GrADS(图1)NCL(图2) 求出来全球SST平均温度不一样,而且差异很大?NCL初学者跪求高手指点,已经求气候态和异常值20多天了,始终发现有问题,跪求指点{:soso_e101:}!!!


Grads脚本:
'sdfopen E:\Data\sst.mnmean.nc'

'set x 1'
'set y 1'
'set z 1'
'set t 1 1932'
'd tloop(aave(sst,lon=0,lon=360,lat=-90,lat=90))'



NCL脚本:
begin
fsst      = addfile(dir+fil,"r")
st        = fsst->sst
global  = dim_avg_n_Wrap(st(:,:,:),(/1,2/))
print(global)
exit

end

图1_grads.jpg
图2_NCL.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-10 10:00:57 | 显示全部楼层
藕茭白空心菜 发表于 2017-3-24 09:55
请问加权的话ncl用哪个函数

  面积加权
   rad    = 4.*atan(1.)/180.
   clat   = input_sst->lat({-10:10})
   clat   = sqrt( cos(rad*clat) )


   wVAR   = ssta                                  ; copy meta data
   wVAR   = ssta*conform(ssta, clat, 1)
   wVAR@long_name = "Wgt: "+wVAR@long_name
    ssta_avg=dim_avg_n_Wrap(wVAR(:,:,:),(/1,2/))  ;get nino3 index,area mean
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

发表于 2015-4-13 06:46:12 | 显示全部楼层
同样求问,发现好多的函数ncl的结果和grads或fortran处理出来的结果不一样的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-13 08:35:15 | 显示全部楼层
看你的数据是不是short型的,如果是,在ncl里面要转换数据类型
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-13 09:02:41 | 显示全部楼层
aave()      Calculates an areal average over an X-Y region (latitude-weighted)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-13 09:07:55 | 显示全部楼层
niuda 发表于 2015-4-13 06:46
同样求问,发现好多的函数ncl的结果和grads或fortran处理出来的结果不一样的

可能是对NCL函数没有深入理解,不是很了解,所以就会出现应用错误的情况。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-13 09:08:50 | 显示全部楼层
尽头的尽头 发表于 2015-4-13 08:35
看你的数据是不是short型的,如果是,在ncl里面要转换数据类型

数据是float型的,应该不用转吧

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

新浪微博达人勋

 楼主| 发表于 2015-4-13 09:09:43 | 显示全部楼层
本帖最后由 aa22556688 于 2015-4-13 09:13 编辑
longlivehj 发表于 2015-4-13 09:02
aave()      Calculates an areal average over an X-Y region (latitude-weighted)

那在NCL里面哪个求平均的函数是加权的呢?能否告诉一下。
是用dim_avg_wgt_n_Wrap 这个函数么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-13 09:21:49 | 显示全部楼层
aa22556688 发表于 2015-4-13 09:09
那在NCL里面哪个求平均的函数是加权的呢?能否告诉一下。
是用dim_avg_wgt_n_Wrap 这个函数么?

The aave function assumes that the world coordinates are longitude in the X dimension and latitude in the Y dimension, and does weighting in the latitude dimension by the difference between the sines of the latitude at the northern and southern edges of the grid box. For areal averaging without latitude weighting, use the amean function.

根据上面红色部分提示,跟ncl中latRegWgt函数(http://www.ncl.ucar.edu/Document ... ted/latRegWgt.shtml)求取权重的方式一样。楼主试试先用latRegWgt获得权重,然后用dim_avg_wgt_Wrap平均。




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

新浪微博达人勋

发表于 2015-4-13 09:50:35 | 显示全部楼层
grads里amean为等权
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-13 12:51:20 | 显示全部楼层
longlivehj 发表于 2015-4-13 09:21
The aave function assumes that the world coordinates are longitude in the X dimension and latitude ...

仅仅是求区域平均的话,不用加权重的吧,直接用dim_avg_n_Wrap(*, (/1,2/))不可以的吗?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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