爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

刚刚开始搞气象,请教各位大神一些问题,还请不吝赐教

[复制链接]
发表于 2016-6-7 11:06:27 | 显示全部楼层
使用NCL脚本绘制一张如上图所示的png图片主要分为以下几个步骤
   一、读取各站点的气温数据。
   二、将站点数据使用各种差值函数转换成格点数据。
   三、使用源对地图进行基本设置
   四、使用源对等值线填充进行基本设置
   五、使用源对labelbar进行基本设置
   六、生成png图片
密码修改失败请联系微信:mofangbao
发表于 2016-6-7 11:06:43 | 显示全部楼层
一、读取各站点的气温数据
     NCL支持的数据格式主要有netCDF文件(.nc .cdf)、HDF4(.hd .hdf)、HDF4-EOS(.hdfeos)、GRID-1/GRIB-2(.grb.grib)、CCMHistory Tape(.ecm),除此之外呢,它支持二进制文件和ascii文件,这两者是我们最熟悉的。这里我们使用ascii文件,更多文件读取方式参考http://www.ncl.ucar.edu/Applications/list_io.shtml
     为了批量生成产品图片,需要配置文件设置数据来源以及图片生成后存放位置。config.txt文件如下:
One Hour of Temperature 2010111502
./t1/
/root/WorkSpace/MICAPS_surface/t1/
10111502.000
第一行是标题
第二行是输出png图路径
第三行是输入数据文件路径
第四行是数据文件名
在NCL脚本(temperature.ncl)中使用以下几行代码就可以了
  filepath = "./config.txt"  ;参数文件路径
  argu = asciiread(filepath,-1,"string") ;以字符串形式读取参数文件入数组argu
  lines = asciiread(argu(2)+argu(3),-1,"string") ;以字符串形式读取数据文件入数组lines
  station = stringtofloat(str_get_field(lines(3::),1," ")) ;从数组lines中获取站号
  lon = stringtofloat(str_get_field(lines(3::),2," ")) ;从数组lines中获取经度值lon
  lat = stringtofloat(str_get_field(lines(3::),3," ")) ;从数组lines中获取纬度值lat
  height = stringtofloat(str_get_field(lines(3::),4," ")) ;从数组lines中获取海拔高度
  R  = stringtofloat(str_get_field(lines(3::),5," ")) ;从数组lines中获取站点数据值
由于数据文件10111502.000的前3行是文件头,不包含数据,因此lines从第三行开始读取数据。注意NCL中注释使用“;”而且只能注释单行。
  这样所有数据就保存到各个变量中啦!每个变量都是一个一维数组。
密码修改失败请联系微信:mofangbao
发表于 2016-6-7 11:06:58 | 显示全部楼层
二、将站点数据使用各种差值函数转换成格点数据。
     接下来使用插值函数,NCL中提供了很多差值函数,如Cressman插值(obj_anal_ic_deprecated)、三次样条差值(caa1)、反距离权重差值(dsgrid2)、最邻近点产值(natgrid)等等,其他插值函数参考网址http://www.ncl.ucar.edu/Document/Functions/interp.shtml
注意使用这些函数的时候要在文件头部包含contributed.ncl,即:
     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"
各个差值函数的接口不同,需要提前定义的变量也会有所差异,这里使用Cressman插值。
首先创建存放差值后生成数据的数组 根据亚洲截图的经纬度而定北纬17-57,东经72-138这个矩形框内插值
  olon = new(66,"float");
  olat = new(40,"float");
  data1 = new((/40,66/),"float")
  do i=0,65
     olon(i) =72+i
  end do
  do l=0,39
     olat(l) = 17+l
  end do
接下来设置数组属性,为了符合netcdf规定的数据格式,使函数能够识别经纬度
     olon!0          = "lon"
     olon@long_name  = "lon"
     olon@units      = "degrees-east"
     olon&lon        = olon
     olat!0          = "lat"
     olat@long_name  = "lat"
     olat@units      = "degrees_north"
     olat&lat        = olat
