请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3091|回复: 1

关于NCL求风速差月均值的问题

[复制链接]

新浪微博达人勋

发表于 2018-4-8 22:57:09 | 显示全部楼层 |阅读模式

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

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

x
我需要算出1月和8月的风速差,目前手头的数据是一月和八月各有四个时刻的平均u,v风,如图
但是处理出来的数据并不对,比如700hap几乎每月冬季和夏季的风向差,代码如下:
begin
f = addfile("E:/ERA_Interim_0.125m/1980_uv.nc","r")
u_temp = f->u
v_temp = f->v
wdir = wind_direction(1.0*u_temp,1.0*v_temp,0)
printVarSummary(wdir)

wdir@long_name = "wind_direction"
wdir@units = "degree"

time = f->time
wdir!0 = "time"
wdir&time = time

lev = f->level
wdir!1 = "lev"
wdir&lev = lev

lat = f->latitude
wdir!2 = "lat"
wdir&lat = lat

lon = f->longitude
wdir!3 = "lon"
wdir&lon = lon
f1 = addfile("D:/NCL_data/avg_wdir/1989_avg.nc","c")
f1->wdir = wdir
;f2->lat = f->latitude
;f2->lon = f->longitude
;f2->t = f->time
;f2->lev = f->level

;define Jan
Jan = wdir
time = f->time
Jan!0 = "time"
Jan&time = time

lev = f->level
Jan!1 = "lev"
Jan&lev = lev

lat = f->latitude
Jan!2 = "lat"
Jan&lat = lat

lon = f->longitude
Jan!3 = "lon"
Jan&lon = lon

;define Aug
Aug = wdir

time = f->time
Aug!0 = "time"
Aug&time = time

lev = f->level
Aug!1 = "lev"
Aug&lev = lev

lat = f->latitude
Aug!2 = "lat"
Aug&lat = lat

lon = f->longitude
Aug!3 = "lon"
Aug&lon = lon

x = wdir
;define x
x!0 = "time"
x!1 = "level"
x!2 = "lat"
x!3 = "lon"

;赋值,每个月有四个时刻数据,便于后面计算每月平均风向,0-3是一月,4-7是8月
Jan(0,:,:,:) = x(0,:,:,:)
Jan(1,:,:,:) = x(0,:,:,:)
Jan(2,:,:,:) = x(1,:,:,:)
Jan(3,:,:,:) = x(1,:,:,:)
Jan(4,:,:,:) = x(2,:,:,:)
Jan(5,:,:,:) = x(2,:,:,:)
Jan(6,:,:,:) = x(3,:,:,:)
Jan(7,:,:,:) = x(3,:,:,:)

Aug(0,:,:,:) = x(4,:,:,:)
Aug(1,:,:,:) = x(4,:,:,:)
Aug(2,:,:,:) = x(5,:,:,:)
Aug(3,:,:,:) = x(5,:,:,:)
Aug(4,:,:,:) = x(6,:,:,:)
Aug(5,:,:,:) = x(6,:,:,:)
Aug(6,:,:,:) = x(7,:,:,:)
Aug(7,:,:,:) = x(7,:,:,:)

xMon1 = dim_avg_n(Jan,0)
;print(Jan)
xMon2 = dim_avg_n(Aug,0)
;print(Aug)

;define xMon1
xMon1@long_name = "Jan Wdir"
xMon1@units = "degree"
xMon1!0 = "lev"
xMon1&lev = lev
xMon1!1 = "lat"
xMon1&lat = lat
xMon1!2 = "lon"
xMon1&lon = lon

;define xMon2
xMon2@long_name = "Aug Wdir"
xMon2@units = "degree"
xMon2!0 = "lev"
xMon2&lev = lev
xMon2!1 = "lat"
xMon2&lat = lat
xMon2!2 = "lon"
xMon2&lon = lon

f1->xMon1 = xMon1
;print(xMon1)
f1->xMon2 = xMon2
;print(xMon2)

xMon = abs(xMon1 - xMon2)
;define xMon
xMon@long_name = "Wdir Subtraction"
xMon@units = "degree"
xMon!0 = "lev"
xMon&lev = lev
xMon!1 = "lat"
xMon&lat = lat
xMon!2 = "lon"
xMon&lon = lon

;printVarSummary(xMon)
f1->xMon = xMon
;print(xMon)
printVarSummary(xMon)
end

原数据

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

新浪微博达人勋

 楼主| 发表于 2018-4-8 23:00:19 | 显示全部楼层
有错别字,处理出来的数据在某些层上几乎没有冬季和夏季的风向差
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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