爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4807|回复: 7

数据合并

[复制链接]

新浪微博达人勋

发表于 2012-6-19 10:29:00 | 显示全部楼层 |阅读模式

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

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

x
我在合并NCEP 1.0*1.0数据的时候遇到了问题。具体看下图。有哪位高手能指导一下。数据是fnl文件。每个时次一个文件。
截图04.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-6-19 11:52:29 | 显示全部楼层
这几天比较忙,一直没顾上测试你的数据,等有空了会仔细看看。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-6-19 11:56:35 | 显示全部楼层
好的。麻烦版主了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-6-23 14:29:34 | 显示全部楼层

改进了netCDF数据合并功能,可以处理这种情况了,需要MeteoInfo最新文件(见置顶帖子)。需要注意的是该数据中的时间维名称并非time(通常情况下都是这个名字),而是initial_time0_hours,所以在合并文件的界面中需要将Time Dimension Name改为正确的时间维名称(如下图所示)。
Image00889.png

也可以通过写脚本程序来合并netCDF文件,例如:
  1. #--------------------------------------------------------        
  2. # Author: Yaqiang Wang                                          
  3. # Date: 2012-5-22                                                
  4. # Purpose: Join NetCDF data files  
  5. # Note: Sample                                                   
  6. #-----------------------------------------------------------     
  7. import clr
  8. from System import *
  9. from System.Collections.Generic import List
  10. clr.AddReference("MeteoInfoC.dll")
  11. from MeteoInfoC import *
  12. from MeteoInfoC.Data import *
  13. from MeteoInfoC.Data.MeteoData import *

  14. import os.path
  15. import datetime

  16. #---- Set data folders
  17. dataDir = 'F:\\Temp\\nc\\'

  18. #---- Join netCDF data files
  19. infiles = List[str]()
  20. aTime = datetime.datetime(2007,7,16)
  21. dt = datetime.timedelta(hours=6)
  22. for h in range(2):
  23.         tStr = aTime.strftime('%Y%m%d_%H')
  24.         afile = dataDir + 'fnl_' + tStr + '_00.nc'
  25.         print afile
  26.         if os.path.isfile(afile):
  27.                 infiles.Add(afile)
  28.         aTime = aTime + dt

  29. if infiles.Count > 1:
  30.         outfile = dataDir + 'fnl_output.nc'
  31.         NetCDFData.JoinDataFiles_Time(infiles, outfile, 'initial_time0_hours')
  32. print 'Finished...'
复制代码



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

新浪微博达人勋

 楼主| 发表于 2012-6-24 11:06:50 | 显示全部楼层
谢谢版主了。搞好了,我还想问一下,用最新的软件版本打开原来的fnl_20070716_00_00.nc,为什么许多变量应该为26层,但是选择变量后,level仍然为surface.比如打开u_grd_3_isbl_10.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-6-24 12:01:10 | 显示全部楼层
shzljg 发表于 2012-6-24 11:06
谢谢版主了。搞好了,我还想问一下,用最新的软件版本打开原来的fnl_20070716_00_00.nc,为什么许多变量应该 ...

NetCDF格式本身十分灵活,要让程序自动识别需要遵循某种conventions,比如CF conventions。你的这个数据的维设定比较复杂,不同的变量可能有不同的level维,目前还没有想好怎么自动处理这样的情况,以后有空会仔细研究一下的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-6 15:51:10 | 显示全部楼层
shzljg 发表于 2012-6-24 11:06
谢谢版主了。搞好了,我还想问一下,用最新的软件版本打开原来的fnl_20070716_00_00.nc,为什么许多变量应该 ...

已经做了改进,可以处理这种情况了,详见此贴:改进NetCDF数据读取
http://bbs.06climate.com/forum.p ... 270&fromuid=106
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-9 22:54:47 | 显示全部楼层
谢谢版主了!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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