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

CASM.jpg

分潮球谐分析与负荷潮球谐系数模型构建Fortran代码

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

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

[计算目标]

    对全球地面/海面大气压分潮、海洋潮高分潮的调和常数球坐标格网进行球谐分析,生成规格化大气压潮、海潮负荷球谐系数模型(IERS2010协议中的FES2004海潮模型约定格式)和负荷潮一阶项同相异相幅值文件。

    负荷潮球谐系数模型用于预报任意时刻全球地面大气压潮或海面潮高,预报任意时刻地面、海洋、航空及卫星高度等固体地球外部全要素大地测量负荷潮效应。

    负荷潮一阶项同相异相幅值用于预报地球质心变化负荷潮效应。

    负荷潮球谐系数模型阶数maxn等于分潮调和常数球坐标格网在纬度方向格网数。如0.25˚分辨率格网模型对应maxn=720。

    分潮调和常数单位与球谐系数单位相同。大气压分潮调和常数与球谐系数单位为hPa,海潮分潮调和常数与球谐系数单位为cm。

幻灯片65.JPG幻灯片67.JPG

幻灯片68.JPG幻灯片69.JPG

[测试入口程序]

    HarmonicanalysisTideLoad.f90

    输入参数knd-=0地面大气压潮,=1海洋潮汐。

    输入参数tidefl-存放全部分潮调和常数球坐标格网文件名的文件,每个分潮调和常数格网文件名一行。

    程序要求分潮调和常数球坐标格网头文件第7个数为分潮的Doodson参数,第8个属性为分潮名称字符串。

    输入参数dtmfl-全球陆海地形球坐标格网文件名。在海潮负荷球谐分析时,用于全部分潮调和常数格网的统一陆海分离。

    程序要求陆海地形球坐标格网的分辨率不低于分潮调和常数球坐标格网的分辨率。

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

[主要调用模块]

(1)全球系列分潮调和常数球坐标格网球谐分析模块

    Tideharmanalysis(dtmfl,tidefl,knd,dk,itd)

    输出每个分潮负荷球谐系数模型(m)文件***cs.dat,球谐分析迭代过程统计信息文件***pro.ini和残差调和常数(hPa/cm)格网文件***rnt.dat。***为分潮名称+Dooson参数。

    模块在当前目录中同时生成负荷潮球谐系数模型文件tdloadharmodel.dat(FES2004格式)和负荷潮一阶项同相异相幅值文件tideloadOne.dat。

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

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

    输入ewh (nlat,nlon)-分潮同相幅值或异相幅值球坐标格网(hPa/cm)。

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

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

    返回参数cilm(2,maxn+1,maxn+1)-0~maxn阶规格化负荷球谐系数(hPa/cm)。

(3)一维FFT法负荷球谐系数综合模块

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

    输入cilm(2,maxn+1,maxn+1)-0~maxn阶规格化负荷球谐系数(hPa/cm)。

    返回参数ewh(nlat,nlon)-分潮同相幅值或异相幅值球坐标格网(hPa/cm)。

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

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

    PickRecord(line, kln, rec, nn);PickRecstr(line,kln,str,sn);ReimtoHg(xx,x1)

    StatGrid(grid,row,col,rst);CGrdPntD2(lon,lat,dtm,nlat,nlon,hd)

[编译连接]

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

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

    7.1 ETideLoad4.5大地测量数据文件

    8.4.1全球海潮负荷球谐系数模型构建方法

    8.2.3规格化缔合勒让德函数及对θ导数

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