爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12793|回复: 4

[其他] 求助 ncl读取特定的批量数据

[复制链接]
发表于 2020-10-22 11:32:53 | 显示全部楼层 |阅读模式

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

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

x
ncl代码如下
begin
  ;f     = addfile ("uwnd.mon.mean.nc","r")  
  ;time= f->time(372:374)                    

  Din = "D:/123/MONTH/*/*/"
  ;Dout = "D:/123/MONTH/"

  files=systemfunc("ls " + Din + "CRA40_VVP_*_GLB_MONTH_V1_0_0.grib2")
  ;printVarSummary(files)
  fin = addfiles(files,"r")
  ListSetType (fin,"join")
  vv = fin[:]->VVEL_P0_L100_GGA0

  ;vv!0="time"                              
  ;vv&time=time                              
  printVarSummary(vv)

  ;system("rm -f " + Dout + "test.nc")  
  ;fout = addfile( Dout + "test.nc","c")

  ;fout->vv = vv(:,0:16,:,:)                 
end


文件路径如下:

代码是批量读取全部的数据的,请问如果想提取197901-201812共480个月的数据,有什么办法修改读取数据的代码(systemfunc)又不影响后续的ListSetType等的代码?在数据文件无法删除的情况下?


文件路径

文件路径
密码修改失败请联系微信:mofangbao
发表于 2020-11-6 16:10:14 | 显示全部楼层
楼主我也遇到了类似的问题,您知道怎么从一堆nc文件中只提取某一月份的数据吗?errst.v5.201001.nc 一直到202010.nc  怎么取其中的10月份,编程小白
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-11-6 16:33:56 | 显示全部楼层
请问楼主解决了吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-6 17:54:38 | 显示全部楼层

解决了,后来发现,读的时候把文件全部读进去了,输出的时候可以;fout->vv = vv(:,0:16,:,:)改成;fout->vv = vv(0:2,0:16,:,:)就可以输出前三个时间不输出所有时间了,或者读取数据处理数据时就能设置,但因为我ncl太烂了还不会弄,你如果数据量并不是特别大的话,并且是生成一个新的文件的话可以跟我一样在输出文件那里改
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-6 18:03:38 | 显示全部楼层
学气象的小弱鸡 发表于 2020-11-6 16:10
楼主我也遇到了类似的问题,您知道怎么从一堆nc文件中只提取某一月份的数据吗?errst.v5.201001.nc 一直到20 ...

不好意思啊,我不太清楚这个怎么弄,我才刚自学ncl,帮不了你。。。你去论坛搜吧,感觉应该挺多人做过提取月份的,或者你去ncl官网看下有没例子可以对照着写http://www.ncl.ucar.edu/Applications/
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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