title | tags | authors | affiliations | date | bibliography | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PySHbundle: A Python tool for processing GRACE Gravimetry data into Global Surface Mass Change Datasets |
|
|
|
15 November 2023 |
paper.bib |
GRACE
(Gravity Recovery and Climate Experiment) satellite mission has been mapping mass changes near the surface of the Earth since 2002. One of the major mechanisms of short term mass transport is the redistribution of water, GRACE has significantly influenced Geosciences. GRACE satellite products are typically released at various levels of complexity, often referred to as processing levels. Level 1 is the satellite instrument data that is processed to obtain Level 2 (L2
) GRACE Spherical Harmonics data. L2
are further processed to obtain Level 3 products; global gridded mass change estimates (L3
) expressed as terrestrial water storage anomalies (TWSA
). The L2 spherical harmonic data are typically noisy, which necessitates the use of spectral filtering. The data also have to be corrected for known artifacts and contaminating geophysical signals, such as solid Earth processes in the case of isolating TWSA. Processing choices, such as filter properties and type, have a significant impact on the accuracy and the resolution of final gridded output. Therefore, most L3
users must be cautious when using GRACE data for specific applications. The majority of the GRACE data user community is not well versed with L2
data processing, and most often use the off-the-shelf L3
products. Here we developed an open-source processing toolbox to provide users with more control over processing choices. A python module, called PySHbundle, was developed to ease the conversion of GRACE L2
Spherical Harmonics data products to L3
TWSA
products. With this contribution, we hope to enable further usage of GRACE data for Earth system science.
The NASA/DLR GRACE and NASA/GFZ GRACE-FO twin satellite missions measure changes in the Earth's gravitational field by measuring their inter-satellite distance. Changes in the local gravity field affect the orbit of each satellite, which is recorded with the onboard ranging system [@wahr1998time]. When the satellite pair comes in the vicinity of a temporal mass anomaly, the relative inter-satellite distance changes and it can be inverted to estimate the mass change near the surface of the Earth. Over the continental land surface, the hydrological processes are the major driver of the variation in mass anomaly at monthly to decadal scales. However various other signals such as oceanic and atmospheric variations, high frequency tidal mass changes, systemic correlated errors, etc. are also part of the obtained GRACE signals [@humphrey2023using].
Several researchers in Geosciences use level three GRACE data, which is obtained from L2
Spherical harmonic coefficients, except JPL MASCONS which are derived from Level-1B satellite ranges. The procedure to convert L2
to L3
is called spherical harmonic synthesis. However, there are several pre-processing steps; such as anomaly calculation, replacing poor quality low degree coefficients, filtering, and correcting for signal damage due to filtering.
A few GRACE data processing tools are available based on the python programming language. These include gravity-toolkit
[@gravity-toolkit], ggtools
[@ggtools] and shxarray
[@shxarray]. General tools for spheric harmonic analysis are also available, such as SHTools
[@wieczorek2018shtools]. SHbundle
provide MATLAB scripts for Spheric Harmonic Synthesis and Spherical Harmonic Analysis. The first version of the code was developed in 1994 while the latest version was released in 2021.
Processing choices introduce subtle differences in the final product, potentially affecting results. Processing L2
data offers flexibility for users to explore GRACE data for specific applications. This software aims to simplify access to L2
products, allowing users to select different processing options.
The software processes widely used L2
products from CSR, JPL, and GFZ. It closely follows the structure of the Matlab-based SHbundle
and GRACE Data Driven Correction (GDDC)
[@vishwakarma2017data] codes, enabling cross-compatibility between Python and Matlab users.
PySHbundle
is modular, offering tools to process GRACE data, including anomaly computation, low-degree coefficient substitution, noise reduction, and signal leakage correction. It supports future development for hydrological applications.
By using Python and the GNU license, the package is accessible globally and aligns with the FAIR principles. We aim to reduce technical and financial barriers, making it useful for researchers, students, and educational programs like the GRACE Hackweek at IIT Kanpur.
Mathematical details of the steps involved can be referred in [@vishwakarma2017understanding].
Accordingly, the package consists of four main modules, io
, vizutils
, pysh_core
and shutils
.
-
io
: extract theL2
coefficients from any ofJPL
,CSR
andGFZ
solutions. Followed by replacing the poorly measured degree 1, 2 and 3 spherical harmonics coefficients with recommended datasets. Note that degree 1 coefficients, which represents the center-of-mass of the Earth, are inherently zero since mass of Earth is constant for practical purposes. -
vizutils
: plots theL2
data to visually understand the coefficients, their uncertainties, mathematical functions used for further processing. -
pysh_core
: Scripts for the global spherical harmonics synthesisgshs
to convert theL2
data to global griddedTWSA
data (L3
). Calculating signal leakage (gddc
), and basin-scale average (Basinaverage
). -
shutils
: Helper scripts for applyingpysh_core
. Based on the main modules, we provide examples as jupyter notebooks for understanding and using spherical harmonics data and the package.
The authors would like to thank Dr.-Ing. Markus Antoni and Clara Buetzler, Institute of Geodesy, University of Stuttgart, Germany, for early feedback. We are grateful for the financial support from IISc-ISRO Space Technology Cell for funding the project titled "Improving the spatial resolution of GRACE TWS for India using remote sensing datasets and modeling approach" under grant number STC0437. BDV would like to acknowledge the financial support from Science and Engineering Research Board, Government of India, under the grand agreement number SRG/2022/000625 for the MATRA project.
The package will be under continuous development to process data from more research centres, add more filtering and processing algorithms.