- 积分
- 55950
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2017-4-1 11:26 编辑
National snow & ice center的Brightness temperatures卫星遥感产品有两种投影:Polar (https://nsidc.org/data/docs/daac/nsidc0001_ssmi_tbs.gd.html) 和EASE-Grid (https://nsidc.org/data/docs/daac/nsidc0032_ssmi_ease_tbs.gd.html),数据是2个字节的二进制文件,也就是短整形,读取后需要除以10得到真实温度数据。产品分北极和南极,这里示例两个投影南极地区的数据,北极数据根据数据说明进行简单的修改即可。
数据有两种分辨率:25km和12.5km,和频率有关。下面两个例子都是12.5km的分辨率。
Polar投影:
- #Data source: https://nsidc.org/data/docs/daac/nsidc0001_ssmi_tbs.gd.html]https://nsidc.org/data/docs/daac/nsidc0001_ssmi_tbs.gd.html
- #DMSP SSM/I-SSMIS Daily Polar Gridded Brightness Temperatures, Version 4
- fn = 'D:/Temp/binary/tb_f17_20160413_v4_s91v.bin'
- #Set projection
- proj = projinfo(proj='stere', lat_ts=-70, lat_0=-90, lon_0=0)
- xn = 632 #Column number
- yn = 664 #Row number
- dx = 12.5 * 1000 #X resolution (m)
- dy = 12.5 * 1000 #Y resolution (m)
- x0 = -3950 * 1000 + dx / 2 #Lower left x corner
- y0 = -3950 * 1000 + dy / 2 #Lower left y corner
- x = arange1(x0, xn, dx)
- y = arange1(y0, yn, dy)
- #Read data
- data = binread(fn, [yn, xn], 'short')
- data = data[::-1,:].astype('float')
- data = data / 10
- data[data==0] = nan #0 is missing value
- #Plot
- axesm(projinfo=proj, gridline=True, griddx=30)
- lworld = shaperead('D:/Temp/Map/country1.shp')
- geoshow(lworld, edgecolor='k')
- layer = imshowm(x, y, data, 20, cmap='BlAqGrYeOrRe', proj=proj)
- colorbar(layer)
- title('Brightness Temperatures')
EASE-Grid投影:
- #Data source: https://nsidc.org/data/docs/daac/nsidc0032_ssmi_ease_tbs.gd.html]https://nsidc.org/data/docs/daac/nsidc0032_ssmi_ease_tbs.gd.html
- #DMSP SSM/I-SSMIS Pathfinder Daily EASE-Grid Brightness Temperatures, Version 2
- fn = 'D:/Temp/binary/ID2-F17-SH2015035D-V2.91V'
- #Set projection
- proj = projinfo(proj='laea', lat_0=-90, lon_0=0)
- xn = 1441 #Column number
- yn = 1441 #Row number
- dx = 12.5 * 1000 #X resolution (m)
- dy = 12.5 * 1000 #Y resolution (m)
- x0 = -9000 * 1000 + dx / 2 #Lower left x corner
- y0 = -9000 * 1000 + dy / 2 #Lower left y corner
- x = arange1(x0, xn, dx)
- y = arange1(y0, yn, dy)
- #Read data
- data = binread(fn, [yn, xn], 'short')
- data = data[::-1,:].astype('float')
- data = data / 10
- data[data==0] = nan #0 is missing value
- #Plot
- axesm(projinfo=proj, gridline=True, griddx=30, griddy=30)
- lworld = shaperead('D:/Temp/Map/country1.shp')
- geoshow(lworld, edgecolor='k')
- layer = imshowm(x, y, data, 20, cmap='BlAqGrYeOrRe', proj=proj)
- colorbar(layer)
- title('Brightness Temperatures')
|
|