Skip to content

3D Global Variable-Size Mascon Development using Iterative Spherical Voronoi Tessellations for User-defined Areas of Interest

License

Notifications You must be signed in to change notification settings

yaramohajerani/dynamic_mascons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated Dynamic Mascon Generation for GRACE and GRACE-FO Harmonic Processing

DOI Website shields.io License Language nbviewer nbviewer

This repository and the associated publication present a novel automated methodology for creating dynamic global mascons using iterative spherical Voronoi tessellations for the processing of GRACE (Gravity Recovery and Climate Experiment) and GRACE-FO (Follow-On) harmonics.

The associated publication can be found at

Mohajerani, Y.; Shean, D.; Arendt, A.; Sutterley, T.C. Automated Dynamic Mascon Generation for GRACE and GRACE-FO Harmonic Processing. Remote Sens. 2021, 13, 3134. https://doi.org/10.3390/rs13163134

Abstract

Commonly used mass-concentration (mascon) solutions estimated from Level-1B Gravity Recovery and Climate Experiment (GRACE) and GRACE Follow-On data, provided by processing centers such as the Jet Propulsion Laboratory (JPL) or the Goddard Space Flight Center (GSFC), do not give users control over the placement of mascons or inversion assumptions, such as regularization. While a few studies have focused on regional or global mascon optimization from spherical harmonics data, a global optimization based on the geometry of geophysical signal as a standardized product with user-defined points has not been addressed. Finding the optimal configuration with enough coverage to account for far-field leakage is not a trivial task and is often approached in an ad-hoc manner, if at all. Here, we present an automated approach to defining non-uniform, global mascon solutions that focus on a region of interest specified by the user, while maintaining few global degrees of freedom to minimize noise and leakage. We showcase our approach in High Mountain Asia (HMA) and Alaska, and compare the results with global uniform mascon solutions from range-rate data. We show that the custom mascon solutions can lead to improved regional trends due to a more careful sampling of geophysically distinct regions. In addition, the custom mascon solutions exhibit different seasonal variation compared to the regularized solutions. Our open-source pipeline will allow the community to quickly and efficiently develop optimized global mascon solutions for an arbitrary point or polygon anywhere on the surface of the Earth.

Summary

This respository showcases global dynamic mascon configurations that are regionally optimizied through a series of designed fixed-points and an iterative voronoi tessellation scheme based on polygon centroids on the surface of a unit sphere.

While past work has focused on regionally optimizied mascon processing (e.g. Mohajerani et al. 2018, Mohajerani et al. 2019), there is a need for a more robust approach to create global mascon configurations that are dynamic and depend on the geophysical feature of the region of interest to focus on. The global configuration resolves the issue of far-field leakage for sources of mass change that would otherwise not be accounted for by the mascons, as well as potential divergence of the sensitivity kernel at the boundaries of the mascon defintion.

This draws on previous work on regional 2-dimensional automated variable-size mascon design that I developed for Antarctica:

However, extending this to a global framework requires a 3D grid with no distortion on the surface of the Earth The present pipeline addresses this gap and allows for any user-defined set up local points to be transformed to a global mascon configuration for processing of GRACE and GRACE Follow-On harmonic data.

In the first example notebook, spherical_voronoi.ipynb, I go through the steps of constructing a spherical voronoi tessellation with a set of fixed points. I choose two points on the Karakoram region in High Mountain Asia as our fixed points. nbviewer

In the second example notebook, the resulting final configuration is used to construct a harmonic mascon representation, which is then used to calculate the sensitivity kernel of the mascons resulting from the inversion (refer to Jacob et al. 2011). The resulting kernel for the fixed points is localized and has minimal leakage. This is in contrast to many configurations with regional coverage that are prone to divergence of the kernel at the boundaries of the domain, which illustrates the effectiveness of this method. While spherical caps have traditionally been used to create regional mascons (e.g. Mohajerani et al. 2019) in order to minimze sharp edges and vertices that would rely on higher-degree harmonics, we find that directly using the voronoi polygons does not produce unacceptable leakage or noise, but instead allows us to create more flexible non-uniform global configurations. Finally, we fit the spherical harmonic data from GRACE and GRACE Follow-On satellites to these mascons to isolate the mass-balance sampled by the fixed points on the Karakorm. nbviewer

Pipeline Steps

