用python3绘制TRMM nc4的问题

我试图绘制该TRMM数据,但它为空。 一些事情:

  1. 我已经(并且一直在使用)TRMM的* .nc文件每月平均数据,很好。
  2. 我最近下载了每日TRMM数据,它们都以* .nc4扩展名存在。而且其Lon和Lat似乎翻转了:(pcp,lon,lat)而不是(pcp,lat,lon)或类似的东西。
  3. 我可以绘制旧的TRMM文件(* .nc),但是当我对* .nc4使用相同的脚本时,不是 工作。

这是我的代码(忽略未使用的库):

import netCDF4 as nc
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import MultipleLocator
from mpl_toolkits.basemap import Basemap
from matplotlib.font_manager import FontProperties
from pylab import *

f1 = nc.Dataset('3B42_Daily.20030925.7.nc4.nc4')

pcpt1 = f1.variables['precipitation'][:,:]
pcpt1 = pcpt1*24
print (pcpt1.shape)

lon = f1.variables['lon'][:]
lat = f1.variables['lat'][:]


fig=plt.figure()
ax=plt.subplots_adjust(left=0.08,bottom=0.15)
map = Basemap(projection='cyl',llcrnrlat= 0,urcrnrlat=15,llcrnrlon=90.,urcrnrlon=120,resolution='i')
x,y=np.meshgrid(lat,lon)
cs = map.contourf(x,y,pcpt1)
map.drawcoastlines()
map.drawcountries()
map.drawparallels(np.arange(-90.,90.,3),labels=[1,0],fontsize=9,linewidth=0.1)
map.drawmeridians(np.arange(-180.,180.,labels=[0,1],linewidth=0.1)
plt.title('Precipitation TRMM',fontsize=10)

cax = fig.add_axes([0.015,0.,0.80,0.02])#0.015,0.25,0.97,0.02])
aa=fig.colorbar(cs,cax=cax,orientation='horizontal',format='%0.1f')
aa.set_label('mm/hr',fontsize=10)
aa.ax.tick_params(labelsize=7) 
plt.show()

数据很小,在这里:

1

TRMM data temporary location

所以,这是我运行脚本时得到的(没什么异常,但是我有一个空图):

In [39]: runfile('/Users/fadzilnor/fmonorovgmail/a-ANALYSIS/py/casestudy_percentile/trmm_nc4_test.py',wdir='/Users/fadzilnor/fmonorovgmail/a-ANALYSIS/py/casestudy_percentile')
(1440,400)
/Users/fadzilnor/fmonorovgmail/a-ANALYSIS/py/casestudy_percentile/trmm_nc4_test.py:62: MatplotlibDeprecationWarning: 
The dedent function was deprecated in Matplotlib 3.1 and will be removed in 3.3. Use inspect.cleandoc instead.
  map = Basemap(projection='cyl',resolution='i')
/Users/fadzilnor/fmonorovgmail/a-ANALYSIS/py/casestudy_percentile/trmm_nc4_test.py:69: MatplotlibDeprecationWarning: 
The dedent function was deprecated in Matplotlib 3.1 and will be removed in 3.3. Use inspect.cleandoc instead.
  map.drawcountries()

(Use this link if the link above expired)

我怀疑Lon和Lat问题(奇怪吗?)

zjtw212 回答:用python3绘制TRMM nc4的问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2847947.html

大家都在问