请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 49232|回复: 63

[作图] 画站点风场图

  [复制链接]

新浪微博达人勋

发表于 2013-9-6 11:15:51 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 指甲钳 于 2013-9-9 14:56 编辑

复制代码

正在学NCL,画了一个比较简单的站点数据的风场,用的是CSV格式,第一列是经度,第二列是维度,第三列是风向,第四列是风速,用";"做间隔的。希望对初学者有用吧,也希望高手们指点一下,大家可以多点分享脚本,共同进步。 wind_1.png
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl"

begin

wks = gsn_open_wks("png","wind_1")     ; Open a workstation
;-----------------------------设置色标-------------------------

gsn_define_colormap(wks,"default") ;


;-----------------读取数据-----------------------------
fpath = "E:\sql_data\wind1.csv"

lines = asciiread(fpath,-1,"string")

delim = ";"
lon  = tofloat(str_get_field(lines,1,delim))
  lat  = tofloat(str_get_field(lines,2,delim))
  d = tofloat(str_get_field(lines,3,delim))
  s = tofloat(str_get_field(lines,4,delim))
;data@_FillValue = -9999




;-------------------------------------参数设置-----------------------------------------


mpres              = True

mpres@gsnMaximize   = True
mpres@gsnDraw       = False
mpres@gsnFrame      = False
  mpres@mpMinLonF    = 112.8
  mpres@mpMaxLonF    =  113.3
  mpres@mpMinLatF    =  22.75
  mpres@mpMaxLatF    =  23.35




  map = gsn_csm_map(wks,mpres)



;-------shp----------------
filename="gis/nhreverse/nhall.shp"

resp                  = True
resp@gsFillColor = (/"White"/)
polygon = gsn_add_shapefile_polygons(wks,map,filename,resp)


lnfilename="gis/nanhai/nanhai.shp"
lnres                  = True
lnres@gsEdgesOn = True
lnres@gsEdgeColor      = "white"
lnres@gsLineThicknessF = 1.0

polyline = gsn_add_shapefile_polylines(wks,map,lnfilename,lnres)

;-----------------------主要部分------------------------------------------------

draw(map)

uv=wind_component(s,d,0);将风场分解为U;v

u = uv(0,:)*1.94386 ;转单位
v = uv(1,:)*1.94386

wmsetp("col", 2)   
wmsetp("wbs", .03)
wmbarb(wks, lon, lat,u, v)

frame(wks)

end





评分

参与人数 6金钱 +56 贡献 +8 收起 理由
KIMO23 + 20 很给力!
hmyjoyce + 10 很给力!
ywg1314 + 4
bigbigice + 2 赞一个!
tszhaoweiwen + 2 很给力!
kongfeng0824 + 18 + 8

查看全部评分

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

新浪微博达人勋

发表于 2013-9-9 14:52:42 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复 支持 0 反对 1

使用道具 举报

新浪微博达人勋

发表于 2013-9-13 09:30:07 | 显示全部楼层
用了wmbarb函数,还可以实用wm家族的其他函数,如wmvector画风场。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2013-9-6 11:21:45 | 显示全部楼层
-.-怎么只有第一行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-9-6 11:23:24 | 显示全部楼层
/猪头哼哼 发表于 2013-9-6 11:21
-.-怎么只有第一行

不好意思。那个代码的不会弄,现在直接放在帖子里了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-6 12:19:38 | 显示全部楼层
感谢分享!                              
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-6 13:25:07 | 显示全部楼层

感谢分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-9 14:36:06 | 显示全部楼层
楼主 请问你的数据是在哪里下的什么样子的啊 找不到。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-9-9 14:47:02 | 显示全部楼层
贝頥嚫 发表于 2013-9-9 14:36
楼主 请问你的数据是在哪里下的什么样子的啊 找不到。。

我的数据是内部数据啊。。网上当然找不到
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-12 18:08:26 | 显示全部楼层
这样多多分享脚本确实很好,像我这样的菜鸟就能从中学习很多,多谢楼主~~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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