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

CASM.jpg

地球外部任意形状面Molodensky边值校正Fortran代码

Molodensky边值校正Fortran代码

 二维码 221
发表时间:2024-12-27 11:57作者:章传银网址:http://www.zcyphygeodesy.com
文章附图

[计算目标]

    由地面或地球外部非等位的边界面上空间异常或扰动重力(mGal)格网、边界面模型高程异常格网、边界面大地高格网和参考等位面(Stokes边值归算面)大地高格网,计算边界面上离散点空间异常或扰动重力的Molodensky一阶项边值改正数,从而将Molodensky边值问题,转换为Stokes边值问题。

    边界面可以位于大地水准面或其外部任意高度,容许边界面具有任意不规则形状。当边界面为地面,参考等位面为大地水准面时,程序计算传统Molodensky I 项。

幻灯片11.JPG

[测试入口程序]

    GeneralizedMolodenskyIadj.f90

    输入knd, dr-边界面扰动重力元类型和积分半径(m)。knd=0空间异常,knd=1扰动重力。

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

    输入dbmhgrdfl-边界面大地高格网文件名。

    输入dwmhgrdfl-参考等位面(Stokes边值归算面)大地高格网文件名。

    输入ksigrdfl-边界面上高程异常格网文件名。

    输入gravgrdfl-边界面上扰动场元格网文件名。knd=0空间异常,knd=1扰动重力。

    程序要求4个输入格网文件有相同的格网规格。

[主要调用模块]

(1)任意边界面Molodensky I项数值积分模块

    MolodeskyIntegral(calcpntfl,dbmhgrdfl,dwmhgrdfl,ksigrdfl,gravgrdfl,knd,dr)

    输出文件reslt.txt记录:在输入文件记录的基础上,增加一列该点的Molodensky一阶项边值改正数(mGal)。

(2)扰动重力场元Molodensky边值校正模块

    real*8 function MolodeskyBLH(BLH,gra,ksi,hgt,dwm,nlat,nlon,hd,dr,knd,GRS)

    输入BLH(3)-边界面上计算点的经纬度(度小数)和大地高(m)。

    输入hgt(nlat,nlon)-边界面大地高格网(m)。

    输入dwm(nlat,nlon)-参考等位面(Stokes边值归算面)大地高格网(m)。

    输入ksi(nlat,nlon)-边界面上高程异常格网(m)。

    输入gra(nlat,nlon)-边界面上扰动场元格网(mGal)。knd=0空间异常,knd=1扰动重力。

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

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

    返回-Molodensky一阶项边值改正数(mGal)。

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

    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)其他辅助模块

    PickRecord(line, kln, rec, nn);CGrdPntD2(lon,lat,dt,row,col,hd)

[编译连接]

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

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