大家好!第10期,和大家讨论一下WRF风场结果的风向调整。 在使用FVCOM模型时,我们经常会加入风场强迫,来研究风对海洋上混合层的影响。通常,我们可以从NCEP、ECMWF等机构下载再分析风场数据;有时,我们也会在研究区域建立一个WRF气象模型,使用WRF的风场结果作为FVCOM的驱动条件。对于第一种方法,由于下载的数据多为方形网格、地理坐标系(经纬度)下的数据,我们可以直接使用;然而,WRF的模拟风场结果有时并不能直接用来驱动FVCOM,这里涉及到一个风场在不同坐标系下的投影问题。 WPS中支持几种不同的投影方式来构建WRF网格:lambert,polar stereographic,mercator,latitude-longitude等。在WRF的结果文件里,输出的风速变量,如U、V、U10和V10,都是在所用投影方式坐标系下的x向和y向风速。所以,WRF的风速结果并不一定是我们平日里所描述的风。具体地,当投影方式选用lambert或者是polar stereographic时,WRF的风场结果在使用前需要进行风向调整,使其变为地理坐标系下所常用的风。 以WPS tutorial中常用的一套网格为例(WPSV3.3.1中的namelist.wps),该网格使用lambert投影方式,其他主要参数如下: ref_lat = 34.83, ref_lon = -81.03, truelat1 = 30.0, truelat2 = 60.0, stand_lon = -98.0, 最终网格如下图。图中,黑色虚线表示经纬度线,其指向我们通常所说的东西南北四个方向,黑色实线表示以上设置所构建的网格区域,区域中的几个坐标系表示在当前投影下,其原点的x轴和y轴正向。可以看到,该投影下的x轴并没有指向正东方,而且各网格点的x轴正向并不相同;y轴同样情况。因此,在使用这种投影下的风场结果前,我们需要先进行风向调整。
我们以上图红方框中的小区域为例,对风向进行调整(如下图)。下图中,黑色虚线表示经纬网,黑色实线表示模型网格,可以看到,两套网格线已经存在很大的角度偏差。假设模型得到的风场结果均为u=10m/s,v=0,如果我们直接使用,会误以为风场结果是10m/s的西风,则模型的结果为下图红色箭头;而实际上,模型风场结果应为蓝色箭头。在图中十五个位置的两种结果,风速相同,均为10m/s,但风向却存在10-12°的偏差,且越往东南方偏差越大(与设置有关)。
在上面四种投影方式中,使用lambert或polar stereographic后的风场结果需要进行风场调整。在WRF的原始代码中,并没有提供从这两种投影方式向地理坐标进行风向调整的方法。幸运的是,在代码中提供了从地理坐标向这两种投影方式的坐标系进行风向调整的代码(share/module_llxy.F中的lc_cone和share/share/wrf_fddaobs_in.F中的rotate_vector),方程如下:
式中下标ll表示地理坐标系下风场,下标xy表示两种投影坐标系下的风场即WRF的结果风场,α为调整角度(具体算法可参考上文提及的两个subroutine)。对以上公式进行推导,便可得到从两种投影下的风场向地理坐标系下风场调整的公式:
这种对WRF风场结果的风向调整在许多WRF后处理软件中都可见到。比如NCL中的wrf_uvmet,ARWpost中的module_calc_uvmet,其方法均同上文所述。在lambert投影下的风向订正,我写了MATLAB的function,习惯使用MATLAB或者感兴趣的朋友可以下载交流(www.52ocean.cn)。 6 a( F4 R- V& q0 _3 {# f; i
@. U# j0 J& o4 q6 A
|