The command-line pipeline for running this procedure for any user-defined point(s) is described below:

  1. Get depedencies:

    • Install dependencies developed by Tyler Sutterley as part of the read-GRACE-harmonics toolkit:

      python3 -m pip install --user git+https://github.com/tsutterley/read-GRACE-harmonics.git
      

      Also make sure the path containing executable scripts are part of your system PATH. In my case, I had to add ~/.local/bin to my PATH.

    • Download pygplates

      Again make sure the path containing this module is added to your PYTHONPATH. In my case, I had to add ~/pygplates_rev28_python37_MacOS64 to my PYTHONPATH. (See the installation instructions for more details.)

  2. Create the set of desired points in a .csv file, around which the global mascon configuration is created. E.g. the points used as the example in this repository for the Karakoram are:

    LONS LATS
    73.57999 36.29493
    76.38069 34.81469
    • It's important to keep the resolution of GRACE in mind when selecting these points. It won't be a problem if you just want to select a single coordinate and construct the mascons around it. But if specifying a few points that are strategically located on isolated geophysics signals, keep in mind that GRACE & GRACE-FO have a harmonic resolution of degree and order 60 or a spatial resolution of ~300km. It is possible to have smaller mascons, but you still have to add them together to respect the resolution of the satellites. The aim of this repository is not to downscale GRACE data, but to more strategically sample it with a user-defind non-uniform global mascon configuration for various regional analyses.
  3. Create the mascon configuration using the an iterative spherical voronoi tessellation scheme:

    python create_voronoi_regions.py parameters_voronoi_mascons.txt 
    

    Note the EPSILON parameter in the parameter file is the increment (in radians) used in the initial grid of generators used to create voronoi regions. N_ITERATIONS is the number of iterations, and R_CONSTANT is the scaling factor for shifting centroids towards the fixed points in every iteration (inversely proportional to distance). Finally, if ROTATE is set to True, the coordinate system is rotated such that the mean of the fixed points is situated at the North Pole to maximze azimuthal symmetry.

    This script will save the final voronoi regions into file for later use, and also save an interactive plot of the voronoi regions.

    OPTIONAL: You can also create a plot of the created mascons on a region of interest, along with RGI polygons as well as JPL or Goddard mascons if specified:

    python compare_mascons.py parameters_voronoi_mascons.txt
    

    Including --JPL or --GSFC inline arguments before the parameter files will also compare with JPL or Goddard mascon locations. But their paths have to be specified in the parameter file.

  4. Convert the spherical voronoi regions to mascon harmonics:

    python calc_voronoi_harmonics.py parameters_voronoi_mascons.txt
    

    This script will save the harmonic and corresponding spatial representations of mascons created directly from the voronoi polygons. As the mascons get further away from the region of interest, they become larger. We are not interested in sampling the mass change from these regions. However, having a global configuration allows us to minimize leakage and avoid any far-field signal intefere with our mass change retrieval. Furthermore, directly using the voronoi polygons as our mascons allows for a more flexible global configuration without gaps between the mascons, and the vertices of the polygons do not appear to result in significant noise or ringing of the harmonics as shown in step 5.

    Mascon corresponding to the first fixed point: Mascon corresponding to the first fixed point

    Sample far-field mascon with significantly larger size: Sample far-field mascon with significantly larger size

  5. Create the corresponding sensitivity kernels

    Note: This uses executable scripts that were installed as part of read-GRACE-harmonics. Provided that you have added the corresponding link to your system PATH (see step 1), you should be able to directly call the script without a preceding "python" command.

    calc_sensitivity_kernel.py --reference CF parameters_voronoi_mascons.txt
    

    This will save the harmonic and spatial representation of the sensivivity kernel of each mascon in the output directory specified in the parameter file. For a better understanding of the sensivity kernel, refer to Jacob et al. 2011.

  6. Sum up the sensitivity kernels for the fixed points and plot them:

    python combine_kernels.py parameters_voronoi_mascons.txt
    

    Kernel Sum

    We see that the kernel is confined to the region determined by the fixed points, with minimal ringing from the vertices of the polygons. It is noteworthy to emphasize that this global regionally-optimizied configuration is rather localized with minimal leakage, whereas regional spherical cap configurations are prone to diverging at the boundaries and do not capture far-field signals that are not covered by any mascons, which can leak into the area of interest.

  7. If the kernel from step 6 looks acceptable, we can fit the actual GRACE harmonics to the mascons:

    1. Download and pre-process GRACE harmonics:

      Note You need your PO.DAAC Drive credentials to download the GRACE data. Use your NASA Earthdata credentials to log in to PO.DAAC to get your username and password.

      sh grace_data.sh
      

      The bash script will ask for your password and output directory to download the data and create date and index files.

    2. Fit the harmonics to the mascons:

      calc_mascon.py --reference CF --directory ~/data.dir/grace.dir parameters_voronoi_mascons.txt
      
    3. Add time-series of the mascons corresponding to fixed points and output the total time-series and plot.

      python combine_mascons.py parameters_voronoi_mascons.txt
      

      This will save a time-series of the sum of the mass balance of all the mascons corresponding to the fixed points, with a corresponding mass balance time-series. timeseries

License

The code presented in this repository is under the MIT license. Copyright © 2021 Yara Mohajerani