MeteoInfoLab脚本示例:MODIS Sinusoidal投影HDF数据

MODIS卫星很多陆面数据都是Sinusoidal投影,数据被分为一个个10*10度(赤道地区)的瓦片(http://modis-land.gsfc.nasa.gov/MODLAND_grid.html),数据格式通常是HDF-EOS格式,作为EOS格式MeteoInfo可以自动读出数据的坐标信息(包括投影等)。

脚本程序:

f = addfile(‘D:/Temp/Hdf/MOD10A1.A2010365.h27v05.005.2011002103013.hdf‘)
vname = ‘snow_Albedo_Daily_Tile‘
data = f[vname][:,:]
axesm(projinfo=f.proj, griddx=5, griddy=5, gridline=True)
mlayer = shaperead(‘D:/Temp/map/country1.shp‘)
geoshow(mlayer)
levs = arange(0, 100, 5)
layer = imshowm(data, 20, proj=f.proj)
title(vname)
colorbar(layer)
axism()

放大到数据范围:

在创建axesm坐标系是不给出投影参数,缺省是经纬度投影,数据图形会自动投影。

axesm(griddx=30, griddy=30, gridline=True)

放大到数据范围:

时间: 2024-10-09 23:24:23

MeteoInfoLab脚本示例:MODIS Sinusoidal投影HDF数据的相关文章

MeteoInfoLab脚本示例:AIRS Swath HDF数据

例子中的AIRS Swath HDF数据在Polar Stereographic(南极)投影中接近矩形,需要先从数据中读出经纬度及相关数据数组,利用surfacem函数绘制Swath数据(散点),在surfacem函数中经纬度数据会被投影到目的投影坐标系(在axesm函数中定义),并从2维散点数据生成surface数据(也就是格点数据)用所谓的surface插值方法.2维散点数据可以组成格网(非矩形格网),遍历目标格点数据的每个格点,该格点落在格网中哪个网格中,就将此网格的散点值赋给该格点.有些

MeteoInfoLab脚本示例:TRMM 2A12 HDF数据

TRMM 2A12 HDF数据是卫星观测的SWATH数据(轨道数据),比格点数据处理起来要麻烦一些.数据的经纬度保存在geolocation变量中,需要先将经纬度数据读出来(均为2维数组),然后读取云水含量数据(cldWater).虽然都是2维数组,但并不是格点数据,相当于2维的散点数据,点数相当多(3019*208)如果用散点图来绘制的话会非常的慢,需要将其插值为格点数据.插值方法建议选择nearest,该方法速度最快.插值后的格点数据用imshowm函数显示为图像就很快了. 脚本程序: #A

MeteoInfoLab脚本示例:OMI Swath HDF数据

这个例子读取OMI卫星Swath数据中的CloudFaction变量并绘图. 脚本程序: #Add data file folder = 'D:/Temp/hdf/' fns = 'OMI-Aura_L2-OMNO2_2008m0720t2016-o21357_v003-2008m0721t101450.he5' fn = folder + fns f = addfile(fn) lon_v = f['Longitude'] lat_v = f['Latitude'] lon = lon_v[:

MeteoInfoLab脚本示例:FY-3A AOD HDF数据

FY3A卫星有HDF格式的AOD产品数据,全球范围,分辨率为0.05度.读取数据文件变量后要重新设定X/Y维,数据是Y轴反向的,且需要除以10000得到AOD值. 脚本程序: #Add data file fn = 'D:/Temp/hdf/FY3A_MERSI_GBAL_L3_ASL_MLT_GLL_20140331_AOAM_5000M_MS.HDF' f = addfile(fn) #Get data variable v = f['Aerosol_Optical_Thickness_of

MeteoInfoLab脚本示例:OMI Grid HDF数据

OMI卫星格点数据的例子,全球臭氧柱总量分布. 脚本程序: #Add data file folder = 'D:/Temp/hdf/' fns = 'OMI-Aura_L3-OMTO3e_2005m1214_v002-2006m0929t143855.he5' fn = folder + fns f = addfile(fn) vname = 'ColumnAmountO3' v = f[vname] data = v[:,:] #Plot axesm() mlayer = shaperead

MeteoInfoLab脚本示例:FY-3C全球火点HDF数据

FY-3C全球火点HDF数据包含一个FIRES二维变量,第一维是火点数,第二维是一些属性,其中第3.4列分别是火点的纬度和经度.下面的脚本示例读出所有火点经纬度并绘图. 脚本程序: #Add data file fn = 'D:/Temp/hdf/FY3C_VIRRX_GBAL_L2_GFR_MLT_GLL_20150811_POAD_1000M_MS.HDF' f = addfile(fn) #Get data variable v = f['FIRES'] #Get data array d

MeteoInfoLab脚本示例:MERRA HDF数据

MERRA是NOAA的一种再分析资料,HDF数据遵循COARDS协议,读取比较简单. 脚本程序: #Add data file folder = 'D:/Temp/hdf/' fns = 'MERRA300.prod.assim.tavg1_2d_slv_Nx.20150101.SUB.hdf' fn = folder + fns f = addfile(fn) vname = 't2m' t = f[vname] t2m = t[0,:,:] #Plot axesm() mlayer = sh

MeteoInfoLab脚本示例:站点数据绘制等值线

站点数据绘制等值线需要首先将站点数据插值为格点数据,MeteoInfo中提供了反距离权法(IDW)和cressman两个方法,其中IDW方法可以有插值半径的选项.这里示例读取一个MICAPS第一类数据(地面全要素观测),获取6小时累积降水数据(Precipitation6h),然后用站点数据的griddata函数将站点数据插值为格点数据,再利用contourfm函数创建等值线填色图层(等值线间隔和颜色可以自定义). 脚本程序(经纬度投影): #Set data folders basedir =

MeteoInfoLab脚本示例:计算垂直螺旋度

尝试编写MeteoInfoLab脚本计算垂直螺旋度,结果未经验证. 脚本程序: print 'Open data files...' f_uwnd = addfile('D:/Temp/nc/uwnd.2011.nc') f_vwnd = addfile('D:/Temp/nc/vwnd.2011.nc') f_omega = addfile('D:/Temp/nc/omega.2011.nc') print 'Calculate vertical helicity...' tidx = 173