爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8126|回复: 4

[作图] 如何将多个nc文件中包含的相同维度的二维数据按行或按列进行合并

[复制链接]
发表于 2018-3-27 19:05:52 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 DCC 于 2018-3-29 19:12 编辑

现在我想通过利用ncl实现9个nc文件的数据拼接,其中absc532在文件中是一个600*48(高度*时间)的数组,我想做个时序分布的填充图,也就是想将9个文件中的absc532拼接成600*(48*9)的数组;但是我用ListSetType(nc_file,"cat")后发现,数据是在时间维度上进行了拼接,也就是形成(600*9)*48的数组,出来的图也就成了附件里这个样子。所以想请教大家该如何解决这个问题   我的程序文本如下


load "/usr/local/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "/usr/local/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "/usr/local/lib/ncarg/nclscripts/csm/contributed.ncl"

begin

files = systemfunc("ls /mnt/f/Lidar/data/Japan/*")+".nc" ;
nc_file = addfiles(files,"r");
ListSetType(nc_file,"cat");

time     = nc_file[0]->time                   ; 时间
height   = nc_file[0]->height_a               ; 高度
absc532  = nc_file[:]->absc532                ; 532nm后散

absc532 = absc532 * 1000              ;
printVarSummary(absc532);
absc532@units = "(1/km/sr)"           ;
ext532@units = "(1/km)"               ;


;*********************************
;absc532nm  contour
;*********************************
wks = gsn_open_wks("PNG","/mnt/f/Lidar/pictures/absc532_fukuoka_Nov")      ; send graphics to PNG file.
res                = True                 ; plot模式要求
res@tiMainString   = "absc532nm,Fukuoka,2014,11,01"    ;设置标题
res@cnFillOn       = True                  ; turn on color fill
res@cnFillPalette  = "wh-bl-gr-ye-re"      ; choose colormap
res@cnLinesOn      = False                 ;
res@lbOrientation  = "Vertical"

res@cnLevelSelectionMode = "ManualLevels"      ;set manual contour levels
res@cnMinLevelValF       =  0                  ; set min contour
res@cnMaxLevelValF       =  0.03               ; set max contour
res@cnLevelSpacingF      =  0.001              ; set contour space
plot = gsn_csm_contour(wks, absc532, res)     ; Draw a contour plot.
end

absc532_fukuoka_Nov.png
密码修改失败请联系微信:mofangbao
发表于 2018-4-3 10:54:02 | 显示全部楼层
丁总????
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2019-1-8 10:36:47 | 显示全部楼层
请问,问题解决了吗?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2019-1-20 21:13:36 | 显示全部楼层
cang 发表于 2019-1-8 10:36
请问,问题解决了吗?

最后是用cdo实现的nc文件拼接,然后用ncl画的图 僵硬的操作
密码修改失败请联系微信:mofangbao
发表于 2019-3-12 09:46:57 | 显示全部楼层
可以先改变纬度顺序,cat应该是合并最左侧的一维。如原始数据a是600*48,高度*时间,先改成b=a(time|:,height|:)..再合并b。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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