24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4106  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 汤小家有只鹿 的主题更新
信息提示
请填处理意见