地球物理大地测量
大型科学
计算平台

CASM.jpg

地球重力场位系数模型全空间全要素计算Fortran代码

地球重力场模型全要素计算代码

 二维码 519
发表时间:2024-11-19 11:03作者:章传银网址:http://www.zcyphygeodesy.com
文章附图

[计算目标]

输入地球重力位系数模型,计算地球空间任意点处的高程异常(m)、空间异常(mGal)、扰动重力(mGal)、垂线偏差向量(s,ʺ/秒,南向、西向)、扰动重力梯度(径向,E)、水平重力梯度向量(E,北向、西向)和Laplace算子(E)的模型值。

当设置相等的重力位系数模型最小、最大计算阶数都为n时,程序计算第n阶位系数对扰动重力场元的贡献。可用于分析评价该重力位系数模型的谱域空域性质。

pagravf004.JPGpagravf006.JPG

[测试入口程序]

    GGMallelementgrfd.f90

    输入计算点空间位置文件记录格式:点号/点名 经度(度小数) 纬度(度小数) 大地高(m)......

   输出文件reslt.txt记录:在输入文件记录的基础上,增加9列重力场元模型值,包括高程异常(m)、空间异常(mGal)、扰动重力(mGal)、垂线偏差向量(s,ʺ/秒,南向、西向)、扰动重力梯度(径向,E)、水平重力梯度向量(E,北向、西向)和Laplace算子(E)的模型值。

[主要调用模块]

(1)扰动重力场元模型值球谐综合计算模块

    RntGravFdpnm(nmin,maxn,rln,cnm,snm,gvm,GRS,pnm,dpt1,dpt2,gr)

    输入nmin,maxn-最小、最大计算阶数

    输入rln(3)-计算点的球坐标(IERS)

    输入cnm,snm-模型重力场位系数

    输入GRS(6)-gm, ae, j2, omega, 1/f, 缺省值

    输入pnm,dpt1,dpt2,gr-计算点处的连带勒让德函数及其一、二阶导数和正常重力值

    返回gvm(8)-高程异常(m)、空间异常(mGal)、扰动重力(mGal)、南向、西向垂线偏差(s)、重力梯度(E)、北向、东向水平重力梯度(E)

(2)正常重力位系数计算模块

    normdjn(GRS,djn);cstonorm (maxn,djn,GRS,HC,HS)

(3)正常重力场元计算模块

    GNormalfd(BLH,NFD,GRS)

    返回NFD(5)-正常重力位,正常重力,正常重力梯度,正常重力线方向,正常梯度方向

(4)规格化连带勒让德函数及其一、二阶导数模块

    BelPnmdt(pnm,dpt1,dpt2,maxn,t)

    计算规格化连带勒让德函数Pnm及其对θ一、二阶导数,t=cosθ。

    规格化Pnm采用改进的Belikov递推算法,一、二阶导数采用非奇异递推算法。测试到7200阶。

(5)勒让德函数及其导数计算模块

    LegPn_dt2(pn,dp1,dp2,n,t)

    计算勒让德函数Pn(t)及其对ψ一、二阶导数t=cosψ。

(6)正常椭球基本参数计算模块

    ELLIPSOIDPARA(GRS)

    GRS(1)-地心引力常数GM;GRS(2)-椭球长半轴;GRS(3)-地球动力学形状因子J2;GRS(4)-自转平均角速度omega;GRS(5)-地球椭球扁率1/f;GRS(6)-椭球面正常重力位U0=WG

    输入参数:GRS(1),GRS(2),GRS(4)和GRS(3)、GRS(5)、GRS(6)其中之一,设置没有赋值的剩余GRS(3)、GRS(5)或GRS(6)为任意大于零的数。

    输出参数:GRS(1:6)

(7)椭球大地坐标变换为球坐标模块

    BLH_RLAT(GRS,BLH,RLAT)

[编译连接]

    Fortran固定格式代码,任何fortran编译器,无需任何外部连接库。

[算法公式]参见PAGravf4.5参考说明书

    7.2重力场位系数模型场元计算公式

    7.3缔合勒让德函数及其导数算法

提示:在地球两极处,垂线偏差西向、水平重力梯度西向无定义,计算结果无意义。


附件rar压缩包:visual studio_intel fortran 集成环境测试项目、DOS可执行测试程序和测试输入输出数据。