爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 581|回复: 4

[求助] 【已解决】用fortran读取grd文件时打不开。太长了记得要续行!!!

[复制链接]

新浪微博达人勋

发表于 2023-10-22 19:16:51 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 CKDDOUBI 于 2023-10-22 20:50 编辑

如图,原数据是nc文件,楼主想用openGrADS的fwrite功能将数据转成grd文件进行处理。 nc转grd读取时出问题.png


楼主使用以下gs代码转成grd
  1. 'reinit'
  2. 'sdfopen C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\ncepII.uwnd.mon.mean.nc'
  3. 'set lev 200'
  4. 'set time jan1981 jan2010'
  5. 'set x 1 144'
  6. 'set y 1 73'
  7. 'set fwrite C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\2\h200.grd'
  8. 'set gxout fwrite'
  9. 'd uwnd'
  10. 'disable fwrite'
复制代码


之后使用以下fortran代码读取
  1. program test2
  2.   implicit none
  3.   integer,parameter::nx=144,ny=73,nt=349   
  4.   real u(nx,ny,nt)
  5. open(1,file='C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\2\h200.grd',form='unformatted',access="direct",recl=nx*ny*nt*4)
  6.    read(1,rec=1) u
  7.   close(1)
  8.   open(2,file='C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\2\test.txt')
  9.    write(2,*) u
  10.   close(2)
  11. end program test2
复制代码

但此时一直报错
  1. C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\2\2.f90:5:132:

  2.      open(1,file='C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\2\h200.grd',form='unformatted', access="direct",recl=nx*ny*nt*4)

  3.                                1
  4. Error: Line truncated at (1) [-Werror=line-truncation]
  5. C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\2\2.f90:5:132:

  6.      open(1,file='C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics\2\h200.grd',form='unformatted', access="direct",recl=nx*ny*nt*4)

  7.                                 1
  8. Error: Syntax error in OPEN statement at (1)
  9. f951.exe: some warnings being treated as errors
复制代码
注,报错信息中的两个“1” 在recl下面
我不知道哪里出了问题,求各位帮帮忙,被困扰两天了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2023-10-22 19:47:55 | 显示全部楼层
为什么不直接用NCL处理了,要转成grd文件格式勒
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-10-22 19:59:23 | 显示全部楼层
本帖最后由 CKDDOUBI 于 2023-10-22 20:08 编辑
任性小王子 发表于 2023-10-22 19:47
为什么不直接用NCL处理了,要转成grd文件格式勒

还不会NCL,学校里只教了Fortran和GrADS。QAQ
周围人都在自学python,唉。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-10-22 20:48:10 | 显示全部楼层
已解决,Fortran第5行太长了,要续行
  1. program test2
  2.   implicit none
  3.   integer, parameter::nx = 144, ny = 73, nt = 349
  4.   real u(nx, ny, nt)
  5.   open (1, file='C:\Users\CKDDOUBI\Desktop\Fortran\Meteorological_Statistics&
  6. &\2\h200.grd', form='unformatted', access='direct', recl=nx*ny*nt*4)
  7.   read (1, rec=1) u
  8.   close (1)

  9. end program test2
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-10-22 21:15:03 | 显示全部楼层
CKDDOUBI 发表于 2023-10-22 19:59
还不会NCL,学校里只教了Fortran和GrADS。QAQ
周围人都在自学python,唉。

解决就好,现在确实Python比较强大,z在处理数据方面无可挑剔
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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