爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6754|回复: 0

[源代码] fortran读取ARWpost生成的dat 时间循环问题

[复制链接]

新浪微博达人勋

发表于 2019-12-18 18:27:46 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 pkn789 于 2019-12-19 10:10 编辑

大家好!我想问fortran读取ARWpost生成的dat文件时不需要做时间循环就会读取所有时刻吗?那如何输出所有时刻所有高度的某点数据到新文件啊?因为数据是三维的,无法输出时间循环。希望能有人帮我解答下,在这里先万分感谢了!!!!
program main
implicit none
Integer(kind=4)                                   :: k,irec,ngridx=51,ngridy=57,nlyr=19
character                                         :: infilename*90
real(kind=4),allocatable, dimension(:,:,:)        ::pressure,height,tc,td,wspd,wdir
allocate(pressure(ngridx,ngridy,nlyr))
allocate(height(ngridx,ngridy,nlyr))
allocate(tc(ngridx,ngridy,nlyr))
allocate(td(ngridx,ngridy,nlyr))
allocate(wspd(ngridx,ngridy,nlyr))
allocate(wdir(ngridx,ngridy,nlyr))
irec = 1
print*,irec
infilename='wrfout.dat'
open(14,file=trim(infilename),form='unformatted',status='old',access = 'DIRECT',recl = ngridx*ngridy*4)
print *, 'Input:',infilename
do k=1,nlyr
read(14,rec=1)pressure(:,:,k)  
enddo
!print *, 'pressure:',pressure(1:10,1,5)
do k=1,nlyr
irec = irec + 1
read(14,rec=irec)height(:,:,k)  
enddo
do k=1,nlyr
irec = irec + 1
read(14,rec=irec)tc(:,:,k)  
enddo
do k=1,nlyr
irec = irec + 1
read(14,rec=irec)td(:,:,k)  
enddo
do k=1,nlyr
irec = irec + 1
read(14,rec=irec)wspd(:,:,k)  
enddo
do k=1,nlyr
irec = irec + 1
read(14,rec=irec)wdir(:,:,k)  
enddo
print*,wdir
close(14)
deallocate(pressure,height,tc,td,wspd,wdir)
end

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

本版积分规则

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

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

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