Изменение проекций карты между lcc и cea с помощью python pyproj

Я использую pyproj.Proj для преобразования данных модели и спутников в общую сетку, чтобы я мог масштабировать данные модели и сравнивать их со спутниковыми наблюдениями. Спутниковые наблюдения приведены в сетке EASE v2, а выходные данные модели - в конической проекционной сетке Ламберта. (Наборы данных можно найти по этой ссылке: Набор данных).

Это моя попытка:

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() 

Полученную фигуру можно найти здесь: Scatter plot. Как я понимаю, функция pyproj.transform должна преобразовывать сетку lcc модели в формат сетки EASE? Однако разброс сюжета выглядит не очень разумным.

0 ответов

Другие вопросы по тегам