爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4202|回复: 1

[求助] Fortran进行批量处理文件时每个不同的文件输出的结果都一样

[复制链接]

新浪微博达人勋

发表于 2020-4-3 18:20:32 | 显示全部楼层 |阅读模式

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

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

x
我通过Fortran编程计算对流层顶高度,即利用探空数据(探空气球上升时每秒采集的高度和温度数据),输入文件中的高度和温度数据,后一个温度减前一个温度除以后一个高度减前一个高度,算出来小于0.002且这个高度以上2000m内的温度递减率都满足小于0.002的最低高度是对流层顶高度,单独处理一个文件时程序输出结果正常,且换了几个文件,都能输出不同的结果,后来我在前面加了一个批量处理文件的主程序,把计算对流层顶的程序变成子例行程序,结果每个不同的文件输出的结果都跟第一个文件输出的结果一样,不知道在哪个部分出错了
program ex01
implicit none
external trop
integer m,error
character fname*12
open(11,file='C:\var\guangdong_1\L\2016_rw\list.txt',status='old',iostat=error)
do m=1,441
   read(11,'(A12)')fname
   if(error/=0)exit
   call trop(fname)
end do
close(11)
end program
subroutine trop(fname)
implicit none
integer :: i,j=1,k=1,error
character fname*12
integer,parameter::s1=50000  
real hgt(s1),pre(s1),temp(s1),rh(s1),sita(s1),uu(s1),vv(s1),tro(s1),dhgt(s1),dtemp(s1),dht(s1)
open(45,file='C:\var\guangdong_1\L\2016_rw\'//Trim(AdjustL(fname))//'')
do i=1,2700
    read(45,'(f8.1,f8.1,f8.1,f8.1,f8.1,f8.2,f8.2)')pre(i),hgt(i),temp(i),sita(i),rh(i),uu(i),vv(i)
end do
do i=700,2700
           dhgt(i)=hgt(i+1)-hgt(i)
           dtemp(i)=temp(i)-temp(i+1)
           dht(i)=dtemp(i)/dhgt(i)
  if(dht(i)<0.002)then
                k=i+1
       do_while:do while(hgt(k)-hgt(i)<=2000.0)
           dhgt(k)=hgt(k)-hgt(i)
           dtemp(k)=temp(i)-temp(k)
           dht(k)=dtemp(k)/dhgt(k)
           if(dht(k)<=0.002) k=k+1
           if(dht(k)>0.002) EXIT do_while
       end do do_while
  end if
if (hgt(k)-hgt(i)>2000.0)then
     tro(j)=hgt(i)
           j=j+1
end if
end do
close(45)
open(46,file='C:\var\guangdong_1\L\2016_jf\'//Trim(AdjustL(fname))//'')
write(46,'(f8.1)')tro(1)
close(46)
end subroutine trop

1585907589(1).png
1585907436(1).png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-4-11 14:02:51 | 显示全部楼层
楼主Fortran没有错误提示吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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