24小时热门版块排行榜    

查看: 4232  |  回复: 1

汤小家有只鹿

铁虫 (初入文坛)

[求助] 运行fortran出现forrtl: severe (174): SIGSEGV, segmentation fault occurred 已有1人参与

(linux)我读取两个nc文件,再建立一个新的nc文件,把前两个nc文件中读取出的内容放进新的nc文件。求助,要交作业,拜托
以下是我的程序:
      ! This program is for reading area.nc and calendar
      program link         
      implicit none
      character*299 cass_cal
      character*299 cass_har
      character*299 link_ac
      integer ierr,ncid1,ncid2,ncid3,varid1,varid2,varid3,len_file
      integer, parameter :: longitude=3600, latitude=1800
      real lon_1(longitude), lat_1(latitude)
      real lon_2(longitude), lat_2(latitude)
      real harveste_1(longitude,latitude)
      real(8) area_2(longitude,latitude)                 

      integer lon,lat          !dimension IDs
      integer area,harveste    !variable IDs
      integer areadims(2),hedims(2) !variable shapes           
                                 
      include 'netcdf.inc'
      cass_cal='/home/iga/data/xycao/calendar/output/Cassava.op.nc'
      cass_har='/home/iga/data/xycao/05area/cassava/op/cass_harvest_2005_01.nc'
      link_ac='/home/iga/data/xycao/05area/cassava/op/link_ac.nc'
      !read calendar
      len_file=len_trim(cass_cal)
      ierr=nf_open(trim(cass_cal),nf_nowrite,ncid1) !open nc file,get ID number (ncid)

      ierr=nf_inq_varid(ncid1,'longitude',varid1)    !get"longitude"
      ierr=nf_get_var_real(ncid1,varid1,lon_1)

      ierr=nf_inq_varid(ncid1,'latitude',varid1)    !get"latitude"
      ierr=nf_get_var_real(ncid1,varid1,lat_1)

      !ierr=nf_inq_varid (ncid1, 'plant.end', varid1)  !open 'plant.end',get ID number
      !ierr=nf_get_var_real (ncid1,varid1,plante_1)      

      ierr=nf_inq_varid (ncid1, 'harvest.end', varid1) !open 'harvest.end',get ID number
      ierr=nf_get_var_real (ncid1,varid1,harveste_1)

      !read area
      len_file=len_trim(cass_har)
      ierr=nf_open(trim(cass_har),nf_write,ncid2)  !open nc file,get ID number (ncid)

      ierr=nf_inq_varid(ncid2,'longitude',varid2) !get"longitude"
      ierr=nf_get_var_real(ncid2,varid2,lon_1)

      ierr=nf_inq_varid(ncid2,'latitude',varid2) !get"latitude"
      ierr=nf_get_var_real(ncid2,varid2,lat_2)

      ierr=nf_inq_varid (ncid2, 'Band1', varid2) !open 'Band1',get ID number
      ierr=nf_get_var_real (ncid2,varid2,area_2)
      
      print*,'ierr'
      !print*, plante(1145,702)
      print*, harveste_1(1145,704)                       !check
      print*, area_2(1145,702),area_2(1145,704)

      !create a new file to link area and calendar
      len_file=len_trim(link_ac)
      ierr=nf_create(trim(link_ac),nf_clobber,ncid3)
   
      ierr=nf_def_dim(ncid3,'lat_1',1800,lat)
      ierr=nf_def_dim(ncid3,'lon_1',3600,lon)
      hedims(1)=lat
      hedims(2)=lon
      ierr=nf_def_var(ncid3,'harveste_1',nf_real,2,harveste)
      areadims(1)=lat
      areadims(2)=lon
      ierr=nf_def_var(ncid3,'area_2',nf_double,2,area)

      end program link

运行时出现了以下错误:
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source            
link.exe           000000000046F579  Unknown               Unknown  Unknown
link.exe           000000000046DEF0  Unknown               Unknown  Unknown
link.exe           000000000043FD52  Unknown               Unknown  Unknown
link.exe           0000000000424973  Unknown               Unknown  Unknown
link.exe           00000000004035FB  Unknown               Unknown  Unknown
libpthread.so.0    0000003B0EA0F710  Unknown               Unknown  Unknown
libnetcdff.so.5    00002B059A138AEC  Unknown               Unknown  Unknown
link.exe           0000000000403342  Unknown               Unknown  Unknown
link.exe           0000000000402EF6  Unknown               Unknown  Unknown
libc.so.6          0000003B0E61ED5D  Unknown               Unknown  Unknown
link.exe           0000000000402DE9  Unknown               Unknown  Unknown
回复此楼
小蜗牛,快快爬
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1014511134

专家顾问 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
汤小家有只鹿: 金币+1, 有帮助, 谢谢回复 2017-12-04 18:50:20
访问非法地址,查看一下数组是否越界什么的,比如合并后的数据大小等等,只是看过,没用过netcdf读写
2楼2017-12-04 15:05:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 汤小家有只鹿 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +31 医学老男孩 2026-08-13 69/3450 2026-08-16 00:16 by mo_mo_mo_mo
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +9 majunge000 2026-08-11 11/550 2026-08-15 23:20 by botar
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见