爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8476|回复: 6

[其他] 请教关于增加数组维数的问题

[复制链接]

新浪微博达人勋

发表于 2012-7-28 13:55:49 | 显示全部楼层 |阅读模式

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

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

x
新手碰到一个很基础的问题,请教各位。
比如我现在有个三维数组A(time,lat,lon)为文件example.nc,然后
    f=addfile("example.nc","r")
    B=f->A
这样B就是一个三维数组,并且具有了A的所有属性,我现在想将数组B变为四维数组(time,lev,lat,lon),并且按照nc文件的标准来定义,请问应该怎么实现呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-28 15:02:51 | 显示全部楼层
  dims = dimsizes(A)

  ntimes = 30
  C = new( (/ntimes, dims(0), dims(1), dims(2) /), typeof(A))
  C!0 = "time"
  C!1 = "lev"
  C!2 = "lat"
  C!3 = "lon"

像这样?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-29 08:04:20 | 显示全部楼层

因为我是增加高度那个维,因此我是这样写的:

  dims = dimsizes(x1)
  ntim = dims(0)
  nlat = dims(1)
  nlon = dims(2)
  scale = new ((/ntim,4,nlat,nlon/) , typeof(x1))
  scale!0 = "time"
  scale!1 = "lev"
  scale!2 = "lat"
  scale!3 = "lon"
  scale&lev = (/ 1000, 100, 10, 1 /)
但是这个生产的数据用grads打不开,知道是不符合grads标准的写法,但是在这个文件中赋了一些属性,总是有错误,因此我又根据兰溪的帖子写了个新的ncl脚本,如下:

begin

  f = addfile("./scale.nc","w")
  f->lev@units = "generic"
  f->lev@units = "level"
  f->lev@axis  = "z"
  f->lat@units = "degrees_north"
  f->lon@units = "degrees_east"
  
end

这样两个先后运行,就可以了,现在请教如果想生成的第一个nc文件就符合标准,应该怎么改呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 10:35:24 | 显示全部楼层
MacTaylor 发表于 2012-7-29 08:04
因为我是增加高度那个维,因此我是这样写的:

  dims = dimsizes(x1)

这个就是netCDF的标准
ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html

至于grads为什么报错我就不清楚了,我很久没用过grads了。
毕竟就用同一个工具就能完成数据读写、数据处理、绘图,没有必要用两个软件来折腾了。
专注精通一项工具,绝对比样样通而不精好,不是么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-29 12:50:55 | 显示全部楼层
hzwjy 发表于 2012-7-29 10:35
这个就是netCDF的标准
ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html

谢谢了,我再看看吧,因为以前一直用grads,NCL刚开始学,画图一堆参数,还不熟。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-21 11:27:27 | 显示全部楼层
搞东西啊快来下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-24 16:17:36 | 显示全部楼层
受教了,谢神仙们
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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