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

CASM.jpg

地球外部重力陆海完全布格影响严密积分Fortran代码

陆海完全布格影响严密积分代码

 二维码 197
发表时间:2024-11-20 22:01作者:章传银网址:http://www.zcyphygeodesy.com
文章附图

[计算目标]

由陆海地形数字模型、地面/海面大地高格网,按严密数值积分方法,计算大地水准面及其外部重力陆海统一的完全布格影响。由于正常重力场不变,因此,扰动重力、空间异常的陆海完全布格影响等于重力的陆海完全布格影响。

陆域地形完全布格影响,定义为大地水准面以上地形质量对地球重力场(各种场元)的影响。海水完全布格影响,定义为将海水密度补偿到陆地地形密度后,对地球重力场(各种场元)产生的影响。

大地水准面及其外部各种重力场元的陆海完全布格影响,也可按全球陆海地形球谐分析与球谐综合法计算。

[测试入口程序]

    landseacmpBougeffintgrl.f90

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

    输入:格网规格相同的陆海地形数字模型与地面/海面大地高格网文件。其中,陆海地形数字模型用于表示陆地地面和海底的地形起伏,地面/海面大地高格网用于表示流动积分面元的位置。

    输出文件reslt.txt记录:在输入文件记录的基础上,增加局部地形影响、陆地球壳布格影响、海水完全布格影响与陆海完全布格影响(mGal)。

幻灯片20.JPG

[主要调用模块]

(1)各种场元局部地形影响数值积分模块

    LTerAllBLH(BLH,dtm,sfh,nlat,nlon,hd,dr,GRS,ter)

    输入BLH(3)-空间计算点的经纬度(度小数)和大地高(m)。

    输入dtm(nlat,nlon)-数字地面高程模型格网(>0),用于表示陆地地形起伏,海域格值置零。

    输入sfh(nlat,nlon)-陆地地面/海面大地高格网,用于精密计算积分流动面元的积分距离。

    输入dr, hd(6)-积分半径(m)和格网规格参数(最小最大经度,最小最大纬度,经度间隔,纬度间隔)。

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

    返回ter(5)-高程异常、重力、垂线偏差(南向、西向)和重力梯度(径向)的局部地形影响(国际单位SI)。

(2)海水完全布格影响数值积分模块

    OwBougreBLH(BLH,sea,sfh,nlat,nlon,hd,dr,GRS,ter)

    输入sea(nlat,nlon)-海洋水深模型格网(<0),用于表示海底地形起伏,陆地格值置零。

    返回ter(2)-高程异常(m)、重力(mGal)的海水完全布格影响。

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

    normdjn(GRS,djn);GNormalfd(BLH,NFD,GRS)

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

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

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

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

(5)大地坐标形式变换包

    BLH_RLAT(GRS, BLH, RLAT);BLH_XYZ(GRS, BLH, XYZ)

    RLAT_BLH(GRS, RLAT, BLH)

(6)格网内插点值算法包

    CGrdPntD(lon,lat,dt,row,col,hd);CGrdPntD2(lon,lat,dt,row,col,hd)

    CShepard(lon,lat,dt,row,col,hd);Gauss2D(lon,lat,dt,row,col,hd)

(7)其他辅助模块

    PickRecord(str0, kln, rec, nn)

[编译连接]

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

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

    1.4.1大地测量数据文件格式约定

    7.5.1陆域地形场-陆地完全布格影响

    7.5.2地球外部局部地形影响积分公式

    7.6.1海域地形场-海水完全布格影响

    7.1(4)低阶勒让德函数及其一、二阶导数算法


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