爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11582|回复: 13

<高分悬赏>恳求编程高手指导:prepbufr程序!!

[复制链接]
发表于 2015-12-11 20:17:43 | 显示全部楼层 |阅读模式

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

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

x
这是我根据官网的例子写的prepbufr,恳求大神帮我看看是我哪里有问题!

program prepbufr_encode_upperair
!
!  write a upper air observation into prepbufr file
!
implicit none

! integer, parameter :: mxmn=9, mxlv=58
integer, parameter :: mxlv=58
character(80):: hdstr='SID XOB YOB DHR TYP ELV SAID T29'
character(80):: obstr='POB QOB TOB ZOB'
character(80):: qcstr='PQM QQM TQM ZQM'
character(80):: oestr='POE QOE TOE NUL'
real(8) :: hdr(8,1),obs(4,mxlv),qcf(4,mxlv),oer(4,mxlv)

character(8) :: subset
integer      :: unit_out=10,unit_table=20,idate,iret,nlvl

character(8) :: c_sid
real(8)      :: rstation_id
equivalence(rstation_id,c_sid)

integer::num,istat
real(8)::ot(1,mxlv)
character(len=*),parameter::fdir=‘/comGSI_v3.2/caseobs/2014070300/'
!
! write observation into prepbufr file
!
open(unit_table,file='prepobs_prep.bufrtable',action='read')
open(unit=24,file=trim(fdir)//'ob20140703_00.txt',action='read',form='formatted')
open(unit_out,file=trim(fdir)//'gdas1.t00z.prepbufr',action='write',form='unformatted')

call datelen(10)
call openbf(unit_out,'OUT',unit_table)

   idate=2014070300 ! cycle time: YYYYMMDDHH
   subset='ADPUPA'  ! upper-air (raob, drops) reports
   call openmb(unit_out,subset,idate)

! set headers
      hdr=10.0e10
      c_sid='58238'; hdr(1,1)=rstation_id
      hdr(2,1)=118.80; hdr(3,1)=32.00; hdr(4,1)=0; hdr(6,1)=7.0;

      hdr(5,1)=120          ! report type: sounding
      obs=10.0e10;qcf=10.0e10;oer=10.0e10

      do num=1,58
      read(24,*,IOSTAT=istat) obs(1,num),obs(4,num),obs(3,num),obs(2,num),ot(1,num)
      qcf(1,num)=0
      qcf(2,num)=0
      qcf(3,num)=0
      qcf(4,num)=0
      oer(1,num)=0.5
      oer(2,num)=1.4
      oer(3,num)=1.5
      if(istat/=0) exit
      end do
!      nlvl=num-1
      print *, obs


      call ufbint(unit_out,hdr,8,1,iret,hdstr)
      call ufbint(unit_out,obs,4,58,iret,obstr)
      call ufbint(unit_out,oer,4,58,iret,oestr)
      call ufbint(unit_out,qcf,4,58,iret,qcstr)
      call writsb(unit_out)

   call closmg(unit_out)
call closbf(unit_out)

end program

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-12-13 16:15:44 | 显示全部楼层

让我默默的蹲哭一会。。。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

发表于 2015-12-11 22:26:03 | 显示全部楼层

回帖奖励 +5 金钱

楼主萌萌哒。自己先编译看看呢
密码修改失败请联系微信:mofangbao
发表于 2015-12-12 02:01:53 | 显示全部楼层
不明觉厉,这是哪种语言啊?
密码修改失败请联系微信:mofangbao
发表于 2015-12-12 10:19:07 | 显示全部楼层
yysunnyboy 发表于 2015-12-12 02:01
不明觉厉,这是哪种语言啊?

难道不是FORTRAN?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-12-12 12:56:35 | 显示全部楼层
又是那隻貓 发表于 2015-12-11 22:26
楼主萌萌哒。自己先编译看看呢

编译神马的都木有问题,但是同化系统读不进去,不造哪里错了
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-12-12 12:57:22 | 显示全部楼层

FORTRAN 你们都认不出来?悄悄鄙视一下
密码修改失败请联系微信:mofangbao
发表于 2015-12-12 14:48:23 | 显示全部楼层
白兔糖0217 发表于 2015-12-12 12:57
FORTRAN 你们都认不出来?悄悄鄙视一下

各个环节测试一下。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-12-13 14:32:23 | 显示全部楼层
andrewsoong 发表于 2015-12-12 14:48
各个环节测试一下。

发现就是GSI 读不进去。。。其他OK
密码修改失败请联系微信:mofangbao
发表于 2015-12-13 15:57:13 | 显示全部楼层
白兔糖0217 发表于 2015-12-13 14:32
发现就是GSI 读不进去。。。其他OK

那就是症结了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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