Git Product home page Git Product logo

geodesic-fortran's Introduction

geodesic-fortran

Implementation of geodesic routines in modern Fortran.

GitHub release Build Status codecov

Description

This is a library to solve geodesic problems on a planetary body (e.g., the Earth).

Documentation

Some of the algorithms in this library:

Procedure Body Shape Description Reference
cartesian_to_geodetic_triaxial Triaxial Cartesian to geodetic Panou & Korakitis (2022)
cartesian_to_geodetic_triaxial_2 Triaxial Cartesian to geodetic Bektas (2015)
heikkinen Biaxial Cartesian to geodetic Heikkinen (1982)
olson Biaxial Cartesian to geodetic Olson (1996)
direct Biaxial Direct geodesic problem Karney (2013)
direct_vincenty Biaxial Direct geodesic problem Vincenty (1975)
inverse Biaxial Inverse geodesic problem Karney (2013)
inverse_vincenty Biaxial Inverse geodesic problem Vincenty (1975)
great_circle_distance Sphere Great circle distance Vincenty (1975)

See the latest API documentation for the full list. This was generated from the source code using FORD (i.e. by running ford ford.md).

Compiling

A fpm.toml file is provided for compiling geodesic-fortran with the Fortran Package Manager. For example, to build:

fpm build --profile release

By default, the library is built with double precision (real64) real values. Explicitly specifying the real kind can be done using the following processor flags:

Preprocessor flag Kind Number of bytes
REAL32 real(kind=real32) 4
REAL64 real(kind=real64) 8
REAL128 real(kind=real128) 16

For example, to build a single precision version of the library, use:

fpm build --profile release --flag "-DREAL32"

To run the unit tests:

fpm test --profile release

To use geodesic-fortran within your fpm project, add the following to your fpm.toml file:

[dependencies]
geodesic-fortran = { git="https://github.com/jacobwilliams/geodesic-fortran.git" }

or, to use a specific version:

[dependencies]
geodesic-fortran = { git="https://github.com/jacobwilliams/geodesic-fortran.git", tag = "1.0.0"  }

License

  • This library is licensed under a permissive MIT/X11/BSD license.

References

Other links:

geodesic-fortran's People

Contributors

jacobwilliams avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

geodesic-fortran's Issues

Improved methods for converting between geodetic and cartesian coordinates on a triaxial ellipsoid

Check out

The Octave/MATLAB code provides conversions between various coordinate
systems on a triaxial ellipsoid. The cartesian to geodetic conversion
uses the same basic approach as Panou & Korakitis (2022), but Newton's
method is used instead of the bisection method. This speeds up the
conversion considerably. The code for the other conversions is
"cleaner".

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.