- 积分
- 15399
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-9-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 sfhstcn2 于 2015-9-30 01:12 编辑
MATLAB现在可以直接处理wrfout的数据了!——wrfout_post工具包!
目前实现的功能:
垂直层次由eta坐标插值到p坐标或z坐标;
水平插值;
p坐标和z坐标下地形空白点外推;
一部分诊断量的计算。
建议用法:
将此压缩包解压后得到的文件夹放在matlab安装目录的toolbox下然后set path。
注意事项:
(1)目前程序还不完善,可能也存在一些问题,持续更新、改进、完善中。
(2)使用方法在包里的ReadMe里面。
(3)提供了一个testget.m来试运行(速度绝对不慢!)。
(4)matlab要2012 或者7.0以上的版本,就是能支持netcdf读取的。
使用说明:
用于提取wrfout数据的函数:GetVar,用法:
[ var1,var2 ] = GetVar( filename,varname,LON,LAT,LEV,T,extrap,inter_typ )
其中
filename为文件名;
varname为所提取的变量名(参考wrf说明书上关于wrfout各变量意义);
LON和LAT为所要得到的格点数据的经纬度值,一般用meshgrid得到;
LEV为所要插值的气压层,p坐标下单位hPa,z坐标下单位为km,可以为1*n的数组。注意当使用外推(extrap=1或'T'或'TRUE')时,LEV的值需从地表到高空排列,且length不宜超过模式eta的层次;
T为所提取的时次,1*n的数组,若设为'all'则提取所有时次;
extrap为外推选项,即对于插值后因为地形等原因产生的缺省值点进行外推插值使其获得数值,设为1或者'T'或'TRUE'则执行外推,设为其它则不外推。
inter_typ为插值模式,'p'为插值到p坐标下,'z'为插值到z坐标下。
var1为提取的主变量,var2为辅变量。当varname设为下表诊断量中所标示的值时,提取结果为标示结果;而当varname不为以上标注时,var1输出处理后所提取的变量,var2可输出所提取结果的时间,格式为1*nt(nt为提取的时间维长度)的struct变量。struct的格式为:
{ char year,month,day,hour,minute,second } time
每个子变量均为字符型,依次表示年月日时分秒。如:time(1).year,time(5).minute,均可以表示某时刻的年或分时间信息。
另外提供了几个常用诊断量的提取,直接将varname项设为如下即可:
'height' 位势高度(m)(仅用于p坐标插值)
'pressure' 气压(hPa)(仅用于z坐标插值)
'tk' 开氏温度(K)
'theta' 位温(K)
'thetase' 假相当位温(K)
'td' 露点温度(℃)
'rh' 相对湿度(%)
'slp' 海平面气压(hPa)
'dbz' 3-D相当反射率(dBZ)(var1为dbz,var2为maxdbz)
'maxdbz' 最大反射率(dBZ)
'wspd' 风速(m/s)(var1为wspd,var2为wdir)
'wdir' 风向(°)(同上)
'ws10' 10米风速(m/s)(var1为ws10,var2为wd10)
'wd10' 10米风向(°)(同上)
'mpv' 湿位涡(PVU)(var1为mpv1,var2为mpv2)
9月30日更新日志:
(1)将提取变量的函数改为GetVar;
(2)提供了两个供输出的变量(var1和var2)用于提取作为一对的诊断量(如dbz,wspd,mpv等),当varname不为以上标注时,var1输出处理后要提取的变量,var2可输出模拟结果的时间,格式为1*nt(nt为提取的时间维长度)的struct变量。
(3)实现对z坐标的垂直插值和外推。
(4)增加3个用于地球坐标下计算涡度散度和梯度的函数:m_cur,m_div,m_grad。
(5)增加可提取的诊端量:'pressure','slp','wspd','wdir','ws10','wd10','mpv'。具体意义见上。
|
评分
-
查看全部评分
|