The goal of the Fortran Astrodynamics Toolkit is to produce a comprehensive library, written in modern Fortran (Fortran 2008+), of all the standard orbital mechanics algorithms. This is a work in progress. Currently-implemented and proposed capabilities include:
Lambert solvers
Gooding
Izzo
Arora
Kepler propagators
Gooding
Shepperd
Goodyear
ODE solvers (with event-finding)
Runge-Kutta
Nystrom
Adams
Force models
point mass gravity field
geopotential gravity
solar radiation pressure
atmospheric drag
relativistic effects
Reference frames
IAU_EARTH
IAU_MOON
Celestial Body Ephemerides
JPLEPH
SPICE
Analytical Moon w.r.t Earth
Analytical solar system primary bodies
Alternate equations of motion
Circular restricted three-body problem
Clohessy-Wiltshire
Modified equinoctial elements
Misc
orbital element conversions
halo orbits
solar eclipsing
targeting and optimization
spacecraft engine models
Examples
Building
The Fortran Astrodynamics Toolkit and the test programs will build with any modern Fortran compiler. A Fortran Package Manager manifest file (fpm.toml) is included, so that the library and tests cases can be compiled with FPM. For example:
fpm build --profile release
fpm test --profile release
To use Fortran-Astrodynamics-Toolkit within your fpm project, add the following to your fpm.toml file:
[dependencies]
fortran-astrodynamics-toolkit = { git="https://github.com/jacobwilliams/Fortran-Astrodynamics-Toolkit.git", tag = "0.3" }
To generate the documentation using ford, run: ford ford.md
Third-Party Requirements
A script get_third_party.sh is included to download and build the third-party dependencies on unix-like operating systems.
Pyplot-Fortran
The plots generated by the examples are done using the pyplot-fortran module. When compiling with FPM, this will automatically be downloaded and compiled.
Ephemeris files
To use the ephemeris_module, a copy of one of the JPL binary ephemeris files must be present in the eph directory. This can be built from the instructions at: ftp://ssd.jpl.nasa.gov/pub/eph/planets/fortran/userguide.txt. For example (on Linux):
Overview
The goal of the Fortran Astrodynamics Toolkit is to produce a comprehensive library, written in modern Fortran (Fortran 2008+), of all the standard orbital mechanics algorithms. This is a work in progress. Currently-implemented and proposed capabilities include:
Examples
Building
The Fortran Astrodynamics Toolkit and the test programs will build with any modern Fortran compiler. A Fortran Package Manager manifest file (
fpm.toml) is included, so that the library and tests cases can be compiled with FPM. For example:To use
Fortran-Astrodynamics-Toolkitwithin your fpm project, add the following to yourfpm.tomlfile:or, to use a specific version:
To generate the documentation using ford, run:
ford ford.mdThird-Party Requirements
A script
get_third_party.shis included to download and build the third-party dependencies on unix-like operating systems.Pyplot-Fortran
The plots generated by the examples are done using the pyplot-fortran module. When compiling with FPM, this will automatically be downloaded and compiled.
Ephemeris files
To use the ephemeris_module, a copy of one of the JPL binary ephemeris files must be present in the
ephdirectory. This can be built from the instructions at: ftp://ssd.jpl.nasa.gov/pub/eph/planets/fortran/userguide.txt. For example (on Linux):Geopotential files
To use the geopotential_module, you need a geopotential model file (for example
GGM03C.GEOfrom ftp://ftp.csr.utexas.edu/pub/grace/GGM03/GGM03_Archive.zip). This should be placed in thegravdirectory. For example:Documentation
The documentation for the latest code in
mastercan be found here.See also