使用Basemap绘制NOAA数据

时间:2014-01-25 19:47:48

标签: python matplotlib matplotlib-basemap noaa

我对Python很陌生,但在过去几个月里我一直在学习很多东西。我正在尝试从位于此处的grib2文件中绘制NOAA膨胀高度数据:ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/wave/prod/wave.20140122/nww3.t06z.grib.grib2

我使用Basemap和我在Basemap论坛上找到的教程。

下面是一个最低限度的工作示例,但我在海岸线附近有一些奇怪的白盒子。

import Nio
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np

f = Nio.open_file('nww3.t12z.grib(2).grib2')
lons = f.variables['lon_0'][:]
lats = f.variables['lat_0'][::-1] # flip latitudes so data goes S-->N
times = f.variables['forecast_time0'][:]
ntime = 5
data = f.variables['HTSGW_P0_L1_GLL0'][ntime,::-1]

fig = plt.figure(figsize=(16,16))
m = Basemap(llcrnrlon=-35.,llcrnrlat=42.,urcrnrlon=5.,urcrnrlat=65.,
            projection='lcc',lat_1=10.,lat_2=15.,lon_0=10.,
            resolution ='h',area_thresh=1000.)

x, y = m(*np.meshgrid(lons, lats))
m.fillcontinents(color='#477519')
m.drawcoastlines(linewidth=0.5, color='k', antialiased=1, ax=None, zorder=None )

m.contourf(x, y, data, np.arange(0,9.9,0.1))
plt.show() 

这是结果(顶部面板;我希望它看起来像底部面板):http://oi43.tinypic.com/s2s3m0.jpg

抱歉,我没有足够的积分来发布图片。

提前致谢, 人

0 个答案:

没有答案