MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度

利用比湿和温度计算相对湿度的函数是qair2rh(qair, temp, press=1013.25),三个参数分别是比湿、温度和气压,气压有一个缺省值1013.25,因此计算地面相对湿度的时候也可以不给气压参数。下面的例子打开CFS模式的地面结果,并从比湿和温度数组计算出相对湿度数组并绘图。

脚本程序:

#Open and read data
fn = ‘U:/data/climate/CFS/20150712/flxf2015081500.01.2015071200.grb2‘
f = addfile(fn)
temp = f[‘Temperature_surface‘][0,::-1,:]
sh = f[‘Specific_humidity_height_above_ground‘][0,0,::-1,:]
#Calculate relative humidity
temp = temp - 273.15
rh = qair2rh(sh, temp)
#Plot
axesm()
mlayer = shaperead(‘D:/Temp/map/country1.shp‘)
geoshow(mlayer, edgecolor=(0,0,255))
#layer = imshowm(rh, 20)
layer = contourfm(rh)
title(‘Relative humidity‘)
colorbar(layer, aspect=12)

时间: 2024-09-29 09:56:33

MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度的相关文章

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脚本示例: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脚本示例:计算温度平流

需要温度和风场U/V分量格点数据,计算中主要用到cdiff函数,结果正确与否未经验证(希望有人用GrADS验证一下). 脚本程序: print 'Open data files...' f_air = addfile('D:/Temp/nc/air.2011.nc') f_uwnd = addfile('D:/Temp/nc/uwnd.2011.nc') f_vwnd = addfile('D:/Temp/nc/vwnd.2011.nc') print 'Read data array...'

MeteoInfoLab脚本示例:计算水平螺旋度

尝试了用MeteoInfoLab编写计算水平螺旋度的脚本,结果未经验证. 脚本程序: print 'Open data files...' f_uwnd = addfile('D:/Temp/nc/uwnd.2011.nc') f_vwnd = addfile('D:/Temp/nc/vwnd.2011.nc') print 'Calculate average wind field from 850 to 600 hpa...' tidx = 173 # Jun 23, 2011 t = f_

MeteoInfoLab脚本示例:计算涡度、散度

用U/V分量数据计算涡度和散度,计算涡度的函数是hcurl,计算散度的函数是hdivg,参数都是U, V. 脚本程序: f = addfile('D:/Temp/GrADS/model.ctl') u = f['U'][0,0,:,:] v = f['V'][0,0,:,:] vort = hcurl(u, v) divg = hdivg(u, v) axesm() mlayer = shaperead('D:/Temp/map/country1.shp') geoshow(mlayer) #l

MeteoInfoLab脚本示例:创建netCDF文件(合并文件)

在MeteoInfoLab中增加了创建netCDF文件并写入数据的功能,这里利用合并多个netCDF文件为一个新的netCDF文件为例. 1.创建一个可写入的netCDF文件对象(下面用ncfile表示),用addfile函数,第一个参数是文件名,第二次参数'c'表示创建新的netCDF文件.ncfile = addfile(outfn, 'c') 2.添加维(Dimensions),用ncfile的adddim函数,两个参数分别是维名称和维长度.stn = 26564stdim = ncfil

MeteoInfoLab脚本示例:加载地图图层

应用最广泛的的地图数据应该是shape格式,网络上有很多免费下载资源.MeteoInfoLab中读取shape文件的函数是shaperead,参数即文件名,返回数据包含图形和属性信息的图层对象.矢量图层按照图元类型通常分点.线.面三种,都可以通过geoshow函数加入到地图坐标系(Axesm)中.在geoshow函数中可以指定图层的显示的Symbol(颜色等),可以设置facecolor, edgecolor, size等,这种情况下图层的所有图元都会以同一个Symbol来显示.也可以利用图层的

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

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

MeteoInfoLab脚本示例:AIRS Swath HDF数据

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