最后调用插值函数
  R@_FillValue = 999999.000000  
  rscan = (/10,5,3/)   ;连续的有效半径大小,最大为10,依次递减
  data1 = obj_anal_ic_deprecated(lon,lat,R,olon,olat,rscan, False)  ;Creanm插值
密码修改失败请联系微信:mofangbao
发表于 2016-6-7 11:07:10 | 显示全部楼层
三、使用源对地图进行基本设置
    首先创建一个自定义的colormap配色方案,并且创建一个工作空间,
cmap = (/                     \
            (/ 255./255, 255./255, 255./255 /),    \  ; 0 - White background.
            (/ 0./255  , 0./255  , 0./255   /),         \  ; 1 - Black foreground.
            (/ 255./255, 0./255  , 0./255   /),        \  ; 2 - Red.
            (/ 0./255  , 0./255  , 255./255 /),        \  ; 3 - Blue.
            (/ 164./255, 244./255, 131./255 /),      \  ; 4 - Ocean Blue.
            (/ 0./255  , 0./255  , 255./255   /),         \  ; 5 - Bar 1
         (/ 0./255  , 153./255, 255./255 /),      \  ; 6 - Bar 2
            (/ 0./255, 153./255, 153./255 /),        \  ; 7 - Bar 3
            (/ 0./255  , 255./255, 0./255  /),       \  ; 8 - Bar 4   
            (/ 255./255, 255./255  , 102./255 /),        \  ; 9 - Bar 5
            (/ 255./255, 153./255  , 102./255   /),        \  ; 10 - Bar 6
            (/ 255./255, 0./255  , 255./255   /)        \  ; 11 - Bar 7   
         /)

  wks_type = "png"  
  wks = gsn_open_wks(wks_type,argu(1)+argu(3))     ; Open a workstation and.
  gsn_define_colormap(wks,cmap)      ; define a different colormap.
这里创建了png的工作空间,NCL还支持X11、PS、NCGM、PDF、NEWPDF等。
接下来设置地图属性
  res = True
  res@gsnAddCyclic  = False      ;由于我们的数据不是循环地球一周的,因此必须把这个置否
  res@mpDataSetName         = "Earth..4"   ; This new database contains
                                           ; divisions for other countries.
  res@mpDataBaseVersion     = "MediumRes"  ; Medium resolution database
  res@mpOutlineOn           = True         ; Turn on map outlines
  res@mpOutlineSpecifiers   = (/"China:states","Taiwan"/)       ;China:states
中国地图包含在Earth..4这个地图库中,将边界区域设置为中国行政区域和台湾,在台湾问题这一点上比较郁闷,中国地图里没有台湾,激起了我这个爱国主义青年的强烈愤慨。
地图选好了,该把区域缩小到中国范围内了,这里和上面的插值范围有些出入,只是显示需要,没有实质联系。
  res@mpMinLatF             =  17          ; Asia limits
  res@mpMaxLatF             =  55
  res@mpMinLonF             =  72
  res@mpMaxLonF             = 136
你还可以使用这两行代码来加粗边界线。
  res@mpGeophysicalLineThicknessF= 2.      ; double the thickness of geophysical boundaries
  res@mpNationalLineThicknessF= 2.         ; double the thickness of national boundaries
默认的底图投影方式是等经纬度投影,画出来的中国地图比较扁,我们常看到的中国地图,投影方式是兰伯特投影,因此需要对投影方式进行修改
  res@mpProjection = "LambertConformal"   ;兰伯特投影
  res@mpLambertMeridianF = 110.0
  res@mpLimitMode = "LatLon"
  res@mpLambertParallel1F = .001      ;Default: .001 ;可以自己改一改,看看投影有什么不同,挺有趣的
  res@mpLambertParallel2F = 89.999    ;Default: 89.999
最后将填充区域设定在中国行政区域图之内,如果使用默认效果,等值线会对整个矩形区域填充颜色,因此需要去掉中国边境范围外的填充颜色
  res@mpAreaMaskingOn = True   ;使能填充覆盖
  res@mpMaskAreaSpecifiers = (/"China:states","Taiwan"/)   ;China:states
  res@mpOceanFillColor = 0     ;用白色填充海洋  0是colormap的索引值
  res@mpInlandWaterFillColor = 0  ;用白色填充内陆湖水
