近地空间高程异常反算其他扰动重力场元Fortran代码高程异常反算其他扰动场元源码 二维码
479
发表时间:2024-12-19 11:40网址:http://www.zcyphygeodesy.com [计算目标] 由边界面大地高格网(m)及其面上残差高程异常(m)格网,计算大地水准面或地球外部的残差空间异常(mGal)、残差扰动重力(mGal)与残差垂线偏差向量(″,SW)。(可从别人大地水准面成果中反演高精度局部重力场,偷笑)。 程序采用Poisson积分与场元微分组合算法,实现高程异常反运算,不要求边界面是重力等位面。 [测试入口程序] AntiHeightanomalytogravf.f90 输入参数dr-积分半径(m)。 输入参数calcpntfl-计算点文件名。头文件一行,记录格式:点号/点名 经度(度小数) 纬度(度小数) 大地高(m)......。 输入参数boundryfl-输入残差高程异常所在边界面的大地高格网文件名。 输入参数ksigrdfl-边界面残差高程异常格网文件名。 [主要调用模块] (1)高程异常反算扰动重力场元算法模块 AntiKsitogravfd(calcpntfl,boundryfl,ksigrdfl,dr) 输出文件reslt.txt。记录格式:在计算点记录的基础上,增加残差空间异常、残差扰动重力、残差垂线偏差南向和西向共4列属性的计算值。 (2)扰动场元Poisson数值积分算法模块 real*8 function PoissonBLH(BLH,gra,sfh,nlat,nlon,hd,dr,GRS) 输入BLH(3)-计算点的经纬度(度小数)和大地高(m)。 输入sfh(nlat,nlon)-边界面大地高格网,用于精确计算积分面元与计算点的积分距离。 输入gra(nlat,nlon)-边界面上残差扰动场元格网。 输入dr, hd(6)-积分半径(m)和格网规格参数(最小最大经度,最小最大纬度,经度间隔,纬度间隔)。 输入GRS(6)-gm, ae, j2, omega, 1/f, 缺省值。 返回-计算点处残差扰动场元积分值。单位与输入残差扰动场元相同。 (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)其他辅助模块 CGrdPntD2(lon,lat,dt,row,col,hd);PickRecord(line, kln, rec, nn) [编译连接] Fortran固定格式代码,任何fortran编译器,无需任何外部连接库。 附件rar压缩包:visual studio_intel fortran 集成环境测试项目、DOS可执行测试程序和全部测试输入输出数据。 |