爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 18478|回复: 22

[求助] 求海冰总面积,请问哪里出错了?

[复制链接]

新浪微博达人勋

发表于 2012-7-28 20:23:19 | 显示全部楼层 |阅读模式

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

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

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月份最少啊……不知道程序哪里错了啊。。。谢谢各位了~~

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2012-7-28 21:14:58 | 显示全部楼层
从程序看起来貌似没有什么问题,但是read的时候不妨check一下数据是不是对的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-28 21:52:58 | 显示全部楼层

这里的grd是从nc转过来的,我用原始的nc和grd画出来的图是一样的,所以数据应该没有问题吧??
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 09:34:38 | 显示全部楼层
你程序有报错吗?还是只是数据结果有问题?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-29 16:25:59 | 显示全部楼层
做个霸气的木头 发表于 2012-7-29 09:34
你程序有报错吗?还是只是数据结果有问题?

程序没有报错,只是结果不对
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 16:45:54 | 显示全部楼层
那个nc资料的lat是90N~90S的,楼主在提取资料的时候注意了么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-29 16:54:36 | 显示全部楼层
易小凯 发表于 2012-7-29 16:45
那个nc资料的lat是90N~90S的,楼主在提取资料的时候注意了么?

是从-89.5~89.5,180网格,我提取了91~180,也就是0.5~89.5。有问题吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 16:58:07 | 显示全部楼层
chaseechoes 发表于 2012-7-29 16:54
是从-89.5~89.5,180网格,我提取了91~180,也就是0.5~89.5。有问题吗?

我不知道你是用什么软件提取海冰资料的
不过nc资料的纬度是从北到南排列的
因此,你看看是不是提取成了南半球的了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-29 17:13:40 | 显示全部楼层
易小凯 发表于 2012-7-29 16:58
我不知道你是用什么软件提取海冰资料的
不过nc资料的纬度是从北到南排列的
因此,你看看是不是提取成了 ...

捕获.PNG
难道这里的-89.5是指89.5N??
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 17:15:05 | 显示全部楼层
chaseechoes 发表于 2012-7-29 17:13
难道这里的-89.5是指89.5N??

你是用grads提取资料的啊,那就没问题了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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