Degenerate Conic

Algorithms • Modern Fortran Programming • Orbital Mechanics

About

fortran2

My name is Jacob and I am an astrodynamicist and software developer. This is my personal blog. All opinions expressed here are my own!

Contact Info

Projects

fortran2

I maintain several open source projects for modern, object-oriented Fortran (i.e., Fortran 2003/2008). All of these have BSD-style licenses, and are hosted on GitHub:

Catagory Library Description Release
Interpolation bspline-fortran 1D-6D B-Spline Interpolation GitHub release
Interpolation regridpack 1D-4D linear and cubic interpolation GitHub release
Interpolation finterp 1D-6D Linear Interpolation GitHub release
Interpolation PCHIP Piecewise Cubic Hermite Interpolation Package GitHub release
Interpolation splpak Multidimensional least-squares cubic spline fitting GitHub release
Plotting pyplot-fortran Make plots from Fortran using Matplotlib GitHub release
File I/O json-fortran Read and write JSON files GitHub release
File I/O csv-fortran Read and write CSV Files (formerly named fortran-csv-module) GitHub release
Optimization slsqp SLSQP Optimizer GitHub release
Optimization conmin CONMIN Optimizer GitHub release
Optimization conmax CONMAX Optimizer GitHub release
Optimization psqp PSQP Optimizer GitHub release
Optimization optgra OPTGRA Optimizer GitHub release
Optimization fmin Derivative free 1D function minimizer GitHub release
Optimization pikaia Pikaia Genetic Algorithm GitHub release
Optimization simulated-annealing Simulated Annealing Algorithm GitHub release
Optimization lbfgsb L-BFGS-B Nonlinear Optimizater GitHub release
One Dimensional Root-Finding roots-fortran Roots of continuous scalar functions of a single real variable, using derivative-free methods GitHub release
Polynomial Roots polyroots-fortran Root finding for real and complex polynomial equations GitHub release
Nonlinear equations nlesolver-fortran Nonlinear Equation Solver GitHub release
Linear Equations LSQR Sparse linear systems solver GitHub release
Linear Equations lusol LU factors of a square or rectangular sparse matrix GitHub release
Ordinary Differential Equations dop853 An explicit Runge-Kutta method of order 8(5,3) GitHub release
Ordinary Differential Equations ddeabm DDEABM Adams-Bashforth algorithm GitHub release
Ordinary Differential Equations rklib Suite of fixed and variable-step Runge-Kutta solvers GitHub release
Numerical Differentiation NumDiff Numerical differentiation with finite differences GitHub release
Numerical integration quadpack Modernized QUADPACK Library for 1D numerical quadrature GitHub release
Numerical integration quadrature-fortran 1D-6D Adaptive Gaussian Quadrature GitHub release
Random numbers mersenne-twister-fortran Mersenne Twister pseudorandom number generator GitHub release
Astrodynamics Fortran-Astrodynamics-Toolkit Modern Fortran Library for Astrodynamics GitHub release
Astrodynamics astro-fortran Standard models used in fundamental astronomy GitHub release
Geodesy geodesic-fortran Geodesic routines GitHub release
Graph Theory daglib Directed Acyclic Graphs GitHub release
System popen-fortran Simple module for popen GitHub release
System fortran-mach Machine Constants GitHub release

Also check out the full list of my GitHub projects.

Publications

