Git Product home page Git Product logo

gravtesseroid's Introduction

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.

gravtesseroid's People

Contributors

qiulongjun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.