TRMM 3B43是卫星观测月平均降水量产品,是HDF的格点数据。需要注意的是数据中降水变量维的顺序里经度维在前纬度维在后,这与通常的设置(纬度维在前经度维在后)相反,需要对获取的二维数组进行转置,使用transpose函数。数据的经纬度数组也需要定义(文件中没有)。数据中的0值为缺测值(fill_value),并不是一个好的缺测值设置,因此改为-9999.0。
脚本程序:
#Add data file folder = 'D:/Temp/hdf/' fns = '3B43.100301.6A.HDF' fn = folder + fns f = addfile(fn) vname = 'precipitation' t = f[vname] rain = t[0,:,:] rain = transpose(rain) rain[rain==0] = -9999.0 rain.fill_value = -9999.0 lat = arange(-49.875, 49.875, 0.249375) lon = arange(-179.875, 179.876, 0.25) #Plot axesm() mlayer = shaperead('D:/Temp/map/country1.shp') geoshow(mlayer) layer = imshowm(lon, lat, rain, 20) colorbar(layer, orientation='horizontal') title(vname + 'at scan=0 (mm/hr)') axism()