Selected conference papers, journal articles, etc.

  • J. Williams, T. F. Dawn, A. L. Batcha, "A History of Orion Mission Design, Copernicus Development, and the Artemis I Trajectory", AAS/AIAA Astrodynamics Specialist Conference, August 2023, AAS 23-241.
  • Q. Moore, B. Killeen, J. Williams, "A New Architecture for Parallelization of Complex Spacecraft Trajectory Optimization Scans", AAS/AIAA Astrodynamics Specialist Conference, August 9-12, 2023.
  • J. Williams, S. L. Smallwood, D. E. Lee, M. V. Widner, "A New Eclipse Algorithm for use in Spacecraft Trajectory Optimization", AAS/AIAA Astrodynamics Specialist Conference, August 2023, AAS 23-243.
  • A. L. Batcha, J. Williams, T. F. Dawn, J. P. Gutkowski, M. V. Widner, S. L. Smallwood, B. J. Killeen, E. C. Williams, and R. E. Harpold, "Artemis I Trajectory Design and Optimization", AAS/AIAA Astrodynamics Specialist Conference, August 9-12, 2020, AAS 23-649
  • J. A. Fogel, M. Widner, J. Williams, A. Batcha, "Multi-Impulse to Time Optimal Finite Burn Trajectory Conversion", AIAA Scitech 2020 Forum, 6-10 January 2020. AIAA 2020-1691
  • J. Williams, A. Kamath, R. Eckman, G. Condon, R. Mathur, D. Davis, "Copernicus 5.0: Latest Advances in JSC's Spacecraft Trajectory Optimization and Design System", 2019 AAS/AIAA Astrodynamics Specialist Conference, Portland, ME, August 11-15, 2019, AAS 19-719
  • D. G. Murri, G. L. Condon, J. Williams, A. H. Kamath, R. A. Eckman, R. Mathur, "Improvements to the Copernicus Trajectory Design and Optimization System for Complex Space Trajectories", NASA/TM 2019-220247, Jan 1, 2019
  • J. Williams, R. D. Falck, and I. B. Beekman. "Application of Modern Fortran to Spacecraft Trajectory Design and Optimization", 2018 Space Flight Mechanics Meeting, AIAA SciTech Forum, (AIAA 2018-1451)
  • T. F. Dawn, J. Gutkowski, A. Batcha, J. Williams, and S. Pedrotty. "Trajectory Design Considerations for Exploration Mission 1", 2018 Space Flight Mechanics Meeting, AIAA SciTech Forum, (AIAA 2018-0968)
  • J. Williams, D. E. Lee, R. J. Whitley, K. A. Bokelmann, D. C. Davis, and C. F. Berry. "Targeting cislunar near rectilinear halo orbits for human space exploration", AAS 17-267
  • J. Williams, "A New Architecture for Extending the Capabilities of the Copernicus Trajectory Optimization Program", AAS/AIAA Astrodynamics Specialist Conference, Vail, Colorado, Aug. 2015. AAS 15-606.
  • R. Whitley, J. Gutkowski, S. Craig, T. Dawn, J. Williams, W. B. Stein, D. Litton, R. Lugo, M. Qu, "Combining Simulation Tools for End-to-End Trajectory Optimization", AAS/AIAA Astrodynamics Specialist Conference, Vail, Colorado, Aug. 2015. AAS 15-662.
  • G. L. Condon, J. Williams, "Asteroid Redirect Crewed Mission Nominal Design and Performance", SpaceOps Conference, 5-9 May 2014, Pasadena, CA. AIAA 2014-1696.
  • J. Williams, G. L. Condon, "Contingency Trajectory Planning for the Asteroid Redirect Crewed Mission", SpaceOps Conference, 5-9 May 2014, Pasadena, CA. AIAA 2014-1697.
  • H. D. Hinkel, S. P. Cryan, C. D'Souza, D. P. Dannemiller, J. P. Brazzel, G. L. Condon, W. L. Othon, J. Williams, "Rendezvous and Docking Strategy for Crewed Segment of the Asteroid Redirect Mission", SpaceOps Conference, 5-9 May 2014, Pasadena, CA.
  • J. Williams, J. S. Senent, D. E. Lee, "Recent Improvements to the Copernicus Trajectory Design and Optimization System", Advances in the Astronautical Sciences, 2012.
  • R. J. Whitley, C. A. Ocampo, J. Williams, "Performance of an Autonomous Multi-Maneuver Algorithm for Lunar Trans-Earth Injection", Journal of Spacecraft and Rockets, Vol. 49, No. 1 (2012), pp. 165-174.
  • R. J. Whitley, J. Williams. "Implementation of an Autonomous Multi-Maneuver Targeting Sequence for Lunar Trans-Earth Injection", AIAA Guidance Navigation and Control Conference, 2-5 Aug. 2010, Toronto, Ontario, Canada.
  • J. Williams, J. S. Senent, C. Ocampo, R. Mathur, E. C. Davis. "Overview and Software Architecture of the Copernicus Trajectory Design and Optimization System", 4th International Conference on Astrodynamics Tools and Techniques, 3-6 May 2010, Madrid, Spain
  • C. Ocampo, J. S. Senent, J. Williams. "Theoretical Foundation of Copernicus: A Unified System for Trajectory Design and Optimization", 4th International Conference on Astrodynamics Tools and Techniques, 3-6 May 2010, Madrid, Spain.
  • J. Williams, S. M. Stewart, D. E. Lee, E. C. Davis, G. E. Condon, J. S. Senent. "The Mission Assessment Post Processor (MAPP): A New Tool for Performance Evaluation of Human Lunar Missions", 20th AAS/AIAA Space Flight Mechanics Meeting, 14-17 February 2010, San Diego, CA.
  • G. Condon, J. Williams, S. M. Stewart. "Mission Design and Performance Assessment for the Constellation Lunar Architecture", 20th AAS/AIAA Space Flight Mechanics Meeting, 14-17 February 2010, San Diego, CA.
  • S. M. Stewart, J. S. Senent, J. Williams, G. E. Condon, D. E. Lee. "Evaluation of Dual-Launch Lunar Architectures Using the Mission Assessment Post Processor", 20th AAS/AIAA Space Flight Mechanics Meeting, 14-17 February 2010, San Diego, CA.
  • J. Williams, E. C. Davis, D. E. Lee, G. L. Condon, T. Dawn, M. Qu. "Global Performance Characterization of the Three Burn Trans-Earth Injection Maneuver Sequence over the Lunar Nodal Cycle", AAS/AIAA Astrodynamics Specialist Conference, 9-13 Aug. 2009, Pittsburgh, PA.
  • O. Montenbruck, M. Garcia-Fernandez, J. Williams. "Performance Comparison of Semi-Codeless GPS Receivers for LEO Satellites". GPS Solutions. Volume 10, Number 4. November, 2006
  • O. Montenbruck, J. Williams, T. Wang, G. Lightsey, "Preflight Validation of the IGOR GPS Receiver for TerraSAR-X", DLR-GSOC GTN-TST-0200, Deutsches Zentrum für Luft- und Raumfahrt, Oberpfaffenhofen. May 2, 2005.
  • J. Williams, E. G. Lightsey, S. Yoon, R. E. Schutz. "Testing of the ICESat BlackJack GPS Receiver Engineering Model", ION GPS 2002 Conference, September 24-27, 2002, Portland, Oregon.

