爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2644|回复: 1

[求助] 已编写好求青藏高原上上空200hpa纬向风30m/s出现的最西经度的fortran程序

[复制链接]
发表于 2015-5-6 18:22:54 | 显示全部楼层 |阅读模式

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

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

x
fortran程序,我去验证了一些,发现误差很大
program main
implicit none
integer i,j,t,k,ny,nx,nt
parameter (nx=14,ny=7,nt=66)
real uwnd(nx,ny,nt),a(98,nt),b(nt),m(nt)
open(1,file='e:\jingdu\uwnd200_1.grd',form='binary')
open(2,file='e:\jingdu\uwnd30_1.grd',form='binary')
open(3,file='e:\jingdu\uwnd30_1.txt')
do t=1,nt
    do j=1,ny
    do i=1,nx
    k=14*(j-1)+i
   read(1)uwnd(i,j,t)
   write(*,*)'ok'
  if (uwnd(i,j,t)>=30.0) then
   a(k,t)=(i-1)*2.5+72.5
   write(*,*)a(k,t)
  else
    a(k,t)=0
  endif
  enddo
enddo
enddo
! 100 format()
  !!!!!!!!!!!!!!!!!!!!!!!!!!!
do t=1,nt
   do i=1,97
    if(a(i,t)/=0) m(t)=a(i,t)
   enddo
  do j=i+1,97
   if (m(t)>=a(i+1,t).and.a(i+1,t)>0.) m(t)=a(i+1,t)
   enddo
   enddo
write(2)(m(i),i=1,nt)
write(3,100)(m(i),i=1,nt)
write(*,*)m
100 format(f7.2)
end
*生成grd文件的gs文件,提取青藏高原6月份资料
'reinit'
'sdfopen e:\data\uwnd.mon.mean.nc'
'set gxout fwrite'
'set fwrite e:\data\uwnd200.grd'
it=6
while(it<=794)
'set lon 72.5 105'
'set lat 25 40'
'set z 10'
'set t 'it''
'd uwnd'
it=it+12
endwhile
'disable fwrite'
;
密码修改失败请联系微信:mofangbao
 成长值: 0
发表于 2015-5-6 20:59:15 | 显示全部楼层
你已经发过两次类似的帖子,自己去主动编写程序,这很好。
如下几个问题,或许对你有益:
1、你说的纬向风,最西边,是不是就是你14个格点中当纬向风速高于30就标记,那么有两种方案:
a)从西边往东边找,找到大于30的,就结束这个循环进行下一个纬度寻找;
b)从东边往西边找,找到所有大于30的,标记最后一个。
似乎你是用a进行寻找的,但是标记的时候记录了所有的,不知道你能不能分清楚哪一个对应哪一个?
2、a(k,t)=(i-1)*2.5+72.5,将经纬度全都合到一起,有点儿眉毛胡子一把抓的感觉,你难道不希望标记一下,到底是哪一个纬度上面的哪一个经度是你需要的吗?
3、你最终输出的是什么,不是很明白。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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