- 积分
- 3197
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-11-9
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2017-3-13 15:09:36
|
显示全部楼层
已经解决,可直接使用wrf_user_unstagger函数
WRF模式为完全可压缩以及非静力模式,为了兼顾计算效率和稳定性,水平方向采用Arakawa C(荒川C)网格点(重点考虑1-10km),垂直方向则采用地形跟随质量坐标。Arakawa-C网格点为交错格点,以下为图示说明:
因此,在以下U、V变量定义中:
float U(Time, bottom_top, south_north, west_east_stag) ; U:description = "x-wind component" ; U:units = "m s-1" ; x方向风分量(即纬向风)
float V(Time, bottom_top, south_north_stag, west_east) ; V:description = "y-wind component" ; V:units = "m s-1" ; y方向风分量(即经向风)
Time为时间维度数, bottom_top为垂直方向的层数,south_north为质量点南北方向的格点数,west_east为质量点东西方向的格点数,而west_east_stag(=west_east+1)是纬向风U东西方向的格点数,south_north_stag(=south_north+1)是经向风V南北方向的格点数。
正因为WRF模式水平方向采用的是交错网格点,所以在变量定义中分别定义了质量点、纬向风U-格点、经向风V-格点的经纬度,说明如下:
float XLAT(Time, south_north, west_east) ; XLAT:description = "LATITUDE, SOUTH IS NEGATIVE" ; XLAT:units = "degree_north" ; 质量点的纬度(南半球为负值)float XLONG(Time, south_north, west_east) ; XLONG:description = "LONGITUDE, WEST IS NEGATIVE" ; XLONG:units = "degree_east" ; 质量点的经度(西半球为负值)float XLAT_U(Time, south_north, west_east_stag) ; XLAT_U:description = "LATITUDE, SOUTH IS NEGATIVE" ; XLAT_U:units = "degree_north" ; U-格点的纬度(南半球为负值)float XLONG_U(Time, south_north, west_east_stag) ; XLONG_U:description = "LONGITUDE, WEST IS NEGATIVE" ; XLONG_U:units = "degree_east" ; U-格点的经度(西半球为负值)float XLAT_V(Time, south_north_stag, west_east) ; XLAT_V:description = "LATITUDE, SOUTH IS NEGATIVE" ; XLAT_V:units = "degree_north" ; V-格点的纬度(南半球为负值)float XLONG_V(Time, south_north_stag, west_east) ; XLONG_V:description = "LONGITUDE, WEST IS NEGATIVE" ; XLONG_V:units = "degree_east" ; V-格点的经度(西半球为负值)
因此,纬向风U(Time, bottom_top, south_north, west_east_stag) 所对应的经纬度坐标分别由是XLAT_U和XLONG_U所定义,V(Time,bottom_top, south_north_stag, west_east)对应的经纬度坐标即XLAT_V和XLONG_V对应的坐标。
如果你需要某一个坐标上的U、V数据,由于WRF模式输出的U、V数据的网格点是交错的,需要用相邻的纬向风U-格点、经向风V-格点的U、V数据分别进行插值得到;如果你需要的是多个格点的U、V数据,建议先将模式输出数据插值到统一的网格坐标点上,再读取你需要坐标点的U、V数据。 |
|