- 积分
- 1646
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-7-11
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
fortran程序如下:用北半球经度0~360度,纬度0~90度,1度*1度的月平均资料,每个网格中的数值是海冰密集度(即该网格中海冰面积占总面积的百分比),求北半球海冰总面积。1870年1月~2011年9月,共1701个月。
IMPLICIT NONE
INTEGER,PARAMETER::NX=360,NY=90,NT=1701
REAL FR(NX,NY,NT) !海冰密集度
REAL S(NT) !每个月海冰总面积
INTEGER I,J,K
OPEN(10,FILE='area.grd',FORM='BINARY',STATUS='UNKNOWN',ACCESS='DIRECT',RECL=360*90)
OPEN(20,FILE='tot_area.grd',FORM='UNFORMATTED',STATUS='REPLACE',ACCESS='DIRECT',RECL=1701)
OPEN(30,FILE='area.txt',FORM='FORMATTED')
DO K=1,NT
READ(10,REC=K) ((FR(I,J,K),I=1,NX),J=1,NY)
ENDDO
DO K=1,NT
S(K)=0.0
DO J=1,NY
DO I=1,NX
IF(FR(I,J,K)>1E-6)THEN
S(K)=S(K)+12351.77853*COS((FLOAT(J)-0.5)*3.14159/180)*FR(I,J,K)
ENDIF
ENDDO
ENDDO
ENDDO
DO K=1,NT
WRITE(30,*)S(K)
WRITE(20,REC=K)S(K)
ENDDO
CLOSE(20)
CLOSE(30)
STOP
END
程序中12351.77853*COS((FLOAT(J)-0.5)*3.14159/180)是考虑到不同纬度每个网格面积不同。
计算结果是1701个月每个月的海冰总面积,下面是前24个月的结果:
1.366221E+07 4.093065E+07 6.193769E+07 6.832386E+07 1.440258E+07 4.214695E+07 6.341928E+07 6.884901E+07 1.446945E+07 4.224175E+07 6.352684E+07 6.855300E+07 1.407190E+07 4.177893E+07 6.310776E+07 6.884942E+07 1.333156E+07 4.052787E+07 6.153863E+07 6.823701E+07 1.219227E+07 3.841298E+07 5.877616E+07 6.649662E+07看起来像是4个月1个循环啊,和实际情况不符合吧,应该是3月份最多,9月份最少啊……不知道程序哪里错了啊。。。谢谢各位了~~
|
|