Skip to content

QiuLOngjun/GravTesseroid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GravTesseroid

About

GravTesseroid is a collection of matlab scripts for modeling the gravitational potential of a tesseroid and its first and second order derivatives. It is inspired by Uieda et al.(2016) (C language code), Heck & Seitz (2007) and Grombein et al.(2013).

The geometry of a tesseroid is show in Fig.1 a geometry of a tesseroid

The first version v1.0 mainly contains fundamental functions for modeling the gravitatinal attraction of a tesseroid and employs three kinds of approaches to perform the forward modeling. These methods are:

  1. Gauss-Legendre quadrature (3D GLQ)
  2. Taylor series expansion (TSE)
  3. prism approximation (PA)

Getting started

List of functions

All subfunctions required are in the folder /private. For instance, the GLQ_tess_g3.m, Taylor_tess_g3.m and prism_grav_vector.m are functions that calculate the gravitational attraction of a tesseroid on one computation point using the 3D GLQ, TSE, and PA, respectively.

The Pf_GLQ_grav.m, Pf_Taylor_grav.m and Pt_Prism_grav.m are their counterparts of parallel computing using the parfor loop of MATLAB and call the functions GLQ_tess_g3.m, Taylor_tess_g3.m and prism_grav_vector.m, respectively.

tesseroid model file format

The input model file is a text fiel that can be read using function importdata(), and each line describe one tesseroid in such format:

W E S N TopH BottomH Density

W,E,S,N denote the western, eastern, southern and northern edges of a tesseroid. TopH and BottomH correspond to the top and the bottom of tesseroid with respect to the reference radius of the earth. Density is the density of the tesseroid.

computation grid format

The computation grid data can be read from the text file in the disk or can be generated by the function grid_gene_pixel(), the grid data should be in such format:

Longitude Latitude Height

Longitude, Latitude and Height are the longitude, latitude and altitude of the computation point.

Calculation example and its output

Example: to obtain the approximation error of the gravitational effect when using GLQ to perform forward modeling for the tesseroids with horizontal dimension of 1 degree, we write script A02_ApproximationError_GaussLegendre.m and the tesseroid model data and grid data required are generated by the function tess_genera_model() and grid_gene(), respectively. The results are written in the A02_Difference_grav_GaussLegendre.mat. The ordinary output is in such format:

Lon Lat ResultValue

Lon and Lat are longitude and latitude of the computation point, respectively. These data are stored in .mat files.

Data Displays

The computed data are visualized using the MATLAB scripts. For example the script Fig3_plotting.m visulizes the relaiton between the approximation errors and the latitude of the computation point in terms of GLQ, TSE and PA methods. The data required by the drawing code are loaded from .mat files (that are computed by scripts like A0X_xxx.m).

Reference

  1. Grombein, T. , Seitz, K. & Heck, B. (2013). Optimized formulas for the gravitational field of a tesseroid. Journal of Geodesy, 87(7), 645-660.
  2. Heck, B., & Seitz, K. (2007). A comparison of the tesseroid, prism and point-mass approaches for mass reductions in gravity field modelling. Journal of Geodesy, 81(2), 121-136.
  3. Uieda, L., Barbosa, V. C. & Braitenberg, C. (2016). Tesseroids: Forward-modeling gravitational fields in spherical coordinates. Geophysics, 81(5), F41-F48.

About

the matlab code for modeling gravitational effect of a tesseroid in spherical coordinate

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages