详细介绍利用GRACE1B单日数据计算LGD工作流程一(基于KBR1B单日数据)

1.前言

本文详细介绍了利用GRACE-FO卫星Level-1B(L1B)数据中的KBR1B单日观测数据,计算视线向重力差(line-of-sight gravity difference, LGD)和距离加速度残差(range accelrations difference, RA)的完整工作流程。该流程基于GROOPS软件进行动力学轨道积分与K‐Band ranging(KBR) Level1B数据提取,并结合Python与MATLAB脚本完成后续的LGD/RA计算、连续小波变换滤波、振幅谱密度分析及结果可视化。

需要特别说明的是:

本流程及附件中所提供的全部脚本,仅适用于处理单日KBR1B数据。

脚本对输入数据的采样完整性有严格要求,仅能处理一天内采样连续、无间断的KBR1B数据,即每日采样点数必须为完整的17280个(采样间隔为5秒)。

使用者在实际应用前,请务必确认所处理的数据满足上述条件,以确保计算结果的准确性与可靠性。

2. 利用GROOPS计算动力学轨道

工作目录(workdir):G:\GROOPS\dynamicOrbitSolutionWorkspace

2.1 创建目录

在工作目录下创建四个文件夹,分别命名为inputoutputimagegracefo_dataset如下,包含GROOPS处理脚本,目录结构如下。

1
2
3
4
5
6
7
workdir/
├── input/
├── output/
├── image/
├── gracefo_dataset/
└── S00GroopsIntegrateOrbitKBR-20200707.xml(GROOPS处理动力学轨道脚本)

2.2 数据准备

本教程用以计算单日LGD数据,以2020-07-07日期数据为例。

数据下载包含AOD1B RL06数据和GRACE-FO Level 1B RL04 .noLRI数据和.LRI数据。以2020-07-07日期数据为例,文件下载解压后文件夹名为gracefo_1B_2020-07-07_RL04.ascii.noLRI 和 gracefo_1B_2020-07-07_RL04.ascii.LRI。

AOD1B RL06:ftp://isdcftp.gfz.de/grace-fo/Level-1B/GFZ/AOD/RL06/2020/AOD1B_2020-06-02_X_06.asc.gz (通过filezilla软件下载)

GRACE-FO数据下载链接:https://podaac.jpl.nasa.gov/dataset/GRACEFO_L1B_ASCII_GRAV_JPL_RL04https://search.earthdata.nasa.gov/search/granules?p=C2036882118-POCLOUD&pg[0][v]=f&tl=1743148786.317!3!!

GRACE-FO数据数据下载完成后,解压后将gracefo_1B_2020-07-07_RL04.ascii.noLRI 和 gracefo_1B_2020-07-07_RL04.ascii.LRI两个文件夹拷贝到workdir/gracefo_dataset/下。AOD1B数据下载完成后,解压后将文件拷贝到workdir/gracefo_dataset/下。

注意:AOD1B数据要在实际处理日期上多添加一天的文件。如本教程中处理2020-07-07,则AOD1B数据需要拷贝2020-07-07和2020-07-08两天的文件。

alt text

2.3 程序运行

参数修改

1
2
3
4
5
6
7
8
9
10
# global 模块参数修改
workspace → "G:\GROOPS\dynamicOrbitSolutionWorkspace"
date4int → "2020-07-07"
resampleInterval → 5
instrument → kbr
background → ggm05b
timeIntervalsDaily(uniformSampling)
├── timeStart → 590372020-07-07 00:00:00
├── timeEnd → 59037+23/24+59/1440+55/86400 (2020-07-07 23:59:55)
└── sampling → 5/86400

参数修改后在GROOPS运行S00GroopsIntegrateDynamicOrbitKBR-20200707.xml脚本(脚本放在后面)。

注意:
(1)本脚本仅能运行KBR1B数据;
(2)本脚本仅能运行所有L1B数据采样为17280的情况(本脚本使用的L1B数据仅涉及ACT1B、GNV1B、KBR1B和SCA1B双星数据。

3.利用GROOPS提取KBR1B数据

工作目录(workdir):G:\GROOPS\dynamicOrbitSolutionWorkspace

参数修改

1
2
3
# global 模块参数修改
workspace → "G:\GROOPS\dynamicOrbitSolutionWorkspace"
date4int → "2020-07-07"

参数修改后在GROOPS运行S01SatelliteTrackingFromKBR-20200707.xml脚本(脚本放在后面)。

4. 利用Python计算RA和LGD

工作目录(workdir):G:\GROOPS\dynamicOrbitSolutionWorkspace

下载附件中的S02compute_grace_lgd.py程序,修改以下参数后运行。

参数修改

1
2
date_str = '2020-07-07'     # 日期
groops_workspace = 'G:\GROOPS\dynamicOrbitSolutionWorkspace' # GROOPS工作目录

程序运行后将在工作目录下生成results文件夹,其中time-lgd-date_str为计算的LGD数据,time-ra-date_str为计算的ra数据。

5. 利用MATLAB对LGD或RA数据执行连续小波变换

工作目录(workdir):G:\GROOPS\dynamicOrbitSolutionWorkspace

下载附件中的S03cwt_fliter_lgd_ra.m程序,修改以下参数后运行。

1
2
date_str = '2020-07-07';    % 日期
data_type = 'ra'; % 数据类型,'ra' 或 'lgd'

程序运行后在results文件夹下生成cwt_time_ra-date_str.mat文件(滤波后的RA数据)或cwt_time_lgd-date_str.mat文件(滤波后的LGD数据)。

注意:输出文件中的lgd和ra的数据的单位都为

6. 利用Python绘制LGD或RA数据的振幅谱密度(ASD)

工作目录(workdir):G:\GROOPS\dynamicOrbitSolutionWorkspace

下载附件中的S04lgd_ra_lpsd.py程序,修改以下参数后运行。

1
2
3
date_str = '2020-07-07'
groops_workspace = 'G:\GROOPS\dynamicOrbitSolutionWorkspace'
data_type = 'ra' # options: ra, lgd

S04lgd_ra_lpsd.py程序读取来自results文件夹下生成的time-lgd-date_str文件(滤波前的LGD数据)、time-ra-date_str文件(滤波前的RA数据)、cwt_time_ra-date_str.mat文件(滤波后的RA数据)和cwt_time_ra-date_str.mat文件(滤波后的LGD数据),根据参数data_type的不同,绘制lgd或ra的振幅谱密度,并将绘制结果保存在results文件夹下。

注意:绘制程序中的输入文件的lgd和ra的单位都为,图中绘制的ASD的单位都为[]。

7. 利用Python绘制LGD或RA数据滤波前后的曲线图

工作目录(workdir):G:\GROOPS\dynamicOrbitSolutionWorkspace

下载附件中的S05plot_lgd_ra_cwt_filter.py程序,修改以下参数后运行。

1
2
3
4
date_str = '2020-07-07'     # 日期
groops_workspace = 'G:/GROOPS/dynamicOrbitSolutionWorkspace' # GROOPS工作目录
data_type = 'lgd' # 'ra' or 'lgd'
trunc_st, trunc_ed = 5470, 5990 # 2020-07-07 # 截取范围,不设置则视作一天的全部采样点

S05plot_lgd_ra_cwt_filter.py程序读取来自results文件夹下生成的time-lgd-date_str文件(滤波前的LGD数据)、time-ra-date_str文件(滤波前的RA数据)、cwt_time_ra-date_str.mat文件(滤波后的RA数据)和cwt_time_ra-date_str.mat文件(滤波后的LGD数据),根据参数data_type的不同,绘制lgd或ra的曲线图,包含lgd-lat图和时序图。

注意:绘制程序中的输入文件的lgd和ra的单位都为,图中绘制的曲线图的单位都为

参考

Li, Hao-si, Shuang Yi, Zi-ren Luo, and Peng Xu. 2024. “Revealing High-Temporal-Resolution Flood Evolution With Low Latency Using GRACE Follow-On Ranging Data.” Water Resources Research 60(6):e2023WR036332. doi:10.1029/2023WR036332.

Han, Shin-Chan, Khosro Ghobadi-Far, In-Young Yeo, Christopher M. McCullough, Eunjee Lee, and Jeanne Sauber. 2021. “GRACE Follow-On Revealed Bangladesh Was Flooded Early in the 2020 Monsoon Season Due to Premature Soil Saturation.” Proceedings of the National Academy of Sciences 118(47):e2109086118. doi:10.1073/pnas.2109086118.

附件

上述中涉及到的所有程序脚本都打包到压缩包中,解压后文件目录如下。

1
2
3
4
5
6
7
8
9
Scripts_grace_kbr1b_lgd_20250926/
├── process_cwt_fliter_signal_data.m
├── S00GroopsIntegrateOrbitKBR-20200707.xml
├── S01SatelliteTrackingFromKBR-20200707.xml
├── S02compute_grace_lgd.py
├── S03cwt_fliter_lgd_ra.m
├── S04lgd_ra_lpsd.py
└── S05plot_lgd_ra_cwt_filter.py

下载链接:GRACE-FO KBR1B单日数据反演LGD和RA脚本


详细介绍利用GRACE1B单日数据计算LGD工作流程一(基于KBR1B单日数据)
https://singyutang.github.io/2025/09/23/详细介绍利用GRACE1B数据计算LGD工作流程/
作者
SingyuTang
发布于
2025年9月23日
许可协议