MeteoInfoLab脚本示例:AIRS Swath HDF数据

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

脚本程序:

#Add data file
folder = ‘D:/Temp/hdf/‘
fns = ‘AIRS.2002.12.31.001.L2.CC_H.v4.0.21.0.G06100185050.hdf‘
fn = folder + fns
f = addfile(fn)
lon_v = f[‘Longitude‘]
lat_v = f[‘Latitude‘]
lon = lon_v[:,:]
lat = lat_v[:,:]
vname = ‘radiances‘
rad_v = f[vname]
rad = rad_v[:,:,567]
#Plot
plot,proj = axesm(proj=‘stere‘, lat_0=-90, gridline=True, griddx=30, griddy=30)
mlayer = shaperead(‘D:/Temp/map/country1.shp‘)
geoshow(mlayer)
levs = arange(40, 90, 1)
#slayer = scatterm(lon, lat, rad, levs, edge=True)
layer = surfacem(lon, lat, rad, levs)
colorbar(layer, orientation=‘horizontal‘)
title(‘{0}\n {1}‘.format(fns, vname))
axism()

时间: 2024-11-08 19:23:26

MeteoInfoLab脚本示例:AIRS Swath HDF数据的相关文章

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脚本示例:AMSR-E卫星数据投影

AMSR-E(http://nsidc.org/data/amsre/index.html)数据中的Land3数据是HDF-EOS4格式,投影是Cylindrical_Equal_Area.这里示例读取数据并投影至等经纬度投影. 脚本程序: #Add data file fn = 'AMSR_E_L3_DailyLand_V06_20091231.hdf' f = addfile(os.path.join('D:/Temp/hdf', fn)) #vname = 'D_Soil_Moisture

MeteoInfoLab脚本示例:获取一维数据并绘图

气象数据基本为多维数据(通常是4维,空间3维加时间维),只让数据中一维可变,其它维均固定即可提取一维数据.比如此例中固定了时间维.高度维.纬度维,只保留经度维可变:hgt = f['hgt'][0,[500],[4],[180,360]].固定某一维可以用序号(从0开始),比如此例中的时间维为0,既第一个时次.也可以用该维中真实的数据,比如高度维希望是500 hPa,此时需要用中括号:[500],纬度维的固定也是类似.维的范围可用序号来限定,比如:5:20,也可用该维的真实值限定,比如此例中的经

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

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

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脚本示例:MODIS AOD

MODIS的气溶胶光学厚度(AOD)产品应用很广,数据可以在Giovanni上下载:http://disc.sci.gsfc.nasa.gov/giovanni/overview/index.html.有HDF, netCDF和文本格式,这里示例打开netCDF格式数据,提取AOD数据并绘图. 脚本程序如下: f = addfile('D:/Temp/nc/MOD08_D3.A2015121.051.2015122103938.pscs_000500931513.Optical_Depth_La

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

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脚本示例: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