请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 104|回复: 0

[经验总结] ncl 160站数据读取记录

[复制链接]

新浪微博达人勋

发表于 2020-2-14 15:29:52 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 biguo 于 2020-2-14 15:32 编辑

记录:筛选160个站点中某个区域内的站点数据。zd.txt是指160站数据的帮助文件,即包含站点序号,站点经纬度的文件。

;筛选出经纬度范围内的站点序号
begin
f=asciiread("/cygdrive/c/Users/admin/Desktop/tt/zd.txt",(/160,3/),"float")
j=0
seri_number=new((/1,43/),integer)
do i=0,159
    if(f(i,2).ge.105..and.f(i,2).le.130..and.f(i,1).ge.16..and.f(i,1).le.30.) then
    print(i+0)
    seri_number(:,j)=i
    j=j+1
end if
end do
  print(j)
  print(seri_number)
;---------------------保存筛选出的站点序号,后面分析使用-------------------
opt=True
filename="105-130Eseri_number.txt"
opt@fout=filename
SYS_RM="/bin/rm -f"+filename
system(SYS_RM)
write_matrix(seri_number, "10i7", opt)   ;10表示10列的意思   

;-----------------------读取筛选站点的降水数据-----------------------------
f2=asciiread("/cygdrive/f/yjs/sj/160pre/r1602.txt",(/69,160/),"float")
f3=asciiread("/cygdrive/f/yjs/sj/160pre/r1603.txt",(/69,160/),"float")
seri_num=asciiread("105-130Eseri_number.txt",(/43/),"integer")
print(seri_num)
n=dimsizes(seri_num)                       ;站点序号的个数
year=ispan(1951,2018,1)                    ;选择研究时间段
ny=dimsizes(year)                          ;研究的年份的个数
pre=new((/ny,n/),"float")                  ;定义新数组pre
do i=0,n-1
pre(:,i)=f2(:ny-1,seri_num(i))             ;将筛选后的站点降水赋给pre
end do
printVarSummary(pre)
end



密码修改失败请联系qq:937062711
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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