爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: sfhstcn2

[源程序] [原创]matlab直接插值提取wrfout中变量的工具包(持续更新)

  [复制链接]

新浪微博达人勋

 楼主| 发表于 2017-4-5 09:46:10 | 显示全部楼层
ppap 发表于 2017-4-5 09:34
谢谢您的回答,那计算T就不能用您给的getvar函数了是吗?

可以用,GetVar就是用来做插值的,用法可以参考里面的testget.m的代码。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-5 10:00:13 | 显示全部楼层
sfhstcn2 发表于 2017-4-5 09:46
可以用,GetVar就是用来做插值的,用法可以参考里面的testget.m的代码。
  1. clear all;close all;clear;
  2. %% Import data
  3. filename = 'wrfout_d01_2016-09-11_12_00_00'
  4. ncdisp(filename);
  5. % 大连站
  6. latmin = 38.85;
  7. latmax = 38.95;
  8. lonmin = 121.58;
  9. lonmax = 121.68;
  10. lev = [1000,925,850,700,500];
  11. dl = 0.05;
  12. [LON,LAT]=meshgrid(lonmin:dl:lonmax,latmin:dl:latmax);
  13. [tem,time] = GetVar( filename,'T',LON,LAT,lev,'all',1,'p' );
  14. tem_high = tem(2,2,:,1);
复制代码


这是我用您的方法写的读取温度的代码,运行结果不对。结果是这样的:
val(:,:,1) =

   -5.3002   -5.2470   -5.2536
   -5.3589   -5.3009   -5.3081
   -5.3781   -5.3499   -5.3570


val(:,:,2) =

   -2.2797   -2.3316   -2.3622
   -2.4256   -2.4763   -2.4786
   -2.5667   -2.5880   -2.5903


val(:,:,3) =

    0.2082    0.2066    0.2039
    0.0976    0.0974    0.1070
   -0.0152   -0.0136   -0.0044


val(:,:,4) =

    4.6558    4.6912    4.7192
    4.6674    4.7040    4.7378
    4.6536    4.6710    4.7030


val(:,:,5) =

   15.6465   15.6499   15.6496
   15.6256   15.6335   15.6736
   15.6490   15.6708   15.7111

首先温度随着高度升高而升高,并且单位是K的话数值也不对。

麻烦您看一下这是什么问题啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-5 18:21:49 | 显示全部楼层
ppap 发表于 2017-4-5 10:00
这是我用您的方法写的读取温度的代码,运行结果不对。结果是这样的:
val(:,:,1) =

我查了一下,'T'这个变量表示的是扰动位温(theta-t0),每个变量具体意义可以参考帖子:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=13277

这儿要计算温度,不防设置为'tk',单位是K。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-13 16:37:03 | 显示全部楼层
sfhstcn2 发表于 2017-4-5 18:21
我查了一下,'T'这个变量表示的是扰动位温(theta-t0),每个变量具体意义可以参考帖子:
http://bbs.06 ...

不好意思,我没在wrfout的参数中找到tk这个参数
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-13 21:20:25 | 显示全部楼层
ppap 发表于 2017-4-13 16:37
不好意思,我没在wrfout的参数中找到tk这个参数

wrfout里面是没有tk,但可以通过wrfout里的另外一些诊断量直接给算出来,而这个工具包里面有计算这个的程序,因此直接设为‘tk’是可以提取温度的
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-4-20 23:19:56 | 显示全部楼层
你好,为什么我用pressure读出来是负值呢?确实是在z坐标下。请问这是什么问题?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-25 20:34:28 | 显示全部楼层
哇找了好久~感谢感谢!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-26 10:08:42 | 显示全部楼层
ppap 发表于 2017-4-20 23:19
你好,为什么我用pressure读出来是负值呢?确实是在z坐标下。请问这是什么问题?

注意:z坐标下lev的设置,单位是km,lev的取值不要超过模式层顶的高度,不然会算出负值
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-27 09:22:12 | 显示全部楼层
谢谢楼主 膜拜大神
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-10 18:06:07 | 显示全部楼层
感谢楼主分享,正需要
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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