Technical notes

  • LVLH Transformations -- This technical note derives the equations for transformation of state vectors to and from a Local Vertical Local Horizontal (LVLH) frame. An implementation of the algorithms in Fortran is also included.

See also

Copyright and License Info

Unless otherwise indicated, the original sourcecode on Degenerate Conic by Jacob Williams is licensed under the following license:

Copyright © 2014-2025, Jacob Williams All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • The names of its contributors may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

All other website content is Copyright © Jacob Williams.

Fortran Compilers

fortran

Fortran References

Books

  • E. Jorgensen, Introduction to Programming using Fortran 95/2003/2008, March 2018, Version 3.0.51
  • R. J. Hanson, Numerical Computing With Modern Fortran, SIAM-Society for Industrial and Applied Mathematics, 2013.
  • A. Markus, Modern Fortran in Practice, Cambridge University Press, 2012.
  • D. Rouson, J. Xia, X. Xu, Scientific Software Design: The Object-Oriented Way, Cambridge University Press, 2011.
  • M. Metcalf, J. Reid, M. Cohen, Modern Fortran Explained, Oxford University Press, 2011.
  • N. S. Clerman, W. Spector, Modern Fortran: Style and Usage, Cambridge University Press, 2011.
  • G. Hager, G. Wellein, Introduction to High Performance Computing for Scientists and Engineers, CRC Press, 2011.
  • R. A. Vowels, Algorithms and Data Structures in F and Fortran, Unicomp, 1998.

Articles

Websites

Forums

Fortran Standards

Fortran Software

Fortran Build & Documentation Tools

  • foraytool (An advanced build tool for Fortran developers) [defunct]
  • SCons - a Software Construction Tool
  • FoBiS (Fortran projects building system for poor men)
  • FORD (Automatically generates FORtran Documentation from comments within the code)
  • The Meson Build system an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible
  • Fortran Package Manager a package manager and build system for Fortran.

See also fortran-lang Build tools

Other Programming Resources

General Scientific Software

Other Interesting Blogs

Other References