爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: MeteoInfo

MeteoInfoLab脚本示例:Sea ice netCDF数据

[复制链接]

新浪微博达人勋

发表于 2016-4-5 16:08:52 | 显示全部楼层
本帖最后由 real-slimshady 于 2017-5-4 15:43 编辑
MeteoInfo 发表于 2016-4-1 20:41
原始数据就是这样呀,没有特殊处理。图例用cmap参数控制。


老师,如何让图像顺时针或逆时针旋转90°?还有我用了add point但是无法添加点
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-5 16:30:34 | 显示全部楼层
real-slimshady 发表于 2016-4-5 16:08
老师,如何让图像顺时针或逆时针旋转90°?还有我用了add point但是无法添加点

顺指针旋转90度,实际上就是将极地投影的中央经度旋转90度,示例脚本:

  1. f = addfile('D:/Temp/nc/seaice_conc_daily_sh_f17_20080830_v02r00.nc')
  2. data = f['seaice_conc_cdr'][0,:,:]
  3. #Plot
  4. mproj = projinfo(proj='stere', lon_0=-90, lat_0=-90, lat_ts=-70)
  5. axesm(projinfo=mproj, gridline=True)
  6. lworld = shaperead('D:/Temp/map/country1.shp')
  7. geoshow(lworld)
  8. layer = imshowm(data, 20, cmap='WhBlGrYeRe', proj=f.proj)
  9. colorbar(layer)
  10. t = f.gettime(0)
  11. title('Sea ice concentration (' + t.strftime('%Y-%m-%d') + ')')


在Console中输入f.proj可以显示出从文件中读出的投影信息(Proj4投影字符串,参考此网页:http://remotesensing.org/geotiff/proj_list/)作为参考:
>>> f.proj
+proj=stere +lon_0=0.0 +lat_0=-90.0 +lat_ts=-70.0 +k=1.0 +x_0=0.0 +y_0=0.0

你add point的代码是什么样的?

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

新浪微博达人勋

 楼主| 发表于 2016-4-5 16:52:46 | 显示全部楼层
real-slimshady 发表于 2016-4-5 16:08
老师,如何让图像顺时针或逆时针旋转90°?还有我用了add point但是无法添加点

旋转及添加点的代码:
  1. f = addfile('D:/Temp/nc/seaice_conc_daily_sh_f17_20080830_v02r00.nc')
  2. data = f['seaice_conc_cdr'][0,:,:]
  3. #Plot
  4. mproj = projinfo(proj='stere', lon_0=-90, lat_0=-90, lat_ts=-70)
  5. axesm(projinfo=mproj, gridline=True)
  6. lworld = shaperead('D:/Temp/map/country1.shp')
  7. geoshow(lworld)
  8. layer = imshowm(data, 20, cmap='WhBlGrYeRe', proj=f.proj)
  9. colorbar(layer)
  10. t = f.gettime(0)
  11. title('Sea ice concentration (' + t.strftime('%Y-%m-%d') + ')')
  12. #Add point
  13. lon = -100
  14. lat = -80
  15. geoshow(lat, lon, size=14, color='g', marker='S')


sea_ice-1.png

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

新浪微博达人勋

发表于 2017-5-4 16:24:00 | 显示全部楼层
MeteoInfo 发表于 2016-4-5 16:52
旋转及添加点的代码:

老师,我用这个程序可以画出日平均数据的图,但对于月平均数据会报错,同时想请问如何求文件中数据的平均值
  1. f = addfile('D:/nsidc/seaice_conc_monthly_sh_f17_200801_v02r00.nc')
  2. data = f['seaice_conc_cdr'][0,:,:]
  3. #Plot
  4. mproj = projinfo(proj='stere', lon_0=-90, lat_0=-90, lat_ts=-70)
  5. axesm(projinfo=f.proj, gridline=True)
  6. lworld = shaperead('E:/MeteoInfo/map/country1.shp')
  7. geoshow(lworld)
  8. layer = imshowm(data, 20, cmap='WhBlGrYeRe', proj=f.proj)
  9. colorbar(layer)
  10. t = f.gettime(0)
  11. title('Sea ice concentration (' + t.strftime('%Y-%m') + ')')
  12. #Add point
  13. lon = 76.3
  14. lat = -69.3
  15. geoshow(lat, lon, size=14, color='k', marker='S')
复制代码

met-info.jpg

seaice_conc_monthly_sh_f17_200801_v02r00.nc

2.77 MB, 下载次数: 1, 下载积分: 金钱 -5

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

新浪微博达人勋

 楼主| 发表于 2017-5-4 18:16:47 | 显示全部楼层
real-slimshady 发表于 2017-5-4 16:24
老师,我用这个程序可以画出日平均数据的图,但对于月平均数据会报错,同时想请问如何求文件中数据的平均 ...

应该是变量名的问题,日均文件中的变量名和月均文件中的变量名可能不同。如果刚接触MeteoInfoLab,建议仔细看看tutorials:http://www.meteothinker.com/docs ... uide/tutorials.html
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-5-4 18:33:32 | 显示全部楼层
real-slimshady 发表于 2017-5-4 16:24
老师,我用这个程序可以画出日平均数据的图,但对于月平均数据会报错,同时想请问如何求文件中数据的平均 ...

参考此脚本:
  1. fn = 'C:/Temp/seaice_conc_monthly_sh_f17_200801_v02r00.nc'
  2. f = addfile(fn)
  3. data = f['seaice_conc_monthly_cdr'][0,:,:]
  4. data[data>1] = nan
  5. #Plot
  6. axesm(projinfo=f.proj, gridline=True)
  7. lworld = shaperead('D:/Temp/map/country1.shp')
  8. geoshow(lworld, edgecolor='k', facecolor='lightgray')
  9. layer = imshowm(data, 20, cmap='WhBlGrYeRe', proj=f.proj)
  10. colorbar(layer)
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-5-25 11:22:26 | 显示全部楼层
楼主,我按照你的运行,为什么colorbar显示的不是0~1,是到2.5啊大陆上的值也显示出来了 ,是我数据的问题吗?数据下载的是nsidc的每天的海冰密集度。
1225.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-5-25 11:32:22 | 显示全部楼层
langit 发表于 2017-5-25 11:22
楼主,我按照你的运行,为什么colorbar显示的不是0~1,是到2.5啊大陆上的值也显示出来了 ,是我数 ...

注意楼上的这句代码:
data[data>1] = nan
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-25 11:41:09 | 显示全部楼层
MeteoInfo 发表于 2017-5-25 11:32
注意楼上的这句代码:
data[data>1] = nan

嗯 我加过这个语句 但是画出来的图 感觉不大对 是这样的 您看一下
1225_1.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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