Universe
The Universe submodule defines simulation-specific data files which are constants of most simulations. In particular it provides data structures for storing and accessing Earth orientation parameters and spherical harmonic gravity field models.
The module defines the global variables EOP
and GRAVITY_MODEL
which load default data values at runtime.
EOP
defaults to use the rapid Earth orientation data file finals.all (IAU 2000)
distributed by the IERS. The module also supports IERS C04 product files.
GRAVITY_MODEL
defaults to use the EGM2008 spherical harmonic gravity model, truncated to order and degree 90.
All data files in the module can be updated by running the command download_all_data()
in the Julia REPL.
SatelliteDynamics.download_kp
— FunctionDownload geomagnetic indices.
Arguments:
year_start::Int
First year to download data for. Default: 2000year_end::Int
Last year to download data for. Default: 2019
Notes:
- Data source is GFZ Potsdam Geomagnetic WDC tables: https://www.gfz-potsdam.de/en/kp-index/
SatelliteDynamics.download_solar_flux
— FunctionDownload F10.7cm Solar Flux data.
10.7cm solar flux is the standard measure of solar activity in space weather models.
Notes:
- Data source is NRC Canada solar flux tables: ftp://ftp.seismo.nrcan.gc.ca/spaceweather/solarflux/dailyflux_values/fluxtable.txt
SatelliteDynamics.download_all_data
— FunctionDownloads package datafiles into folders $PACKAGE_ROOT/DIR
Downloads the following files:
- IERS C04 IAU2000A Earth Orientation Data
- IERS C04 IAU1980 Earth Orientation Data
- IERS Bulletin A/B IAU2000 Earth Orientation Data
SatelliteDynamics.EarthOrientationData
— TypeThe EarthOrientationData constains a single data member of type Dict{Int, Tuple{Float64, Float64, Float64}}
that stores the Earth Orientation parameters UT1-UTC
, xp
, and yp
whose units are meters, radians, and radians, respectively. xp
and yp
are the x- and y-components of Earth's polar motion. The dictionary key is the Epoch the parameters are for as a Modified Julian Day at 0h UTC.
Arguments:
product::Symbol
The IERS product type can be"C04_14"
,"C04_80"
, or"FINALS_2000"
SatelliteDynamics.EOP
— ConstantModule-wide global EarthOrientationData object. This data object is used as the default source of Earth Orientation Data by reference system transformations if no explicit EarthOrientationData file is provided to those transformations.
This value can be overridden in your own code as follows:
SatelliteDynamics.EOP = EarthOrientationData(:EOP_PRODUCT_CHOICE)
This global variable defaults to use the module's internal version of "FINALS_2000"
if it is not otherwise set/provided.
SatelliteDynamics.UT1_UTC
— FunctionCompute the offset between the UT1 and UTC time systems in seconds. If the EarthOrientationData argument is ommitted the function will use the default module-global value.
Arguments:
eop::EarthOrientationData
EarthOrientationData object to use to compute the offsetmjd::Real
Modified Julian Date in UTC of the Epoch for which the UT1-UTC offset is desired.interp::Bool
Whether to linearly interpolate the parameter data to the input MJD.
Returns:
ut1_utc::Float
UT1 - UTC offset. [s]
SatelliteDynamics.POLE_LOCATOR
— FunctionCompute the location of the pole. Returns x- and y- components as a tuple with the units of [radians]. If the EarthOrientationData argument is ommitted the function will use the default module-global value.
Arguments:
eop::EarthOrientationData
EarthOrientationData object to use to compute the offsetmjd::Real
Modified Julian Date in UTC of the Epoch for which the pole locator is desired.interp::Bool
Whether to linearly interpolate the parameter data to the input MJD.
Returns:
pole_locator::Tuple{ -Float, Float}
(x, y) pole location in radians.
SatelliteDynamics.XP
— FunctionCompute the x-component of the pole locator in [radians]. If the first EarthOrientationData argument is ommitted the function will use the default module-global value.
Arguments:
eop::EarthOrientationData
EarthOrientationData object to use to compute the offsetmjd::Real
Modified Julian Date in UTC of the Epoch for which the xp value is desired.interp::Bool
Whether to linearly interpolate the parameter data to the input MJD.
Returns:
xp::Float
x-component of pole locator in radians.
SatelliteDynamics.YP
— FunctionCompute the y-component of the pole locator in [radians]. If the first EarthOrientationData argument is ommitted the function will use the default module-global value.
Arguments:
eop::EarthOrientationData
EarthOrientationData object to use to compute the offsetmjd::Real
Modified Julian Date in UTC of the Epoch for which the yp value is desired.interp::Bool
Whether to linearly interpolate the parameter data to the input MJD.
Returns:
yp::Float
y-component of pole locator in radians.
SatelliteDynamics.set_eop
— FunctionSet Earth orientation data values for a specific date in the module global EarthOrientationData object.
Arguments:
mjd::Real
Modified Julian Date in UTC of the Epoch for which the Earth orientation data is aligned to.ut1_utc::Real
Offset between UT1 and UTC in seconds.xp::Real
x-component of the pole locator in radians.yp::Real
y-component of the pole locator in radians.
SatelliteDynamics.load_eop
— FunctionLoad new Earth orientation data into the module global EarthOrientationData object. The product can be one of the symbols: "C04_14"
, "C04_80"
, or "FINALS_2000"
.
Arguments:
product::String
Loads a different set of EarthOrientationData values into the module-wide global EarthOrientationData parameters.
SatelliteDynamics.GravModel
— TypeGravModel stores a spherical harmonic gravity field in memory. Can store normalized or denomalized coefficients. Package contains EGM2008, GGM01S, and GGM0S gravity models, as well as the default gravity model of EGM2008 truncated to degree and order 90.
Additional gravity field models can be downloaded from: http://icgem.gfz-potsdam.de/home
Arguments:
filepath::string
Path to spherical harmonic gravity model file.
SatelliteDynamics.GRAVITY_MODEL
— ConstantModule-wide global GravityModel object. This data object is used as the default spherical harmonic gravity field unless one is otherwise provided.
This value can be overridden in your own code as follows:
SatelliteDynamics.GravityModel = GravityModel(PATH_TO_YOUR_GRAVITY_MODEL)
This global variable defaults to use the module's internal version of the EGM2008 model truncated to order and degree 90, if it is not otherwise set.
Missing docstring for load_gravity_model
. Check Documenter's build log for details.