| 
 
	积分1646贡献 精华在线时间 小时注册时间2012-7-11最后登录1970-1-1 
 | 
 
| 
为了计算北极海冰面积,先将海冰密集度的nc文件转换成grd文件
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  nc_grd.gs:
 
 'reinit'
 'sdfopen f:\HadISST_ICE\HadISST_ice.nc'
 'set gxout fwrite'
 'set fwrite f:\HadISST_ICE\area.grd'
 i=1
 while(i<=1701)
 'set x 1 360'
 'set y 91 180'
 'set t 'i
 'set z 1'
 'd sea_ice_area_fr'
 i=i+1
 endwhile
 'close 1'
 'disable fwrite'
 
 用fortran计算海冰总面积:
 IMPLICIT NONE
 INTEGER,PARAMETER::NX=360,NY=90,NT=1701
 REAL FR(NX,NY,NT)
 REAL S(NT)
 INTEGER I,J,K,P
 
 OPEN(10,FILE='area.grd',FORM='UNFORMATTED',STATUS='REPLACE',ACCESS='DIRECT',RECL=360*90)
 OPEN(20,FILE='tot_area.grd',FORM='UNFORMATTED',STATUS='REPLACE',ACCESS='DIRECT',RECL=360*90)
 OPEN(30,FILE='area.txt',FORM='FORMATTED')
 
 P=1
 DO K=1,NT
 DO J=1,NY
 DO I=1,NX
 READ(10,REC=P) FR(I,J,K)
 P=P+1
 ENDDO
 ENDDO
 ENDDO
 
 DO K=1,NT
 S(K)=0.0
 DO J=1,NY
 DO I=1,NX
 IF (FR(I,J,K)>0.0) THEN
 S(K)=S(K)+12351.77853*COS((J-0.5)*3.14159/180)*FR(I,J,K)
 ENDIF
 ENDDO
 ENDDO
 ENDDO
 
 P=1
 DO K=1,NT
 WRITE(30)S(K)
 WRITE(20,REC=P)S(K)
 P=P+1
 ENDDO
 
 CLOSE(20)
 CLOSE(30)
 STOP
 END
 
 
 运行后fortran报错
 run-time error F6414:open(area.grd) access not allowed
 
 以为是area.grd中数据太大(360*90*1701),就把时次1701改成了10,但还是同样的错误。。
 请教是为什么啊?
 
 
 
 | 
 |