A library for calculating the orientation of the earth relative to GCRS.
Project description
TerraFrame
TerraFrame is a library designed to provided key Earth related calculations and associated functionality to modeling & simulation software. Primarily, TerraFrame provides Earth orientation and gravity routines.
Earth Orientation
TerraFrame provides an implementation of the IAU 2006/2000A precession-nutation model which accounts for precession, nutation, and polar motion. Specifically, this implementation provides a transformation tensor between the Geocentric Celestial Reference System (GCRS) and the International Terrestrial Reference System (ITRS).
TerraFrame also provides routines for calculating the Earth's angular velocity tensor. The angular velocity tensor is based on the partial derivative of the numerous IAU 2006/2000A equations with respect to time (in seconds).
IERS precession and nutation model data files are shipped with TerraFrame. Utility code is also provided which automates the downloading of IERS data for polar motion, UTC, and UT1 offsets.
Gravity
Gravity calculations are provided by an implementation of the EGM2008. A double Clenshaw summation approach is used to evaluate the spherical harmonics which yields high numerical stability and computational efficiency. TerraFrame is numerically capable of evaluating EGM2008 to it’s complete degree and order: 2190.
By default, only data for degree and order 200 is shipped with TerraFrame for space efficiency. Most near earth modeling & simulation applications will not need to exceed degree and order 100 per WGS84 guidance.
Ancillary Functionality
Support is provided for converting from geodetic latitude, longitude, and height above ellipsoid to geocentric cartesian coordinates or vice versa. The WGS84 spheroid and a simple spherical earth are provided as built-in options.
TerraFrame also provides robust datetime and timescale conversion functionality that is fully leap second aware. Conversions between UTC, UT1, TT, and TAI are provided. The user is encouraged to not work in UTC directly to avoid leap second ambiguity. Conversion to UTC from TT or TAI can be safely done in post-processing.
License
This project - except for the IERS and WGS84 data files - is covered under the Mozilla Public License Version 2.0 (MPL2). See the LICENSE.txt file for more information.
Acknowledgements and References
This project uses data published by the International Earth Rotation and Reference Systems Service (IERS). The original data along with additional information can be found on the IERS website: here.
The Astropy, PyERFA, and GeographicLib libraries have been used as invaluable sources of truth for the testing of TerraFrame.
This project would not have been possible without the technical information provided by the following sources:
- Urban, S. E., & Seidelmann, P. K. (Eds.). Explanatory Supplement to the Astronomical Almanac (3rd ed.). University Science Books, 2013. ISBN: 978-1-891389-85-6.
- Gérard Petit and Brian Luzum (Eds.). IERS Conventions (2010), IERS Technical Note No. 36, Frankfurt am Main: Verlag des Bundesamts für Kartographie und Geodäsie, 2010. ISBN: 3-89888-989-6.
- Deakin, R.E., 1998, 'Derivatives of the earth’s potentials'. Geomatics Research Australasia, No.68, June, 1998, pp. 31-60.
Acronyms and Abbreviations
| Term | Meaning |
|---|---|
| CIO | Celestial Intermediate Origin |
| CIP | Celestial Intermediate Pole |
| CIRS | Celestial Intermediate Reference System |
| CEO | Celestial Ephemeris Origin |
| EGM | Earth Gravitational Model |
| GCRS | Geocentric Celestial Reference System |
| IAU | International Astronomical Union |
| IERS | International Earth Rotation and Reference Systems Service |
| ITRF | International Terrestrial Reference Frame |
| ITRS | International Terrestrial Reference System |
| TAI | International Atomic Time |
| TIO | Terrestrial Intermediate Origin |
| TIRS | Terrestrial Intermediate Reference System |
| TT | Terrestrial Time |
| UT1 | Universal Time |
| UTC | Coordinated Universal Time |
| WGS | World Geodetic System |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file terraframe-0.2.0.tar.gz.
File metadata
- Download URL: terraframe-0.2.0.tar.gz
- Upload date:
- Size: 446.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3dbc42a6990c8d83e74a15afad0319c5f2d5fe1f59d0658ad10572f311e103
|
|
| MD5 |
4a689643d430564f128efeeda04d36a5
|
|
| BLAKE2b-256 |
d93c39e626cd8a16065bceb767d903e70dceffde994443899657a2644e053cf8
|
Provenance
The following attestation bundles were made for terraframe-0.2.0.tar.gz:
Publisher:
release.yml on cmorrison31/TerraFrame
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
terraframe-0.2.0.tar.gz -
Subject digest:
de3dbc42a6990c8d83e74a15afad0319c5f2d5fe1f59d0658ad10572f311e103 - Sigstore transparency entry: 584450647
- Sigstore integration time:
-
Permalink:
cmorrison31/TerraFrame@fbd3025e2448d147a6febf8a8f003a59691db947 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cmorrison31
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fbd3025e2448d147a6febf8a8f003a59691db947 -
Trigger Event:
push
-
Statement type:
File details
Details for the file terraframe-0.2.0-py3-none-any.whl.
File metadata
- Download URL: terraframe-0.2.0-py3-none-any.whl
- Upload date:
- Size: 451.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
054f3043dcc1e91b97ee1a0654a9bd7b624e2282668a490959e11544bea78ba8
|
|
| MD5 |
94e0e3aa5464ac54024597f260f70107
|
|
| BLAKE2b-256 |
84209ef05403219c4a59fb1b49b49916ece6f90add9b19bf82200a1c59b27cbd
|
Provenance
The following attestation bundles were made for terraframe-0.2.0-py3-none-any.whl:
Publisher:
release.yml on cmorrison31/TerraFrame
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
terraframe-0.2.0-py3-none-any.whl -
Subject digest:
054f3043dcc1e91b97ee1a0654a9bd7b624e2282668a490959e11544bea78ba8 - Sigstore transparency entry: 584450648
- Sigstore integration time:
-
Permalink:
cmorrison31/TerraFrame@fbd3025e2448d147a6febf8a8f003a59691db947 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cmorrison31
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fbd3025e2448d147a6febf8a8f003a59691db947 -
Trigger Event:
push
-
Statement type: