2

我正在使用 pyproj.Proj 将模型和卫星数据转换为公共网格,以便我可以放大模型数据并将其与卫星观测结果进行比较。卫星观测在 EASE v2 网格中给出,而模型输出在 Lambert 圆锥保形投影网格中给出。(数据集可以在此链接中找到:数据集)。

这是我的尝试:

import numpy as np
import matplotlib.pylab as plt
import netCDF4 
import mpl_toolkits.basemap.pyproj as pyproj 

# Reading the EASE grid (over Nordic region), given in lon/lat
ease_lon = np.genfromtxt('ease36km_metcoop_lon.txt')
ease_lat = np.genfromtxt('ease36km_metcoop_lat.txt')

# Read model grid, projected x and y values in Cartesian format [m]
test = 'arome_metcoop_test2_5km_20170215_18.nc'   

OFF = netCDF4.Dataset(test, mode='r')
xx = OFF.variables['x'][:]
yy = OFF.variables['y'][:]
OFF.close()

xv, yv = np.meshgrid(xx,yy)

EASE = pyproj.Proj("+proj=cea +lat_0=0.0 +lon_0=0.0 +lat_ts=30 +ellps=WGS84 +datum=WGS84")

lcc = pyproj.Proj("+proj=lcc +lat_0=63 +lon_0=15 +lat_1=63 +lat_2=63 +no_defs +R=6.371e+06")

nlon, nlat = pyproj.transform(lcc,EASE, xv, yv)
elon, elat = EASE(ease_lon, ease_lat)

plt.figure()
plt.scatter(nlon, nlat)
plt.hold('on')
plt.scatter(elon,elat)
plt.title('Model grid converted to EASE v2 projection?')
plt.show() 

可以在此处找到结果图:散点图。据我了解 pyproj.transform 函数,它应该将模型 lcc 网格转换为 EASE 网格格式吗?但是散点图看起来不是很合理。

4

0 回答 0