| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| angle_between_vectors | vector_module | Function | The angle between two vectors (in radians). |
| apparent_position | lighting_module | Subroutine | Return the position of a target body relative to an observer, corrected for light time and stellar aberration. |
| axis_angle_rotation | vector_module | Subroutine | Rotate a 3x1 vector in space, given an axis and angle of rotation. |
| axis_angle_rotation_to_rotation_matrix | vector_module | Subroutine | Computes the rotation matrix that corresponds to a
rotation about the axis |
| balanc | eispack_module | Subroutine | Balance a real general matrix and isolate eigenvalues whenever possible. |
| balbak | eispack_module | Subroutine | Form the eigenvectors of a real general matrix from the eigenvectors of matrix output from BALANC. |
| barker | kepler_module | Function | Barker time of flight equation |
| base_class_equal | base_class_module | Function |
|
| base_class_not_equal | base_class_module | Function |
|
| bisection_special_2 | geodesy_module | Subroutine | |
| bisection_special_3 | geodesy_module | Subroutine | |
| box_product | vector_module | Function | Computes the box product (scalar triple product) of the three vectors. |
| bplane | bplane_module | Subroutine | Compute B-plane parameters from position and velocity. |
| bplane_test | bplane_module | Subroutine | Unit test for bplane_module. |
| brent_test | brent_module | Subroutine | |
| c_ptr_to_f_string | c_interface_module | Subroutine | Convert a |
| calcelements | standish_module | Subroutine | Calculate current elements |
| calculate_bplane_data | bplane_module | Subroutine | Compute B-plane parameters from position and velocity -- alternate version. |
| calendar_date_realsec | time_module | Subroutine | Returns the year, month, day, hr, min, sec for the specified Julian date. |
| calendar_date_to_et | time_module | Function | Directly converts a calendar date to seconds since the J2000 epoch. |
| cartesian_to_equinoctial | modified_equinoctial_module | Subroutine | Convert Cartesian coordinates to modified equinoctial elements (posigrade formulation). |
| cartesian_to_geodetic_triaxial | geodesy_module | Subroutine | Function computes the geodetic latitude (phi), longitude (lambda) and height (h) of a point related to an ellipsoid defined by its three semiaxes ax, ay and b (0 < b <= ay <= ax) given Cartesian coordinates Xi, Yi, Zi and tolerance (tol). Latitude and longitude are returned in radians. |
| cartesian_to_geodetic_triaxial_2 | geodesy_module | Subroutine | Cartesian to geodetic for Triaxial Ellipsoid. |
| cartesian_to_spherical | vector_module | Subroutine | Convert Cartesian (x,y,z) to spherical (r,alpha,beta). |
| CartesianIntoGeodeticI | geodesy_module | Subroutine | Cartesian to Geodetic I |
| CartesianIntoGeodeticII | geodesy_module | Subroutine | Cartesian into Geodetic II |
| cdiv | eispack_module | Subroutine | Compute the complex quotient of two complex numbers. |
| central_diff | complex_step_module | Subroutine | Compute the first derivative using a 2-point central difference [-h,h]. |
| central_diff_4 | complex_step_module | Subroutine | Compute the first derivative using a 4-point central difference [-2h,-h,h,2h]. |
| close_ephemeris | jpl_ephemeris_module | Subroutine | Close the ephemeris. |
| close_spice_ephemeris | spice_ephemeris_module | Subroutine | Close the SPICE ephemeris and unload all the kernels. |
| complex_step_derivative | complex_step_module | Subroutine | Compute the first derivative using the complex-step method. This is Equation 6 from Reference [1]. |
| complex_step_test | complex_step_module | Subroutine | Unit test for the complex_step module. |
| compute_crtpb_parameter | crtbp_module | Function | Compute , the normalized CRTBP parameter. It is equal to . |
| compute_eigenvalues_and_eigenvectors | eispack_module | Subroutine | Compute the eigenvalues and, optionally, the eigenvectors of a real general matrix. |
| compute_gravity_acceleration_kuga_carrara | geopotential_module | Subroutine | Wrapper for Kuga/Carrara method. |
| compute_gravity_acceleration_lear | geopotential_module | Subroutine | Wrapper for Lear method. |
| compute_gravity_acceleration_mueller | geopotential_module | Subroutine | Wrapper for Mueller method. |
| compute_gravity_acceleration_normalized_pines | geopotential_module | Subroutine | Wrapper for normalized Pines method. |
| compute_gravity_acceleration_pines | geopotential_module | Subroutine | Wrapper for Pines method. |
| compute_halo_monodromy_matrix | halo_orbit_module | Subroutine | Compute the halo orbit monodromy matrix (which is the state transition matrix propagated for one period) The input should be the result from the halo_to_rv_diffcorr routine. |
| compute_jacobi_constant | crtbp_module | Function | Compute the CRTBP Jacobi constant, given the state. |
| compute_libration_points | crtbp_module | Subroutine | Compute the coordinates of the libration points (L1,L2,L3,L4,L5). L1-L3 are computed using Newton's method. L4-L5 are known analytically. |
| compute_libration_points_v2 | crtbp_module | Subroutine | Compute the coordinates of the libration points (L1,L2,L3,L4,L5). |
| compute_monodromy_matrix_eigenvalues | halo_orbit_module | Subroutine | Compute the eigenvalues of the monodromy matrix. |
| compute_real_eigenvalues_and_normalized_eigenvectors | eispack_module | Subroutine | Returns only the real eigenvalues and the associated eigenvectors. Wrapper for compute_eigenvalues_and_eigenvectors. |
| compute_stepsize | rk_module_variable_step | Subroutine | Compute the new step size using the specific method. |
| compute_vinf_vectors | bplane_module | Subroutine | Compute the incoming and/or outgoing v-infinity vectors, given the position and velocity of a hyperbola. |
| convert | geopotential_module | Subroutine | Based on the CONVERT subroutine from [1]. Unnormalizes the C,S coefficients. |
| cross | vector_module | Function | Cross product of two 3x1 vectors |
| cross_matrix | vector_module | Function | Computes the cross product matrix, where:
|
| crtbp_derivs | crtbp_module | Subroutine | CRTBP derivatives: state only. |
| crtbp_derivs_with_stm | crtbp_module | Subroutine | CRTBP derivatives: state + state transition matrix. |
| crtbp_test | crtbp_module | Subroutine | Unit tests for CRTBP routines. |
| cube_root | math_module | Function | Cube root of a number (real solution only). |
| cubic_shadow_model | lighting_module | Subroutine | The "circular cubic" shadow model. |
| cw_equations | relative_motion_module | Function | Clohessy-Wiltshire equations for relative motion. |
| cw_propagator | relative_motion_module | Subroutine | Clohessy-Wiltshire propagation routine. |
| d_kepde | kepler_module | Function | Derivative of kepde w.r.t |
| d_kepdh | kepler_module | Function | Derivative of kepdh w.r.t |
| d_kepds | kepler_module | Function | |
| d_kepe | kepler_module | Function | Derivative of kepe w.r.t. |
| dcbsol | gooding_module | Function | Solution to |
| dcubrt | gooding_module | Function | Cube root computed accurately, by incorporating one Newton-Raphson iteration. |
| deriv_func | rk_module | Interface | |
| destroy | rk_module | Subroutine | Destructor for rk_class. |
| destroy | rk_module_variable_step | Subroutine | Destructor for rk_variable_step_class. |
| destroy_geopotential_model | geopotential_module | Subroutine | Destroy a gravity model. |
| destroy_geopotential_model | c_interface_module | Subroutine | |
| destroy_stepsize_class | rk_module_variable_step | Subroutine | Destructor for stepsize_class. |
| direct | geodesy_module | Subroutine | Solve the "direct" geodetic problem: given the latitude and longitude of one point and the azimuth and distance to a second point, determine the latitude and longitude of that second point. The solution is obtained using the algorithm by Vincenty. |
| direct_inverse_test | geodesy_module | Subroutine | |
| distance_from_point_to_line | geometry_module | Function | Compute the distance between the point X and the line defined by the two points X1 and X2. |
| distance_from_point_to_line_segment | geometry_module | Function | Compute the distance between a line segment and a point. |
| distance_from_point_to_path | geometry_module | Function | Compute the distance between a point and a polygonal path. Given a point (x0,y0), and a path (x(n),y(n)), the distance to the path is the distance to the closest line segment (x(i),y(i)). |
| dogleg | minpack_module | Subroutine | given an m by n matrix a, an n by n nonsingular diagonal matrix d, an m-vector b, and a positive number delta, the problem is to determine the convex combination x of the gauss-newton and scaled gradient directions that minimizes (ax - b) in the least squares sense, subject to the restriction that the euclidean norm of dx be at most delta. |
| dpmpar | minpack_module | Function | Replacement for the original Minpack routine. |
| drag_acceleration | drag_module | Subroutine | Acceleration due to atmospheric drag. |
| ec2eq | standish_module | Subroutine | converts cartesian heliocentric j2000 ecliptic to equatorial |
| ecliptic_frame | transformation_module | Interface | |
| ecliptic_frame_constructor | transformation_module | Function | Constructor for a ecliptic_frame |
| eispack_test | eispack_module | Subroutine | Unit test |
| ekepl | gooding_module | Function | Kepler's equation, |
| ekepl1 | gooding_module | Function | Solve kepler's equation, |
| ekepl2 | gooding_module | Function | Kepler's equation, |
| el2op | standish_module | Subroutine | heliocentric coordinates for orbital plane from elements |
| elmhes | eispack_module | Subroutine | Reduce a real general matrix to upper Hessenberg form using stabilized elementary similarity transformations. |
| els2pv | gooding_module | Subroutine | Algorithm for two-dimensional conversion from orbital elements to position and velocity. |
| els3pv | gooding_module | Subroutine | Algorithm for three-dimensional conversion from orbital elements to position and velocity |
| eltran | eispack_module | Subroutine | Accumulates the stabilized elementary similarity transformations used in the reduction of a real general matrix to upper Hessenberg form by ELMHES. |
| emkep | gooding_module | Function | Similar to emkepl, except input is |
| emkepl | gooding_module | Function | Accurate computation of |
| enorm | minpack_module | Function | given an n-vector x, this function calculates the euclidean norm of x. |
| ephemeris_test | jpl_ephemeris_module | Subroutine | Ephemeris test routine. |
| eq2ec | standish_module | Subroutine | converts cartesian heliocentric equatorial to ecliptic |
| equatorial_to_mean_ecliptic_rotmat | obliquity_module | Function | Rotation matrix from J2000 to Mean Ecliptic. |
| equinoctial_to_cartesian | modified_equinoctial_module | Subroutine | Convert modified equinoctial elements (posigrade formulation) to Cartesian coordinates. |
| et_to_jd | time_module | Function | Convert ephemeris time (seconds from J2000 epoch) to Julian date. |
| event_func | rk_module | Interface | |
| extract_scalar_from_vector | vector_module | Subroutine | Extract the value from the vector and update the index |
| extract_vector | vector_module | Interface | |
| extract_vector_from_vector | vector_module | Subroutine | Extract a vector from the vector and update the index |
| f_string_to_c_ptr | c_interface_module | Subroutine | Convert a Fortran string to a |
| fdjac1 | minpack_module | Subroutine | this subroutine computes a forward-difference approximation to the n by n jacobian matrix associated with a specified problem of n functions in n variables. if the jacobian has a banded form, then function evaluations are saved by only approximating the nonzero terms. |
| fill_char_vector_with_scalar | vector_module | Subroutine | Put the value in the vector and update the index (character version) |
| fill_char_vector_with_vector | vector_module | Subroutine | Put the vector in the vector and update the index (character version) |
| fill_vector | vector_module | Interface | |
| fill_vector_with_scalar | vector_module | Subroutine | Put the value in the vector and update the index |
| fill_vector_with_vector | vector_module | Subroutine | Put the vector in the vector and update the index |
| FL | geopotential_module | Function | The FL factorial function from [1]. |
| fmin | brent_module | Function | An approximation x to the point where f attains a minimum on the interval (ax,bx) is determined. |
| forward_diff | complex_step_module | Subroutine | Compute the first derivative using a forward difference. This is Equation 1 from Reference [1]. |
| from_frame_to_ijk_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from a specified relative frame to IJK. |
| from_ijk_to_frame_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from IJK to a specified relative frame. |
| from_ijk_to_lvlh | relative_motion_module | Interface | Conversion from IJK to LVLH |
| from_ijk_to_lvlh_mat | relative_motion_module | Subroutine | Compute the transformation matrices to convert IJK to LVLH. |
| from_ijk_to_lvlh_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from IJK to LVLH. |
| from_ijk_to_rsw | relative_motion_module | Interface | Conversion from IJK to RSW |
| from_ijk_to_rsw_mat | relative_motion_module | Subroutine | Compute the transformation matrices to convert IJK to RSW. |
| from_ijk_to_rsw_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from IJK to RSW. |
| from_ijk_to_vuw | relative_motion_module | Interface | Conversion from IJK to vuw |
| from_ijk_to_vuw_mat | relative_motion_module | Subroutine | Compute the transformation matrices to convert IJK to vuw. |
| from_ijk_to_vuw_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from IJK to VUW. |
| from_j2000body_to_j2000ssb | lighting_module | Subroutine | convert from a j2000-body frame to a j2000-ssb frame. |
| from_lvlh_to_ijk | relative_motion_module | Interface | Conversion from LVLH to IJK |
| from_lvlh_to_ijk_mat | relative_motion_module | Subroutine | Compute the transformation matrices to convert LVLH to IJK. |
| from_lvlh_to_ijk_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from LVLH to IJK. |
| from_lvlh_to_rsw | relative_motion_module | Interface | Conversion from LVLH to RSW |
| from_lvlh_to_rsw_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from LVLH to RSW. |
| from_primary_to_center | transformation_module | Subroutine | returns the state of the frame center w.r.t. the frame primary body. |
| from_rsw_to_ijk | relative_motion_module | Interface | Conversion from RSW to IJK |
| from_rsw_to_ijk_mat | relative_motion_module | Subroutine | Compute the transformation matrices to convert RSW to IJK. |
| from_rsw_to_ijk_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from RSW to IJK. |
| from_rsw_to_lvlh | relative_motion_module | Interface | Conversion from RSW to LVLH |
| from_rsw_to_lvlh_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from RSW to LVLH. |
| from_vuw_to_ijk | relative_motion_module | Interface | Conversion from vuw to IJK |
| from_vuw_to_ijk_mat | relative_motion_module | Subroutine | Compute the transformation matrices to convert VUW to IJK. |
| from_vuw_to_ijk_rv | relative_motion_module | Subroutine | Transform a position (and optionally velocity) vector from VUW to IJK. |
| func | complex_step_module | Interface | |
| geocentric_radius | geodesy_module | Function | The distance from the center of a celestial body (e.g., the Earth) to a point on the spheroid surface at a specified geodetic latitude. |
| geodetic_to_cartesian | geodesy_module | Subroutine | Geodetic latitude, longitude, and height to Cartesian position vector. |
| geodetic_to_cartesian_triaxial | geodesy_module | Subroutine | Function computes the Cartesian coordinates given the geodetic latitude (phi), longitude (lambda) and height (h) of a point related to an ellipsoid defined by its three semiaxes ax, ay and b |
| geodetic_to_cartesian_triaxial_2 | geodesy_module | Subroutine | Geodetic to Cartesian for Triaxial Ellipsoid. |
| geometry_unit_test | geometry_module | Subroutine | Unit test routine |
| geopot | geopotential_module | Subroutine | Compute the gravitational acceleration vector using the Mueller method. |
| geopotential_module_test | geopotential_module | Subroutine | Unit test routine for geopotential_module |
| get_acceleration | c_interface_module | Subroutine | |
| get_c_cdot_ecliptic | transformation_module | Subroutine | rotation matrix for ICRF <-> Mean Ecliptic |
| get_c_cdot_iau_earth | transformation_module | Subroutine | rotation matrix for IAU_EARTH <-> ICRF |
| get_c_cdot_iau_moon | transformation_module | Subroutine | rotation matrix for IAU_MOON <-> ICRF |
| get_c_cdot_icrf | transformation_module | Subroutine | rotation matrix for ICRF <-> ICRF |
| get_c_cdot_two_body_rotating | transformation_module | Subroutine | rotation matrix for ROTATING <-> ICRF |
| get_c_cdot_two_body_rotating_pulsating | transformation_module | Subroutine | rotation matrix for ROTATING_PULSATING <-> ICRF |
| get_constants | jpl_ephemeris_module | Subroutine | Obtain the constants from the ephemeris file. |
| get_format_statement | geopotential_module | Subroutine | Returns the format statement from a line in a .GEO gravity coefficient file. |
| get_r_from_jpl_ephemeris | jpl_ephemeris_module | Subroutine | Interface for the ephemeris_module. |
| get_r_from_spice_ephemeris | spice_ephemeris_module | Subroutine | Interface for the ephemeris_module. |
| get_random_number | random_module | Function | Returns a uniform random number |
| get_rv_from_jpl_ephemeris | jpl_ephemeris_module | Subroutine | Interface for the ephemeris_module. |
| get_rv_from_spice_ephemeris | spice_ephemeris_module | Subroutine | Interface for the ephemeris_module. |
| get_state | jpl_ephemeris_module | Subroutine | This subroutine reads the JPL planetary ephemeris
and gives the position and velocity of the point |
| get_sun_fraction | lighting_module | Function | Compute the "sun fraction" using the selected shadow model. |
| grav | geopotential_module | Subroutine | Based on the GRAV subroutine from [1]. |
| gravity_j2_j3_j4 | gravity_module | Subroutine | Gravitational acceleration due to simplified spherical harmonic expansion (only the J2-J4 terms are used). |
| gravpot | geopotential_module | Subroutine | Spencer's implementation of the Pines algorithms from [1] |
| great_circle_distance | geodesy_module | Function | Great circle distance on a spherical body, using the Vincenty algorithm. |
| halo_orbit_test | halo_orbit_module | Subroutine | Unit test for the halo orbit module. |
| halo_to_rv | halo_orbit_module | Subroutine | Compute the state vector from the halo orbit approximation. This will be an approximation of a halo orbit in the CR3BP system, and will need to be corrected to produce a real halo orbit. |
| halo_to_rv_diffcorr | halo_orbit_module | Subroutine | Compute the state vector for a halo orbit. This uses the approximation, which is retargeted in the real CR3BP system to produce a periodic orbit. |
| heikkinen | geodesy_module | Subroutine | Heikkinen routine for cartesian to geodetic transformation |
| helio | standish_module | Subroutine | For planet np and julian date jd and using using table |
| hinit | rk_module_variable_step | Function | computation of an initial step size guess |
| horner | geodesy_module | Subroutine | Horner's method to compute |
| hqr | eispack_module | Subroutine | Compute the eigenvalues of a real upper Hessenberg matrix using the QR method. |
| hqr2 | eispack_module | Subroutine | Compute the eigenvalues and eigenvectors of a real upper Hessenberg matrix using QR method. |
| hstart | rk_module_variable_step | Subroutine | Computes a starting step size to be used in solving initial value problems in ordinary differential equations. |
| hybrd | minpack_module | Subroutine | The purpose of hybrd is to find a zero of a system of n nonlinear functions in n variables by a modification of the powell hybrid method. the user must provide a subroutine which calculates the functions. the jacobian is then calculated by a forward-difference approximation. |
| hybrd1 | minpack_module | Subroutine | the purpose of |
| hybrj | minpack_module | Subroutine | the purpose of hybrj is to find a zero of a system of n nonlinear functions in n variables by a modification of the powell hybrid method. the user must provide a subroutine which calculates the functions and the jacobian. |
| hybrj1 | minpack_module | Subroutine | the purpose of hybrj1 is to find a zero of a system of n nonlinear functions in n variables by a modification of the powell hybrid method. this is done by using the more general nonlinear equation solver hybrj. the user must provide a subroutine which calculates the functions and the jacobian. |
| hyperbolic_turning_angle | bplane_module | Function | Compute the hyperbolic turning angle from the eccentricity. |
| iau_earth_rotating_frame | transformation_module | Interface | |
| iau_earth_rotating_frame_constructor | transformation_module | Function | Constructor for a iau_earth_rotating_frame |
| iau_moon_rotating_frame | transformation_module | Interface | |
| iau_moon_rotating_frame_constructor | transformation_module | Function | Constructor for a iau_moon_rotating_frame |
| iau_rotation_matrix | iau_orientation_module | Function | Returns the rotation matrix for a coordinate transformation from the International Celestial Reference Frame (ICRF) frame to the IAU rotating frame associated with a body. The IAU orientation models use three Euler angles to describe the pole and prime meridian location (ra, dec, and w). |
| iau_test | iau_orientation_module | Subroutine | Unit test routine for iau_module. |
| icrf_frame | transformation_module | Interface | |
| icrf_frame_constructor | transformation_module | Function | Constructor for a icrf_frame |
| icrf_to_iau_earth | iau_orientation_module | Function | Rotation matrix from ICRF to IAU_EARTH. |
| icrf_to_iau_moon | iau_orientation_module | Function | Rotation matrix from ICRF to IAU_MOON. |
| initialize | rk_module | Subroutine | Initialize the rk_class. |
| initialize | rk_module_variable_step | Subroutine | Initialize the rk_variable_step_class. |
| initialize_ephemeris | jpl_ephemeris_module | Subroutine | Initialize the ephemeris. This routine may be called to load a different ephemeris file. Otherwise, it is called on the first call to get_state, and loads the file specified in the module header. |
| initialize_geopotential_model | c_interface_module | Function | mueller method |
| initialize_spice_ephemeris | spice_ephemeris_module | Subroutine | Initialize a SPICE ephemeris by loading the specified kernels. |
| integrate | rk_module | Subroutine | Main integration routine for the rk_class. |
| integrate | rk_module_variable_step | Subroutine | Main integration routine for the rk_variable_step_class. |
| integrate_to_event | rk_module | Subroutine | Event-finding integration routine for the rk_class. Integrates until g(t,x)=0, or until t=tf (whichever happens first). |
| integrate_to_event | rk_module_variable_step | Subroutine | Event-finding integration routine for the rk_variable_step_class. Integrates until g(t,x)=0, or until t=tf (whichever happens first). |
| interp | jpl_ephemeris_module | Subroutine | this subroutine differentiates and interpolates a set of chebyshev coefficients to give position and velocity. |
| inverse | geodesy_module | Subroutine | INVERSE computes the geodetic azimuth and distance between two points, given their geographic positions. |
| is_leap_year | time_module | Function | Return true if the specified year is a leap year. |
| jd_to_et | time_module | Function | Convert Julian date to ephemeris time (seconds from J2000 epoch). |
| jd_to_mjd | time_module | Function | Converts Julian date to Modified Julian date. |
| julian_date | time_module | Interface | calendar date to julian date |
| julian_date_intsec | time_module | Function | Returns the Julian date for the specified YEAR, MONTH, DAY, HR, MIN, SEC. |
| julian_date_realsec | time_module | Function | Returns the Julian date for the specified YEAR, MONTH, DAY, HR, MIN, SEC. |
| julian_date_to_calendar_date | time_module | Interface | |
| julian_day | time_module | Function | Returns the Julian day number (i.e., the Julian date at Greenwich noon) on the specified YEAR, MONTH, and DAY. |
| kepde | kepler_module | Function | Elliptic Kepler's equation written in terms of the eccentric anomaly difference. See Battin, eqn 4.43. |
| kepdh | kepler_module | Function | Battin, eqn. 4.64. |
| kepds | kepler_module | Function | |
| kepe | kepler_module | Function | Elliptic Kepler's equation |
| kepler | standish_module | Function | solve kepler's equation ma = ea + ec*sin(ea) |
| kepler_classical | kepler_module | Subroutine | Classical Kepler propagator for elliptical and hyperbolic orbits. Uses Lagrange formulations from Battin & Newton's method. |
| kepler_goodyear_stienon_klumpp | kepler_module | Subroutine | Kepler propagator based on the Goodyear code with modifications by Stienon and Klumpp. |
| kepler_shepperd | kepler_module | Subroutine | Kepler propagation using Shepperd's method. |
| kuga_carrara_geopotential | geopotential_module | Subroutine | Compute geopotential acceleration using the Kuga/Carrara algorithm. Based on Leg_ForCol_Ac from [1]. |
| lambert_test | lambert_module | Subroutine | Compare the Lambert routines. |
| lchop | string_module | Function | Chop leading |
| lighting_module_test | lighting_module | Subroutine | Unit tests for the listing module. |
| locpt | geometry_module | Subroutine | given a polygonal line connecting the vertices (x(i),y(i)) (i = 1,...,n) taken in this order. it is assumed that the polygonal path is a loop, where (x(n),y(n)) = (x(1),y(1)) or there is an arc from (x(n),y(n)) to (x(1),y(1)). |
| lowercase | string_module | Subroutine | Convert the string to lowercase. |
| magnitude | math_module | Function | Returns a positive number the same magnitude as the input, with only one significant digit. |
| matrix_cofactor | matrix_module | Function | Compute the cofactors matrix (the transpose of the adjugate matrix). |
| matrix_determinant | matrix_module | Function | Matrix determinant of an matrix (recursive formulation). |
| matrix_trace | matrix_module | Function | Compute the matrix trace (sum of the diagonal elements). |
| maxval_func | rk_module_variable_step | Function | Use |
| mean_ecliptic_to_equatorial_rotmat | obliquity_module | Function | Rotation matrix from Mean Ecliptic to J2000. |
| mean_obliquity_of_ecliptic_iau1980 | obliquity_module | Function | Mean obliquity of the ecliptic, IAU 1980 formula. |
| mean_obliquity_of_ecliptic_iau2006 | obliquity_module | Function | Mean obliquity of the ecliptic, IAU 2006 formula. |
| mjd_to_jd | time_module | Function | Converts Modified Julian date to Julian date. |
| modified_equinoctial_derivs | modified_equinoctial_module | Subroutine | Modified equinoctial elements (posigrade formulation) equations of motion. |
| modified_equinoctial_test | modified_equinoctial_module | Subroutine | Unit tests for the modified_equinoctial_module. |
| newton | newton_module | Subroutine | Newton's method for root finding of scalar function f(x) |
| norm2_func | rk_module_variable_step | Function | Use intrinsic |
| normalize_variables | crtbp_module | Subroutine | Convert state in km, km/s units to normalized CRTBP state. |
| number_of_coefficients | geopotential_module | Function | Number of (c,s) coefficients for n x m geopotential model Starting with n=2,m=0. |
| olson | geodesy_module | Subroutine | Olson routine for cartesian to geodetic transformation. |
| op2ec | standish_module | Subroutine | heliocentric coordinates j2000 ecliptic plane from orbital plane |
| orbit_check | orbital_mechanics_module | Subroutine | Check the orbit for singularities. |
| orbit_energy | orbital_mechanics_module | Function | Compute the two-body orbital energy. |
| orbit_period | orbital_mechanics_module | Function | Compute the two-body orbital period. |
| orbital_elements_to_rv | orbital_mechanics_module | Subroutine | Convert orbital elements to position and velocity vectors. |
| outer_product | vector_module | Function | Computes the outer product of the two vectors. |
| periapsis_apoapsis | orbital_mechanics_module | Subroutine | Compute the periapsis and apoapsis position and velocity magnitudes. |
| philambda_quadrant | geodesy_module | Subroutine | |
| pinesnorm | geopotential_module | Function | Normalized Pines geopotential code. |
| print_matrix | matrix_module | Subroutine | Print a matrix to the console. |
| propagate | gooding_module | Subroutine | Basic two-body propagator using the Gooding universal element routines. |
| pv2els | gooding_module | Subroutine | Algorithm for two-dimensional conversion from position and velocity to orbital elements. |
| pv3els | gooding_module | Subroutine | Algorithm for three-dimensional conversion from position and velocity to orbital elements. |
| qform | minpack_module | Subroutine | this subroutine proceeds from the computed qr factorization of an m by n matrix a to accumulate the m by m orthogonal matrix q from its factored form. |
| qrfac | minpack_module | Subroutine | this subroutine uses householder transformations with column pivoting (optional) to compute a qr factorization of the m by n matrix a. that is, qrfac determines an orthogonal matrix q, a permutation matrix p, and an upper trapezoidal matrix r with diagonal elements of nonincreasing magnitude, such that ap = qr. the householder transformation for column k, k = 1,2,...,min(m,n), is of the form |
| r1mpyq | minpack_module | Subroutine | given an m by n matrix a, this subroutine computes aq where q is the product of 2(n - 1) transformations |
| r1updt | minpack_module | Subroutine | given an m by n lower trapezoidal matrix s, an m-vector u, and an n-vector v, the problem is to determine an orthogonal matrix q such that |
| rchop | string_module | Function | Chop trailing |
| read_geopotential_file | geopotential_module | Subroutine | Read the gravity coefficient file. Example file: ftp://ftp.csr.utexas.edu/pub/grav/EGM96.GEO.Z |
| relative_motion_test | relative_motion_module | Subroutine | Unit tests for the relative_motion_module. |
| replace_char | string_module | Function | Replace all occurrences of a single character |
| report_func | rk_module | Interface | |
| return_a_string | c_interface_module | Subroutine | Just a test of f_string_to_c_ptr. |
| reverse | string_module | Function | Reverse a string. |
| rg | eispack_module | Subroutine | Compute the eigenvalues and, optionally, the eigenvectors of a real general matrix. |
| rk4 | rk_module | Subroutine | Take one Runge Kutta 4 integration step: |
| rk8_10 | rk_module | Subroutine | Take one Runge Kutta 8 integration step: |
| rk_test | rk_module | Subroutine | Unit test of the rk_module. Integrate a two-body orbit around the Earth. |
| rk_test_variable_step | rk_module_variable_step | Subroutine | Unit test of the rk_module. Integrate a two-body orbit around the Earth. |
| rkf108 | rk_module_variable_step | Subroutine | Feagin's RK8(10) method -- a 10th-order method with an embedded 8th-order method. |
| rkf108_order | rk_module_variable_step | Function | Returns the order of the rkf108 method. |
| rkf1210 | rk_module_variable_step | Subroutine | Feagin's RK12(10) method -- a 12th-order method with an embedded 10th-order method. |
| rkf1210_order | rk_module_variable_step | Function | Returns the order of the rkf1210 method. |
| rkf1412 | rk_module_variable_step | Subroutine | Feagin's RK14(12) - a 14th-order method with an embedded 12th-order method. |
| rkf1412_order | rk_module_variable_step | Function | Returns the order of the rkf1412 method. |
| rkf78 | rk_module_variable_step | Subroutine | Fehlberg's 7(8) algorithm. |
| rkf78_order | rk_module_variable_step | Function | Returns the order of the rkf78 method. |
| rkf89 | rk_module_variable_step | Subroutine | Fehlberg 8(9) method. |
| rkf89_order | rk_module_variable_step | Function | Returns the order of the rkf89 method. |
| rkv89 | rk_module_variable_step | Subroutine | Runge Kutta Verner 8(9) |
| rkv89_order | rk_module_variable_step | Function | Returns the order of the rkv89 method. |
| rotation_matrix | vector_module | Function | The 3x3 rotation matrix for a rotation about the x, y, or z-axis. |
| rotation_matrix_dot | vector_module | Function | Time derivative of the 3x3 rotation matrix for a rotation about the x, y, or z-axis. |
| rv_to_orbital_elements | orbital_mechanics_module | Subroutine | Convert position and velocity vectors to orbital elements. |
| rvcto_rvcfrom_icrf | transformation_module | Subroutine | Returns the state of the |
| set_function | brent_module | Subroutine | Set the function to be minimized. |
| shkepl | gooding_module | Function | Equation |
| shmkep | gooding_module | Function | Accurate computation of |
| simpson_lunar_ephemeris | analytical_ephemeris_module | Subroutine | A simple analytical lunar ephemeris model. Returns Lunar cartesian coordinates (mean equator and equinox of epoch J2000). |
| solar_fraction | lighting_module | Subroutine | Compute the solar fraction visible due to an eclipse by another body. |
| solar_fraction_alt | lighting_module | Subroutine | Another eclipse model, using circular area assumptions. |
| solar_fraction_alt2 | lighting_module | Subroutine | Another eclipse model, using circular area assumptions,
coded up based on the nixspace documentation.
The results are very similar to |
| solar_radiation_pressure | lighting_module | Function | Compute the solar radiation pressure force vector on a spacecraft. |
| solve_lambert_arorarussell | lambert_module | Subroutine | Solve Lambert's problem using the Arora/Russell method. |
| solve_lambert_gooding | lambert_module | Subroutine | Solve Lambert's problem using Gooding's method. |
| solve_lambert_izzo | lambert_module | Subroutine | Solve Lambert's problem using Izzo's method. |
| solve_polynomial | geodesy_module | Function | Numerical solution to polynomial equation using Newton-Raphson method |
| special_cases | geodesy_module | Subroutine | Special cases for lat/lon/altitude |
| sphere | standish_module | Subroutine | cartesian to spherical coordinates (angles in radians) |
| sphere_of_influence | orbital_mechanics_module | Function | Computes the sphere-of-influence radius of the secondary body. |
| sphere_of_influence_earth_moon | orbital_mechanics_module | Function | Computes the sphere-of-influence radius of the secondary body. |
| spherical_to_cartesian | vector_module | Function | Convert spherical (r,alpha,beta) to Cartesian (x,y,z). |
| spice_id_to_old_id | jpl_ephemeris_module | Function | Convert the NAIF SPICE ID code to the old one used by the JPL ephemeris.
Returns |
| spice_id_to_standish_id | standish_module | Function | Convert the NAIF SPICE ID code to the one used by the standish ephemeris.
Returns |
| split | jpl_ephemeris_module | Subroutine | this subroutine breaks a d.p. number into a d.p. integer and a d.p. fractional part. |
| standish_module_test | standish_module | Subroutine | Test routine for the standish_module routines. |
| standish_r_func | standish_module | Subroutine | Return the position of the |
| standish_rv_func | standish_module | Subroutine | Return the state of the |
| state | jpl_ephemeris_module | Subroutine | This subroutine reads and interpolates the JPL planetary ephemeris file. |
| step_func | rk_module | Interface | |
| step_size_test | rk_module_variable_step | Subroutine | Unit tests for step size adjustment routines. |
| stepsize_class_constructor | rk_module_variable_step | Subroutine | Constructor for a stepsize_class. |
| strip | string_module | Function | Strip all occurances of chars from the beginning and end of the string. |
| strlen | c_interface_module | Interface | |
| stumpff_c | kepler_module | Function | Stumpff function C(z) |
| stumpff_s | kepler_module | Function | Stumpff function S(z) |
| tbl | standish_module | Function | Determine which data set to use for highest accuracy for the given julian date. |
| third_body_gravity | gravity_module | Subroutine | Third-body (pointmass) gravitational acceleration. |
| third_body_gravity_alt | gravity_module | Subroutine | Third-body (pointmass) gravitational acceleration (alternate Battin formulation). See Equation 8.61 in Battin. |
| time_module_test | time_module | Subroutine | Test routine for the Julian date routines. |
| transform | transformation_module | Subroutine | Transform a Cartesian state from one reference frame to another at
a specified epoch. The |
| transformation_module_test | transformation_module | Subroutine | Transformation units test |
| two_body_rotating_frame | transformation_module | Interface | |
| two_body_rotating_frame_constructor | transformation_module | Function | Constructor for a two_body_rotating_frame |
| two_body_rotating_pulsating_frame | transformation_module | Interface | |
| two_body_rotating_pulsating_frame_constructor | transformation_module | Function | Constructor for a two_body_rotating_pulsating_frame |
| ucross | vector_module | Function | Unit vector of the cross product of two 3x1 vectors |
| uhat_dot | vector_module | Function | Time derivative of a unit vector. |
| unit | vector_module | Function | Unit vector |
| unnormalize_variables | crtbp_module | Subroutine | Convert normalized CRTBP state to km, km/s units. |
| uppercase | string_module | Subroutine | Convert the string to uppercase. |
| vector_projection | vector_module | Function | The projection of one vector onto another vector. |
| vector_projection_on_plane | vector_module | Subroutine | Project a vector onto a plane. |
| vector_test | vector_module | Subroutine | Unit test routine for the vector_module. |
| vinf_to_energy | bplane_module | Function | Convert V-infinity magnitude to energy. |
| wrap_angle | math_module | Function | Wrap an angle (in rad) from -pi to pi. |
| xyz2fl | geodesy_module | Subroutine | Computes the transformation of Cartesian to geodetic coordinates on the surface of the ellipsoid assuming x,y,z are all non-negative Angular coordinates in radians |
| xyz2philambda | geodesy_module | Subroutine | Determination of the geodetic latitude and longitude |
| zeroin | brent_module | Subroutine | Find a zero of the function in the given interval to within a tolerance , where is the relative machine precision defined as the smallest representable number such that . |