密码修改失败请联系微信:mofangbao
发表于 2016-6-7 11:07:53 | 显示全部楼层
四、使用源对等值线填充进行基本设置
    首先使能等值线填充,不显示各填充颜色之间的黑色等值线,不显示等值线上标示的数值,在绘制其他要素前先绘制等值线,对源的设置如下:
  res@cnFillOn      = True
  res@cnLinesOn     = False          ;等值线不显示
  res@cnLineLabelsOn = False
  res@cnFillDrawOrder = "PreDraw"         ; draw contours first   
    使用特定的Level值和配色方案对等值区间进行设置
  res@cnLevelSelectionMode = "ExplicitLevels"       ; set explicit contour levels
  res@cnLevels    = (/-30.,-20.,-10.,0.,10.,20./) ; set levels
  res@cnFillColors = (/5,6,7,8,9,10,11/) ; set the colors to be used
五、使用源对labelbar进行基本设置
   res@lbLabelBarOn = True       ;LabelBar显示
   res@lbLabelStrings = (/"-30:S:o:N","-20:S:o:N","-10:S:o:N","0:S:o:N","10:S:o:N","20:S:o:N"/)
   其中“:S:o:N”表示摄氏度符号
你也可以使用以下这行代码,将labelbar放置在图片右侧
   res@lbOrientation =   "vertical"          ; vertical label bar
六、生成png图片
  在最后生成图片前,先要对整个view进行调整
  res@vpXF = 0     ;左边距
  res@vpYF = 0.95      ;上边距
  res@vpWidthF  = 1.0              ; height and width of plot
  res@vpHeightF = 0.8
然后再设置图片标题
  res@tiMainFont            = "helvetica"
  res@tiMainOffsetYF        = 0.02  ;set place for main title along Y,offset
  res@tiMainFontHeightF     = 0.02   ;set main title font size
  res@tiMainString          = argu(0)
最后显示
  map = gsn_csm_contour_map(wks,data1,res)
别忘了在整个代码前后增加begin(代码)end这种固定格式。
这样这张图片就顺利生成啦!
密码修改失败请联系微信:mofangbao
发表于 2016-6-7 11:08:26 | 显示全部楼层
ncl 编辑
NCL(The NCAR Command Language)是一种专门为科学数据处理以及数据可视化设计的高级语言,很适合用在气象数据的处理和可视化上。
外文名 ncl 性    质 数据可视化设计的高级语言 主要研究方向 成核动力学及方法发展 相关大学纽卡斯尔大学
目录
1 定义
2 实验室
3 英国大学
4 邮轮公司
5 保险公司
6 脚本语言
7 软件公司
8 金融集团
▪ 集团简介
▪ 优势
▪ 低点差
▪ 立即执行
▪ 自动交易
▪ 交易工具
▪ 交易平台
▪ 服务器
▪ 客户支持
▪ 合作伙伴
9 北欧亚
10 纽卡斯尔
定义编辑
NCL(The NCAR Command Language)是一种专门为科学数据处理以及数据可视化设计的高级语言,很适合用在气象数据的处理和可视化上。NCL包含了现代编程语言的许多常见功能:条件语句、循环、数组运算等。此外,NCL还包括许多有用的内置函数和过程用来进行处理和操作数据,其中包括统计函数、插值、EOF分析、波谱分析等[1]  。[2]
NCL的设计目标是为了方便地从各种格式的文件中读取数据,进行数据处理,数据可视化。NCL有两种运行模式:第一种是命令行交互式运行,用户每输入一个命令或表达式就会立即得到执行。第二种是批处理模式,通过编写NCL脚本,一次性完成所有操作[3]  。
NCL主要包括以下三个方面的功能:首先是文件I/O功能。NCL有独特的语法,可以访问数据文件中的变量。也可以访问变量的其他信息(元数据 metadata),比如网格坐标信息、单位、缺测值等。第二是NCL的数据处理功能,比如求数据的平均值,做线性回归等。想要掌握这部分功能需要具备一定的编程经验,也需要对NCL语言有相当程度的了解。最后是数据可视化。使用NCL绘图的语法命令很简单,但是使用时会比较复杂[3]  。
实验室编辑
中国科学技术大学非线性化学实验室 (Nonlinear Chemistry Lab, abbr. NCL),运用和发展统计力学方法,研究介观化学体系中的非平衡、非线性和复杂性问题。主要研究方向包括:(1) 介观化学体系非线性动力学;(2)介观非平衡热力学和涨落定理;(3)表面反应扩散过程的介观理论方法;(4)复杂化学体系多尺度动力学方法;(5)复杂网络非平衡动力学;(6)成核动力学及方法发展。
英国大学编辑
英国纽卡斯尔大学的英文缩写,NewcastleUniversity,罗素大学集团成员,英国红砖大学之一。中文名称:纽卡斯尔大学
英文名称:Newcastle University
学校类型:公立
建校时间:1834年
地理位置:英格兰泰恩河畔纽卡斯尔市
学校排名:英国第21位(TIMES);世界第97位(NEWSWEEK)
学生数量:约20000人
参与组织:罗素盟校[4]
著名校友:尤金妮公主、憨豆先生
邮轮公司编辑
1.NORASIA CONTAINER LINES LTD.北欧亚航运,意大利船公司。2.Norwegian Cruise Line ,挪威邮轮公司。
保险公司编辑
New China Life 新华人寿保险股份有限公司。
脚本语言编辑
non-current liabilities 非流动负债。
五、NCAR Command Language
一种专业绘图脚本语言。
软件公司编辑
NCL是大连新中连软件工程有限公司的缩写。“NCL”即NewChinLink,是New Choice Link的英文缩写,寓意新的选择,新的开始,其中的“NEW”同时代表新中连的核心理念是创新。
NCL也是neuronal ceroid lipofuscinosis的缩写
金融集团编辑
集团简介
成立于1995年,总部位于英国伦敦(注册号:05831362)是一家专门从事金融服务业务的集团公司,公司主要向全球的客户提供柜台交易市场金融衍生产品的执行和交易服务。旗下公司有:新西兰NCL G&F GROUP LIMITED(注册号:50000254259)主要负责CFD、外汇业务;是新西兰政府认可的交易商,香港NCL资产管理有限公司(注册号:1671674),英国纽卡斯集团上海代表处)主要负责驻华地区业务。

