- 积分
- 55946
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2019-7-10 16:00 编辑
这里演示从MICAPS第一类数据中读取站点经纬度及某一个变量的值(比如温度),然后绘制散点图以及插值为格点数据绘制等值线图。打开MICAPS数据的命令是addfile_micaps(),然后就可以从文件变量里读取各个变量的数据。
- f = addfile_micaps('D:/Temp/micaps/10101414.000')
- data = f['Temperature'][:]
- lon = f['Longitude'][:]
- lat = f['Latitude'][:]
- t = f.gettime(0)
- #Plot
- axesm(bgcolor=(204,255,255))
- geoshow('country', edgecolor='k', facecolor=(255,251,195))
- geoshow('cn_province', edgecolor='k')
- levs = arange(0, 35, 2)
- layer = scatterm(lon, lat, data, levs)
- colorbar(layer)
- yticks([20,30,40,50])
- title('Temperature (' + t.strftime('%Y-%m-%d %H:00') + ')')
- xlim(72, 136)
- ylim(16, 55)
用站点数据绘制等值线图需要先将站点数据插值为格点数据。
- f = addfile_micaps('D:/Temp/micaps/10101414.000')
- data = f['Temperature'][:]
- lon = f['Longitude'][:]
- lat = f['Latitude'][:]
- t = f.gettime(0)
- #To grid data
- x = arange(70, 140, 0.5)
- y = arange(15, 58, 0.5)
- gdata,gx,gy = griddata((lon, lat), data, xi=(x, y), method='idw')
- #Plot
- axesm()
- geoshow('country')
- geoshow('cn_province')
- levs = arange(0, 35, 2)
- layer = contourfm(x, y, gdata, levs)
- colorbar(layer)
- yticks([20,30,40,50])
- title('Temperature (' + t.strftime('%Y-%m-%d %H:00') + ')')
- xlim(72, 136)
- ylim(16, 55)
运行了f = addfile_micaps('D:/Temp/micaps/10101414.000')语句后,可以在Console里输入f获取数据文件信息,包括所有的变量名。
>>> f
File Name: D:/Temp/micaps/10101414.000
Description: diamond 1 10年10月14日14时地面填图
Time: 2010-10-14 14:00
Station Number: 2180
Number of Variables = 22
Stid
Longitude
Latitude
Altitude
Grade
CloudCover
WindDirection
WindSpeed
Pressure
PressVar3h
WeatherPast1
WeatherPast2
Precipitation6h
LowCloudShape
LowCloudAmount
LowCloudHeight
DewPoint
Visibility
WeatherNow
Temperature
MiddleCloudShape
HighCloudShape
|
|