爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5008|回复: 7

[求助] 求FORTRAN程序——在地图上,求一条等值线内的面积

[复制链接]

新浪微博达人勋

发表于 2013-3-31 13:36:54 | 显示全部楼层 |阅读模式

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

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

x
           最初的是一个全球的处理过的数据a,想求:
           在90E-90W,0-90N 范围内,a>=3200的面积,也就是a=3200这条等值线内部围成的总面积。
           数据是2.5*2.5的,应该可以把它当成求若干个方格的面积。
           但是,纬度加权肯定是必须的。

           求给力啊!!!~~~~(>_<)~~~~

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

新浪微博达人勋

发表于 2013-3-31 13:40:50 | 显示全部楼层
我也想要 呵呵
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-31 13:54:32 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2013-3-31 14:59:31 | 显示全部楼层
程序的编写不是特别的难,但是有一个问题就是设计上面是不是有缺陷,比如存在某一个小区域,只有有限的1个或者2个点超过3200,那么是否需要呗识别出来:

整体程序可以用下的识别方案:
定义一个纬向数组,存放每一个纬度上面的个点数目,然后和全球的格点作对比,并上纬向面积权重就ok了
假定数据构成x(m,n),m=73,n=144分别是纬向和经向格点数目,主要s是动态的···

do i=1,m
s=0
do j=1,n
if(x(i,j).ge.3200) then
s=s+1
endif
enddo
y(i)=s
enddo

下面进入面积计算
s=0
do i=2,72
s=s+y(i)/n*pi*r/36*2*pi*r*cos(90-i*2.5)
enddo
极点的就算,面积只考虑一般
s=s+y(1)/n*pi*r/36*2*pi*r*cos(90-1*2.5)*0.5
s=s+y(73)/n*pi*r/36*2*pi*r*cos(90-73*2.5)*0.5

print*,"计算面积是:",s
end

刚刚拿笔算了一下,差不多这样设计应是ok的。思想就是计算每一个纬圈5°范围内的面积,计算的时候有点儿误差,误差的产生在于用的是对应纬圈长度乘以5°的长度······个人感觉是可以忽略的,当然楼主可以改良一下。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-31 15:31:50 | 显示全部楼层
言深深 发表于 2013-3-31 14:59
程序的编写不是特别的难,但是有一个问题就是设计上面是不是有缺陷,比如存在某一个小区域,只有有限的1个或 ...

恩恩,差不多了然了,但是有两个没看懂:
s=s+y(i)/n*pi*r/36*2*pi*r*cos(90-i*2.5)
pi*r/36 这一个是什么意思啊?
90-i*2.5 这个不用换成弧度么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-31 15:36:25 | 显示全部楼层
言深深 发表于 2013-3-31 14:59
程序的编写不是特别的难,但是有一个问题就是设计上面是不是有缺陷,比如存在某一个小区域,只有有限的1个或 ...

哦~~~ 第一个 我懂了,是2*pi*r/72 的意思,小方块的高,差不多2.5度是吧,最后有一个 *0.5 是考虑到方块向极地的收缩么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2013-4-1 10:23:04 | 显示全部楼层
yuxiao19910 发表于 2013-3-31 15:36
哦~~~ 第一个 我懂了,是2*pi*r/72 的意思,小方块的高,差不多2.5度是吧,最后有一个 *0.5 是考虑到方块 ...

是的,你的理解是正确的哈!然后,那边确实应该换算成弧度的···因为直接在回复里面敲的,所以想的漏了···惭愧···本来真的担心你看不到,现在看来你的基础还是很不错的哈···nice···
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-2 09:14:07 | 显示全部楼层
言深深 发表于 2013-4-1 10:23
是的,你的理解是正确的哈!然后,那边确实应该换算成弧度的···因为直接在回复里面敲的,所以想的漏了 ...

我聪明嘛
  我弄出来了,thanks~~~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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