纽卡斯金融向全球零售以及商业客户提供外汇、白银、原油、黄金、差价合约 Contract for Difference (CFD),而我们的目标是让客户能够进入全球资产市场获得金融投资机会。
纽卡斯金融一直致力于外汇、贵金属市场的发展,实现客户在稳定平台上获得同世界其他交易者同等的公平机会,在交易中获得更大利润,纽卡斯金融将会不遗余力地协助您进行交易。我们将尽一切努力向您提供所需的工具以实现您的投资目标。
纽卡斯金融力求提供符合最高道德、法律的商务交易行为,纽卡斯深知获得客户信任的唯一途径在于和客户建立良好的互敬,守法的互动关系。拥有良好的信誉是任何商业运作成功的关键,因此我们认为员工应该遵循这些重要的行为准则。凭借稳定的交易平台软件和出色的专业服务团队长期建立起来的良好声誉,纽卡斯金融赢得全球客户的信赖。
纽卡斯金融集团上海代表处2011年7月筹备,2012年2月,经中国驻英国总领事馆调查,上海工商等部门的批准正式投入运营,并颁发中国工商总局及上海市工商局等相关证件,意味着纽卡斯金融在国内所开展的业务将受中国相关部门的监管。
优势
纽卡斯金融给黄金交易员提供黄金市场上出色的工作环境。纽卡斯金融项目的主要目标是满足入门级交易员的需要,帮助他们轻松成为黄金交易专家,获得投资的成功。我们的交易条款和条件也适合黄金专家。所有这些细节都使我们感到,纽卡斯金融项目几乎适合所有人,并且优势独特。
下面请看与我们公司合作的8种主要优势:
低点差
我们提供无与伦比的低点差、固定点差。所以,恒定的价差不会随市场活动而变化。
立即执行
对于您所下的定单,我们采用立即执行技术。在这种情况下,在线交易员在进入黄金市场之前不需要讯价,只要以其在显示器上看到的价格打开和关闭头寸即可。
自动交易
有了自动套汇技术的协助,在交易中完全不需要经销商的介入,所有定单自动得以执行。而且,帐户的记帐过程也是高度自动的,使用了最流行的电子支付系统。
交易工具
纽卡斯金融提供多种交易工具,包括黄金现货和11种货币指标,给黄金交易员提供选择最适当交易工具的最佳机会。
交易平台
纽卡斯金融给黄金交易员提供最流行的黄金交易平台——NCL Trader 4。
服务器
为确保最高水平的服务质量,纽卡斯金融为虚拟、小量和真实交易员提供三台专用的黄金交易服务器。每台黄金交易服务器有广泛分布在世界各地的数据中心(客户接入点),给客户的黄金交易终端提供可能的最快速连接,使其能立即接入到公司的黄金交易服务器上。
客户支持
我们公司给黄金初学者提供小量投资服务,也给黄金专家提供服务;所以我们聘请了经验最丰富的黄金专家和技术支持团队,提供每天24小时,每周5天的服务。
合作伙伴
对于希望赚取无风险、不涉及黄金交易的收入的顾客,NCL提供广泛的合作伙伴机会,包括有竞争力的加盟成员计划、引荐经济人计划。
北欧亚编辑
NCL(北欧亚):中东 印巴EMC:东南亚 中南美 红海 中东
纽卡斯尔编辑
纽卡斯尔市是英格兰20世纪最受欢迎的城市之一,著名的纽卡斯尔大学坐落在市中心,该市也是泰恩河畔拥有卫星城市的集合城市中最大的一个。纽卡斯尔是英格兰核心城市(English Core Cities Group)之一。纽卡斯尔和其周边地区的人通常被叫做“高地人”(Geordies)。[5]
参考资料
1.  ncl代表什么?  .百度知道.2012-3-26[引用日期2012-10-21]
2.  NCL简介,英文版  .NCL英文版[引用日期2013-10-23]
3.  The NCAR Command Language  .CISL's NCAR Command Language.2012-5-28[引用日期2012-10-21]
4.  罗素盟校  .百度百科[引用日期2013-10-23]
5.  纽卡斯尔  .百度百科-纽卡斯尔.2013-08-04[引用日期013-09-22]
词条标签: 公司

ncl图册
V百科往期回顾

其他人还搜

纠错
纽卡斯尔联足球俱乐部
纽卡斯尔联足球俱乐部
留学回国人员证明
留学回国人员证明
中央兰开夏大学
中央兰开夏大学
北欧亚货柜航运有限公司
北欧亚货柜航运有限公司
杜伦大学
杜伦大学
利兹大学
利兹大学
纽卡斯尔大学
纽卡斯尔大学
伯明翰大学
伯明翰大学
英国大学排名
英国大学排名
相关城市

纠错
纽卡斯尔
纽卡斯尔
newcastle
newcastle
加的夫
加的夫

词条统计
浏览次数:28440次
编辑次数:28次历史版本
最近更新:2016-03-10
创建者:ggq89
1 定义
2 实验室
3 英国大学
4 邮轮公司
5 保险公司
6 脚本语言
7 软件公司
8 金融集团
8.1 集团简介
8.2 优势
8.3 低点差
8.4 立即执行
8.5 自动交易
8.6 交易工具
8.7 交易平台
8.8 服务器
8.9 客户支持
8.10 合作伙伴
9 北欧亚
10 纽卡斯尔
推广链接

猜你喜欢
为什么我脱发严重啥蛋糕好吃什么叫大数据什么零食店好什么叫域名如何编制程序ncl邮轮ncl新华保险java培训去那里达内java速成班
密码修改失败请联系微信:mofangbao
发表于 2016-6-7 11:11:12 | 显示全部楼层
我觉得搞气象是目前世界上最有前途的方向,大到百岁老人,小到新生婴儿,都要接触到天气。您说是不是
密码修改失败请联系微信:mofangbao
发表于 2017-3-22 09:49:57 | 显示全部楼层
学习学习
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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