爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4336|回复: 1

MeteoInfoLab脚本示例:Brightness temperatures

[复制链接]

新浪微博达人勋

发表于 2017-4-1 11:25:31 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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投影:
  1. #Data source: https://nsidc.org/data/docs/daac/nsidc0001_ssmi_tbs.gd.html]https://nsidc.org/data/docs/daac/nsidc0001_ssmi_tbs.gd.html
  2. #DMSP SSM/I-SSMIS Daily Polar Gridded Brightness Temperatures, Version 4

  3. fn = 'D:/Temp/binary/tb_f17_20160413_v4_s91v.bin'

  4. #Set projection
  5. proj = projinfo(proj='stere', lat_ts=-70, lat_0=-90, lon_0=0)
  6. xn = 632              #Column number
  7. yn = 664              #Row number
  8. dx = 12.5 * 1000      #X resolution (m)
  9. dy = 12.5 * 1000      #Y resolution (m)
  10. x0 = -3950 * 1000 + dx / 2     #Lower left x corner
  11. y0 = -3950 * 1000 + dy / 2    #Lower left y corner
  12. x = arange1(x0, xn, dx)
  13. y = arange1(y0, yn, dy)

  14. #Read data
  15. data = binread(fn, [yn, xn], 'short')
  16. data = data[::-1,:].astype('float')
  17. data = data / 10
  18. data[data==0] = nan   #0 is missing value

  19. #Plot
  20. axesm(projinfo=proj, gridline=True, griddx=30)
  21. lworld = shaperead('D:/Temp/Map/country1.shp')
  22. geoshow(lworld, edgecolor='k')
  23. layer = imshowm(x, y, data, 20, cmap='BlAqGrYeOrRe', proj=proj)
  24. colorbar(layer)
  25. title('Brightness Temperatures')


ssmis_bt_stere.png

EASE-Grid投影:
  1. #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
  2. #DMSP SSM/I-SSMIS Pathfinder Daily EASE-Grid Brightness Temperatures, Version 2

  3. fn = 'D:/Temp/binary/ID2-F17-SH2015035D-V2.91V'

  4. #Set projection
  5. proj = projinfo(proj='laea', lat_0=-90, lon_0=0)
  6. xn = 1441             #Column number
  7. yn = 1441             #Row number
  8. dx = 12.5 * 1000      #X resolution (m)
  9. dy = 12.5 * 1000      #Y resolution (m)
  10. x0 = -9000 * 1000 + dx / 2     #Lower left x corner
  11. y0 = -9000 * 1000 + dy / 2    #Lower left y corner
  12. x = arange1(x0, xn, dx)
  13. y = arange1(y0, yn, dy)

  14. #Read data
  15. data = binread(fn, [yn, xn], 'short')
  16. data = data[::-1,:].astype('float')
  17. data = data / 10
  18. data[data==0] = nan   #0 is missing value

  19. #Plot
  20. axesm(projinfo=proj, gridline=True, griddx=30, griddy=30)
  21. lworld = shaperead('D:/Temp/Map/country1.shp')
  22. geoshow(lworld, edgecolor='k')
  23. layer = imshowm(x, y, data, 20, cmap='BlAqGrYeOrRe', proj=proj)
  24. colorbar(layer)
  25. title('Brightness Temperatures')


ssmis_bt_laea.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-1 15:15:31 | 显示全部楼层
赞         
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表