在MeteoInfoLab中增加了创建netCDF文件并写入数据的功能,这里利用合并多个netCDF文件为一个新的netCDF文件为例.1.创建一个可写入的netCDF文件对象(下面用ncfile表示),用addfile函数,第一个参数是文件名,第二次参数'c'表示创建新的netCDF文件.ncfile = addfile(outfn, 'c')2.添加维(Dimensions),用ncfile的adddim函数,两个参数分别是维名称和维长度.stn = 26564stdim = ncfile.…
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的georead函数提供了读取shape文件.image文件(JPG.PNG等,需要有相应的地理定位文件)文件生成图层的功能(事实上shaperead也是同样的功能,不过函数名太过具体).对于Polygon图层可以设置其颜色透明度,可以用makecolors函数生成颜色列表,函数中设置参数alpha(255是不透明,0是完全透明).在contourfm函数中设置edgecolor参数可以绘制颜色区域的边框.脚本程序: f = addfile('D:/Temp/GrADS/…
尝试编写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…
这个脚本示例读取文本格式的闪电数据,读出每条闪电记录的经纬度和强度,在地图上绘制出每个闪电的位置,并用符号和颜色区分强度正负.数据格式如下:0 2009-06-06 00:01:16.6195722 纬度=35.0297  经度=114.8923  强度=23.4   陡度=9.1    误差=71.9   定位方式:四站算法1 2009-06-06 01:34:58.5911760 纬度=34.4243  经度=115.6057  强度=-1.3   陡度=-0.4   误差=0.0    定…
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 da…
利用Unidata netCDF Java库对远程文件的读取能力(OpenDAP, ADDE, THREDDS等),可以读取远程文件并绘图.脚本程序: fn = 'http://monsoondata.org:9090/dods/model' f = addfile(fn) v = f['ps'] ps = v[0,:,:] #Plot axesm() mlayer = shaperead('D:/Temp/map/country1.shp') geoshow(mlayer) layer = c…
对于全球数据来说,经度要么是-180 - 180,要么是0 - 360,都会存在边界数据不连续的问题.比如0 - 360的数据,怎么得到 -20 - 30度的连续格点数据就是个问题(跨越了数据的经度边界),在MeteoInfoLab中可以用DimArray或MIArray的join函数来将两个数组合并为一个,参数分别是另一个数组和合并的维的序号,比如下面例子中的二维数组(y, x),经度维是第二维(序号为1),也就是说两个数组沿着经度维合并.还需要给合并后的数组的经度维设置新的经度值.脚本程序:…
示例数据:ftp://ftp.bom.gov.au/anon/sample/catalogue/Satellite/IDE00220.201507140300.nc 该数据的分辨率很高(22000*22000),如果全部读入一个数组需要很大的内存,可以在读入时设置step(比如4,以间隔4读取数据),或者限定更小的空间范围. 脚本程序: #Add data file fn = 'D:/Temp/nc/IDE00220.201507140300.nc' f = addfile(fn) #Get d…
示例读取HYSPLIT模式输出的气团轨迹数据文件,生成轨迹图层,并显示轨迹各节点的气压图.脚本程序: f = addfile_hytraj('D:/MyProgram/Distribution/java/MeteoInfo/MeteoInfo/sample/HYSPLIT/tdump') tlayer = f.trajlayer() stlayer = f.trajsplayer() axesm(position=[0.1,0.4,0.8,0.6]) mlayer = shaperead('D:…