- 积分
- 685
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-2-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 xo2001 于 2013-6-20 22:12 编辑
最近想用NCL画图,又怕函数用错,于是就用NCL,grads和自己编程三种方法对比,发现结果差异很大,比如散度,NCL用的是div=uv2dv_cfd(u,v,lat,lon,2)这个函数,自己编程用的也是中央差分的方法,grads用的是hdivg(u,v)的函数,但是结果,自己编程的和NCL在lat=-60到60度之间基本一致,高纬是有些差异。但是grads计算得到的差异就太大了。第一个 是grads画的,第二个是NCL,第三个是自己编程算的,有没有人知道为什么?求助~计算的步骤主要是
grads:
sdfopen /work/cal/temp3/1999/uwnd.1999.nc
sdfopen /work/cal/temp3/1999/vwnd.1999.nc
d hdivg(uwnd,vwnd.2)
NCL:
ufile=addfile("/work/cal/temp3/1999/uwnd.1999.nc","r")
vfile=addfile("/work/cal/temp3/1999/vwnd.1999.nc","r")
u=ufile->uwnd(178,6,:,:)*0.01+202.66
v=vfile->vwnd(178,6,:,:)*0.01+202.66
lat=ufile->lat
lon=ufile->lon
div1=uv2dv_cfd(u,v,lat,lon,2)
plot=gsn_csm_contour_map(wks,div,res)
编程:
do i=2,nx-1
do j=2,ny-1
dx(i,j)=6400000*5/180*3.14159*cos((90-2.5*(j-1))/180*3.14159) !2.5度一个格距,中央查分用到前后两个点5度距离
dy(i,j)=6400000*5/180*3.14159 !2.5度一个格距,中央查分用上下两个点5度距离
div(i,j)= (u(i+1,j)-u(i-1,j))/dx(i,j)+(v(i,j-1)-v(i,j+1))/dy(i,j) !计算散度
enddo
enddo
|
评分
-
查看全部评分
|