- 积分
- 335
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-2-27
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 立方光年的团子 于 2021-5-20 11:11 编辑
ncl中的gc_inout:判定目标点在闭合曲线内(含边界上)/外
官网:
F77源码包含在ncl安装包的这个文件中:
/ncl_ncarg-6.6.2/ni/src/lib/nfpfort/sg_tools.f
提取与gcinout有关的子函数,并改写成f90子程序
使用示例:
- !--------------------------------------------------
- !-------------- USAGE -----------------------------
- !--------------------------------------------------
- !----GCINOUT=0 : in
- !----GCINOUT=1 : out
- !----GCINOUT=-1 : error
- include "./gc_inout.f90"
- program ex1
- implicit none
- integer,parameter :: NPTS=5
- real(kind=8) :: blat(NPTS),blon(NPTS)
- real(kind=8) :: plat,plon
- real(kind=8) :: WORK(4,NPTS)
- integer GCINOUT
- blat=DBLE((/20,20,40,40,20/)) !边界:闭合曲线(头尾同一点)注意双精度
- blon=DBLE((/100,120,120,110,100/))
- plat=DBLE(30) !目标点
- plon=DBLE(110)
- print*,GCINOUT(plat, plon, blat, blon, 5, WORK)
- stop
- end
注意事项:
1.边界和目标点都需要双精度
2.边界需闭合,若想看在环装区域的内/外,可使用两次gcinout函数来实现
附件包含
1.打包以下两个文件,由于付出了时间和精力,想要1贡献
①.改写后的可以直接使用的f90子程序 gc_inout.f90
②.源码(F77)sg_tools.f
gcinout.zip
(10.81 KB, 下载次数: 3, 售价: 1 贡献)
|
|