登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 whw334455 于 2016-6-18 22:10 编辑
关于提取wrf模式后处理中的相关变量或时次后,用grads画图出错的几点体会。 由于很多时候,我们跑wrf模式一般就为以下两个目的:一是模拟,二是业务预报。这两个目的,最终都要检验模拟或者预报的效果如何。而最简单也是最粗糙的检验就是分别画两张图,简单的对比检验一下。但如果要检验的更加细一些,或者说定量检验;比如求一下两个场之间的插值,或者两列数的相关系数,再或者评分等。而往往实况与模拟或者预报场,是两种不同格式的数据。这就需要对wrf模式的输出数据进行提取,转化。一般情况下,我们使用grads软件进行提取,然后进行画图比对分析,但往往在提取数据后画图会出错,要么报错,要么数据不对。下面对有关难点进行分析,如有不足之处,敬请高手谅解。 一. 关于ARWpost生成的原始ctl文件中的说明。 1. pdef说明语句 此语句在ctl中很关键,是wrf模式的投影方式及数据描述的详细说明。通常wrf模式采用的都是lambert投影,即pdef语句告诉我们wrf模式经过ARWpost处理以后,其原始数据按lambert投影的详细排列方式,是对原始数据的最全描述。 Pdef isize jsize latref lonref iref jref slat nlat standard_lon dx dy ,其中isize,jsize为x,y方向的总点数;latref,lonref为参考点的经纬度;iref,jref为参考点的(I,j)位置;slat,nlat为lambert投影m=1时南,北两个纬度(或者标准纬度);standard_lon为标准经度;dx,dy以米为单位的x和y方向的网格距。例如:pdef 400 300 lcc 34.500 100.500 150.500 150.500 60.00000 30.00000 100.50000 20000.000 20000.000
400 300 :400×300格点
lcc:Lambert投影
34.5,100.5 :模式的参考点位置;
150.500 150.500 :该点对应的网格点坐标为x方向第150.5个格点,y方向第150.5个格点;
30 60: Lambert投影中的标准纬度,
100.5:标准经度;
200000 网格距 18KM 2. options byteswapped.表示wrf模式输出数据经过ARWpost处理后,二进制的数据是反序写入的。 3. 在进行提取时,还要注意缺测值得问题,往往进行提取后,用grads画图会报错,或者图形中数据不对,很大或很小。----这时,有可能就是缺测值得问题。 wrf 模式转出数据经ARWpost处理后的缺测值和用grads提取数据后的缺测值不一样。所以,grads的提取变量的ctl中用ARWpost生成的ctl的缺测值,就会出现错误,或者数据不对。 解决方法:用fortran程序读取经grads提取生成的grd文件数据,查看一下缺测值。一般情况下,ARWpost生成ctl的文件默认缺测值为1.0e+30;而经过grads提取后的缺测值一般为-9.99e+08。即用grads画图时,要把缺测值设成-9.99e+08;而不是ARWpost中ctl的1.0e+30。 实践经验:用fortran查找缺测值时,缺测值一般会出现在前几个数,或者最后几个数。比如在垂直方向上,贴地面与模式层顶往往会出现缺测值;水平方向上,最左右两边格点容易出现缺测值。 4. 用grads对模拟场(或预报场)与实况场进行对比分析时,其两个场的ctl文件必须高度一致,否则会报错(提示两个ctl之间不协调),图形只能画一个场。 5. 用ARWpost处理wrf数据时,ARWpost的低版本只能生成小于2G的文件;ARWpost的高版本不存在此类问题。 6. 当ctl中有pdef与xdef,ydef三者时,表明将进行插值。把pdef投影数据插值到等经纬网格xdef和ydef上。此时用grads打开ctl文件时,会出现以下提示语句,否则不会出现。“interpolation will be performed on any data displayed from this file”---“插值将在此文件中的任何数据中进行”。---grads挺强大的,在open xxx.ctl时,就已经对数据进行了插值处理。换句话说,ctl文件很重要。
以上都是在工作实践中的总结与体会,如有不妥之处,敬请高手指点与纠错。
|