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

CASM.jpg

全球负荷球谐分析与球谐系数模型时间序列构建Fortran代码

负荷球谐系数模型时序构建源码

 二维码 264
发表时间:2024-12-17 21:40作者:章传银网址:http://www.zcyphygeodesy.com
文章附图

[计算目标]

    对地面/海面大气压变化(hPa)、大陆水变化(cm)和海平面变化(cm)等全球非潮汐负荷球坐标格网时间序列进行球谐分析,生成地表环境负荷地球质心变化(mm)时间序列与规格化负荷球谐系数模型(m)时间序列。

    负荷球谐系数模型阶数maxn等于全球地表负荷格网在纬度方向格网数。如0.25˚分辨率格网模型对应maxn=720。

    负荷球谐系数模型时间序列可进一步用于计算地面及固体地球外部全空间全要素大地测量非潮汐负荷效应时间序列。

幻灯片59.JPG幻灯片60.JPG

幻灯片61.JPG幻灯片62.JPG

[测试入口程序]

    GobalharmonicanalysisLoad.f90

    输入参数knd-=0陆地水压变化,=1海平面变化,=-1地面大气压变化。

    输入参数loadfl-存放全球地表环境负荷球坐标格网时间序列文件名的文件,每个历元时刻全球负荷球坐标格网文件名占据一行。

    程序要求负荷球坐标格网头文件第7个数为长整型ETideLoad格式时间。程序不要求不同历元时刻的负荷球坐标格网分辨率相同,也不要求在loadfl记录中的负荷球坐标格网文件名按历元排序。

    输入参数dtmfl-全球陆海地形球坐标格网文件名。在全球陆地水或海平面变化球谐分析时,用于全球负荷格网时间序列的统一陆海分离。

    程序要求陆海地形球坐标格网的分辨率不低于大陆水等效水高或海平面变化球坐标格网的分辨率。

    输入参数kd, itd-当残差格网的格值标准差小于原格网格值标准差的kd时,或者上一步迭代残差标准差与当前残差标准差之差,小于原格网格值标准差的itd时,迭代终止。

[主要调用模块]

(1)全球负荷球坐标格网时序球谐分析模块

    Loadharmanalysis(dtmfl,loadfl,knd,dk,itd)

    输出地表环境负荷球谐系数模型(m)时序文件***cs.dat,球谐分析迭代过程统计信息文件***pro.ini和残差等效水高(hPa/cm)格网文件***rnt.dat。***为loadfl中的负荷球坐标格网文件名,去掉最后4个字符的字符串。

    模块在当前目录中同时生成地表环境负荷变化引起的地球质心变化(ITRS)时间序列文件geocentricvariation.txt。

(2)一维FFT法负荷规格化球谐分析模块

    SphHarmExpandFFT(ewh,hd,cilm,2,maxn,nlat,nlon,GRS)

    输入ewh (nlat,nlon)-地表环境负荷球坐标等效水高格网(m)。

    输入hd(6)-球坐标格网规格参数(最小最大经度,最小最大地心纬度,经度间隔,地心纬度间隔,度小数)。

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

    返回参数cilm(2,maxn+1,maxn+1)-0~maxn阶规格化球谐系数(m)

(3)一维FFT法等效水高球谐系数综合模块

    SphHarmPointFFT(ewh,cilm,2,nlat,nlon,maxn,hd,GRS)

    输入cilm(2,maxn+1,maxn+1)-0~maxn阶规格化球谐系数(m)

    返回参数ewh(nlat,nlon)-地表环境负荷球坐标等效水高格网(m)。

(4)超高阶规格化缔合勒让德函数积分模块

    integralPnm.f90(legI,maxn,hd,lat)

    输入lat-地心纬度(度小数)

    返回参数legI(maxn+1,maxn+1)-缔合勒让德函数数值积分

(5)超高阶规格化连带勒让德函数计算模块

    BelPnm(pnm,maxn,t)

    采用改进的Belikov递推算法,计算超高阶规格化连带勒让德函数Pnm,t=cosθ。

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

    Pndpn_dt(p,dp,n,t)

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

(7)时间系统转换包

    CAL2JD (IY0, IM0, ID0, DJM, J);JD2CAL(DJ1, DJ2, IY, IM, ID, FD, J)

(8)其他辅助模块

    PickRecord(line, kln, rec, nn);tmcnt(tm, iyr, imo, idy, ihr, imn, sec)

    mjdtotm(mjd0, ltm);tmtostr(tm, tmstr)

    StatlsGrd(ewh,zero,nlat,nlon,pm,rst0);CGrdPntD2(lon,lat,dtm,nlat,nlon,hd)

[编译连接]

    Fortran固定格式代码,任何fortran编译器,外部连接库mkl_lapack95_ilp64.lib(include fftw3.f)。

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