open-space-toolkit-physics 11.3.0__py310-none-manylinux2014_aarch64.whl
Sign up to get free protection for your applications and to get access to all the features.
- open_space_toolkit_physics-11.3.0.dist-info/METADATA +29 -0
- open_space_toolkit_physics-11.3.0.dist-info/RECORD +104 -0
- open_space_toolkit_physics-11.3.0.dist-info/WHEEL +5 -0
- open_space_toolkit_physics-11.3.0.dist-info/top_level.txt +1 -0
- open_space_toolkit_physics-11.3.0.dist-info/zip-safe +1 -0
- ostk/__init__.py +1 -0
- ostk/physics/OpenSpaceToolkitPhysicsPy.cpython-310-aarch64-linux-gnu.so +0 -0
- ostk/physics/__init__.py +6 -0
- ostk/physics/__init__.pyi +488 -0
- ostk/physics/coordinate/__init__.pyi +1002 -0
- ostk/physics/coordinate/frame/__init__.pyi +30 -0
- ostk/physics/coordinate/frame/provider/__init__.pyi +77 -0
- ostk/physics/coordinate/frame/provider/iau.pyi +64 -0
- ostk/physics/coordinate/frame/provider/iers.pyi +584 -0
- ostk/physics/coordinate/spherical.pyi +421 -0
- ostk/physics/data/__init__.pyi +459 -0
- ostk/physics/data/provider.pyi +21 -0
- ostk/physics/environment/__init__.pyi +108 -0
- ostk/physics/environment/atmospheric/__init__.pyi +181 -0
- ostk/physics/environment/atmospheric/earth.pyi +552 -0
- ostk/physics/environment/gravitational/__init__.pyi +559 -0
- ostk/physics/environment/gravitational/earth.pyi +56 -0
- ostk/physics/environment/magnetic/__init__.pyi +171 -0
- ostk/physics/environment/magnetic/earth.pyi +56 -0
- ostk/physics/environment/object/__init__.pyi +430 -0
- ostk/physics/environment/object/celestial/__init__.pyi +248 -0
- ostk/physics/environment/object/celestial/moon.pyi +2 -0
- ostk/physics/environment/object/celestial/sun.pyi +2 -0
- ostk/physics/libopen-space-toolkit-physics.so.11 +0 -0
- ostk/physics/py.typed +0 -0
- ostk/physics/test/__init__.py +1 -0
- ostk/physics/test/coordinate/__init__.py +1 -0
- ostk/physics/test/coordinate/frame/__init__.py +1 -0
- ostk/physics/test/coordinate/frame/provider/__init__.py +1 -0
- ostk/physics/test/coordinate/frame/provider/iers/__init__.py +1 -0
- ostk/physics/test/coordinate/frame/provider/iers/conftest.py +38 -0
- ostk/physics/test/coordinate/frame/provider/iers/data/finals2000A.data +10953 -0
- ostk/physics/test/coordinate/frame/provider/iers/data/ser7.dat +524 -0
- ostk/physics/test/coordinate/frame/provider/iers/test_bulletin_a.py +108 -0
- ostk/physics/test/coordinate/frame/provider/iers/test_finals_2000a.py +93 -0
- ostk/physics/test/coordinate/frame/provider/iers/test_manager.py +205 -0
- ostk/physics/test/coordinate/spherical/__init__.py +1 -0
- ostk/physics/test/coordinate/spherical/test_aer.py +143 -0
- ostk/physics/test/coordinate/spherical/test_lla.py +514 -0
- ostk/physics/test/coordinate/test_axes.py +116 -0
- ostk/physics/test/coordinate/test_frame.py +107 -0
- ostk/physics/test/coordinate/test_position.py +201 -0
- ostk/physics/test/coordinate/test_transform.py +294 -0
- ostk/physics/test/coordinate/test_velocity.py +180 -0
- ostk/physics/test/data/conftest.py +34 -0
- ostk/physics/test/data/data/manifest.json +22 -0
- ostk/physics/test/data/provider/test_provider.py +34 -0
- ostk/physics/test/data/test_direction.py +40 -0
- ostk/physics/test/data/test_manifest.py +43 -0
- ostk/physics/test/data/test_manifest_manager.py +62 -0
- ostk/physics/test/data/test_scalar.py +54 -0
- ostk/physics/test/data/test_vector.py +70 -0
- ostk/physics/test/environment/__init__.py +1 -0
- ostk/physics/test/environment/atmospheric/__init__.py +1 -0
- ostk/physics/test/environment/atmospheric/earth/__init__.py +1 -0
- ostk/physics/test/environment/atmospheric/earth/conftest.py +67 -0
- ostk/physics/test/environment/atmospheric/earth/data/SW-Last5Years.test.csv +22 -0
- ostk/physics/test/environment/atmospheric/earth/data/SpaceWeather-All-v1.2.test.txt +811 -0
- ostk/physics/test/environment/atmospheric/earth/test_cssi_space_weather.py +126 -0
- ostk/physics/test/environment/atmospheric/earth/test_exponential.py +34 -0
- ostk/physics/test/environment/atmospheric/earth/test_manager.py +173 -0
- ostk/physics/test/environment/atmospheric/earth/test_nrlmsise00.py +34 -0
- ostk/physics/test/environment/atmospheric/test_earth.py +141 -0
- ostk/physics/test/environment/gravitational/__init__.py +1 -0
- ostk/physics/test/environment/gravitational/earth/__init__.py +1 -0
- ostk/physics/test/environment/gravitational/earth/test_manager.py +76 -0
- ostk/physics/test/environment/gravitational/test_earth.py +103 -0
- ostk/physics/test/environment/gravitational/test_moon.py +55 -0
- ostk/physics/test/environment/gravitational/test_spherical.py +36 -0
- ostk/physics/test/environment/gravitational/test_sun.py +53 -0
- ostk/physics/test/environment/magnetic/__init__.py +1 -0
- ostk/physics/test/environment/magnetic/earth/test_manager.py +64 -0
- ostk/physics/test/environment/magnetic/test_earth.py +38 -0
- ostk/physics/test/environment/object/__init__.py +1 -0
- ostk/physics/test/environment/object/celestial/__init__ .py +1 -0
- ostk/physics/test/environment/object/celestial/test_earth.py +174 -0
- ostk/physics/test/environment/object/celestial/test_moon.py +17 -0
- ostk/physics/test/environment/object/celestial/test_sun.py +17 -0
- ostk/physics/test/environment/object/test_celestial.py +12 -0
- ostk/physics/test/test_environment.py +97 -0
- ostk/physics/test/test_import.py +25 -0
- ostk/physics/test/time/__init__.py +1 -0
- ostk/physics/test/time/test_date.py +136 -0
- ostk/physics/test/time/test_date_time.py +230 -0
- ostk/physics/test/time/test_duration.py +215 -0
- ostk/physics/test/time/test_instant.py +103 -0
- ostk/physics/test/time/test_interval.py +432 -0
- ostk/physics/test/time/test_scale.py +11 -0
- ostk/physics/test/time/test_time.py +114 -0
- ostk/physics/test/unit/__init__.py +1 -0
- ostk/physics/test/unit/derived/__init__.py +1 -0
- ostk/physics/test/unit/derived/test_angle.py +368 -0
- ostk/physics/test/unit/test_derived.py +152 -0
- ostk/physics/test/unit/test_electric_current.py +5 -0
- ostk/physics/test/unit/test_length.py +297 -0
- ostk/physics/test/unit/test_mass.py +141 -0
- ostk/physics/test/unit/test_time.py +101 -0
- ostk/physics/time.pyi +1744 -0
- ostk/physics/unit.pyi +1590 -0
@@ -0,0 +1,248 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
import ostk.core.type
|
3
|
+
import ostk.physics.environment.object
|
4
|
+
import ostk.physics.unit
|
5
|
+
import typing
|
6
|
+
from . import moon
|
7
|
+
from . import sun
|
8
|
+
__all__ = ['Earth', 'Moon', 'Sun', 'moon', 'sun']
|
9
|
+
class Earth(ostk.physics.environment.object.Celestial):
|
10
|
+
"""
|
11
|
+
|
12
|
+
Earth
|
13
|
+
|
14
|
+
"""
|
15
|
+
@staticmethod
|
16
|
+
def EGM2008(degree: ostk.core.type.Integer = ..., order: ostk.core.type.Integer = ...) -> Earth:
|
17
|
+
"""
|
18
|
+
Earth Gravity Model 2008 model (EGM2008).
|
19
|
+
|
20
|
+
Args:
|
21
|
+
degree (int): Degree.
|
22
|
+
order (int): Order.
|
23
|
+
|
24
|
+
Returns:
|
25
|
+
Earth: Earth.
|
26
|
+
"""
|
27
|
+
@staticmethod
|
28
|
+
def EGM84(degree: ostk.core.type.Integer = ..., order: ostk.core.type.Integer = ...) -> Earth:
|
29
|
+
"""
|
30
|
+
Earth Gravity Model 1984 (EGM84).
|
31
|
+
|
32
|
+
Args:
|
33
|
+
degree (int): Degree.
|
34
|
+
order (int): Order.
|
35
|
+
|
36
|
+
Returns:
|
37
|
+
Earth: Earth.
|
38
|
+
"""
|
39
|
+
@staticmethod
|
40
|
+
def EGM96(degree: ostk.core.type.Integer = ..., order: ostk.core.type.Integer = ...) -> Earth:
|
41
|
+
"""
|
42
|
+
Earth Gravity Model 1996 (EGM96).
|
43
|
+
|
44
|
+
Args:
|
45
|
+
degree (int): Degree.
|
46
|
+
order (int): Order.
|
47
|
+
|
48
|
+
Returns:
|
49
|
+
Earth: Earth.
|
50
|
+
"""
|
51
|
+
@staticmethod
|
52
|
+
def WGS84(degree: ostk.core.type.Integer = ..., order: ostk.core.type.Integer = ...) -> Earth:
|
53
|
+
"""
|
54
|
+
World Geodetic System 1984 (WGS84).
|
55
|
+
|
56
|
+
Args:
|
57
|
+
degree (int): Degree.
|
58
|
+
order (int): Order.
|
59
|
+
|
60
|
+
Returns:
|
61
|
+
Earth: Earth.
|
62
|
+
"""
|
63
|
+
@staticmethod
|
64
|
+
def WGS84_EGM96(degree: ostk.core.type.Integer = ..., order: ostk.core.type.Integer = ...) -> Earth:
|
65
|
+
"""
|
66
|
+
World Geodetic System 1984 (WGS84) + Earth Gravity Model 1996 (EGM96).
|
67
|
+
|
68
|
+
EGM96 coefficients and WGS84 shape.
|
69
|
+
Gravitational parameter: 398600441800000 [m^3/s^2].
|
70
|
+
Equatorial radius: 6378137.0 [m].
|
71
|
+
|
72
|
+
Args:
|
73
|
+
degree (int): Degree.
|
74
|
+
order (int): Order.
|
75
|
+
|
76
|
+
Returns:
|
77
|
+
Earth: Earth.
|
78
|
+
"""
|
79
|
+
@staticmethod
|
80
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
81
|
+
...
|
82
|
+
@staticmethod
|
83
|
+
def atmospheric_only(atmospheric_model: ...) -> Earth:
|
84
|
+
"""
|
85
|
+
Just atmospheric model.
|
86
|
+
|
87
|
+
Args:
|
88
|
+
atmospheric_model (EarthAtmosphericModel): Atmospheric model.
|
89
|
+
|
90
|
+
Returns:
|
91
|
+
Earth: Earth.
|
92
|
+
"""
|
93
|
+
@staticmethod
|
94
|
+
def default() -> Earth:
|
95
|
+
"""
|
96
|
+
Default Earth model (EGM2008).
|
97
|
+
|
98
|
+
Returns:
|
99
|
+
Earth: Earth
|
100
|
+
"""
|
101
|
+
@staticmethod
|
102
|
+
def from_models(gravity_model: ..., magnetic_model: ..., atmospheric_model: ...) -> Earth:
|
103
|
+
"""
|
104
|
+
Create earth from specified models.
|
105
|
+
|
106
|
+
Args:
|
107
|
+
gravity_model (EarthGravitationalModel): Gravitational model.
|
108
|
+
magnetic_model (EarthMagneticModel): Magnetic model.
|
109
|
+
atmospheric_model (EarthAtmosphericModel): Atmospheric model.
|
110
|
+
|
111
|
+
Returns:
|
112
|
+
Earth: Earth.
|
113
|
+
"""
|
114
|
+
@staticmethod
|
115
|
+
def gravitational_only(gravity_model: ...) -> Earth:
|
116
|
+
"""
|
117
|
+
Just gravity model.
|
118
|
+
|
119
|
+
Args:
|
120
|
+
gravity_model (EarthGravitationalModel): Gravitational model.
|
121
|
+
|
122
|
+
Returns:
|
123
|
+
Earth: Earth.
|
124
|
+
"""
|
125
|
+
@staticmethod
|
126
|
+
def magnetic_only(magnetic_model: ...) -> Earth:
|
127
|
+
"""
|
128
|
+
Just magnetic model.
|
129
|
+
|
130
|
+
Args:
|
131
|
+
magnetic_model (EarthMagneticModel): Magnetic model.
|
132
|
+
|
133
|
+
Returns:
|
134
|
+
Earth: Earth.
|
135
|
+
"""
|
136
|
+
@staticmethod
|
137
|
+
def spherical() -> Earth:
|
138
|
+
"""
|
139
|
+
Spherical model.
|
140
|
+
|
141
|
+
Returns:
|
142
|
+
Earth: Earth.
|
143
|
+
"""
|
144
|
+
@typing.overload
|
145
|
+
def __init__(self, gravitational_parameter: ostk.physics.unit.Derived, equatorial_radius: ostk.physics.unit.Length, flattening: ostk.core.type.Real, J2_parameter_value: ostk.core.type.Real, J4_parameter_value: ostk.core.type.Real, ephemeris: ..., gravitational_model: ..., magnetic_model: ..., atmospheric_model: ...) -> None:
|
146
|
+
"""
|
147
|
+
Constructor
|
148
|
+
|
149
|
+
Args:
|
150
|
+
gravitational_parameter (Derived): Gravitational parameter [m³/s²].
|
151
|
+
equatorial_radius (Length): Equatorial radius [m].
|
152
|
+
flattening (Real): Flattening.
|
153
|
+
J2_parameter_value (Real): J2 parameter value.
|
154
|
+
J4_parameter_value (Real): J4 parameter value.
|
155
|
+
ephemeris (Ephemeris): Ephemeris.
|
156
|
+
gravitational_model (EarthGravitationalModel): Gravitational model.
|
157
|
+
magnetic_model (EarthMagneticModel): Magnetic model.
|
158
|
+
atmospheric_model (EarthAtmosphericModel): Atmospheric model.
|
159
|
+
"""
|
160
|
+
@typing.overload
|
161
|
+
def __init__(self, ephemeris: ..., gravitational_model: ... = None, magnetic_model: ... = None, atmospheric_model: ... = None) -> None:
|
162
|
+
"""
|
163
|
+
Constructor
|
164
|
+
|
165
|
+
Args:
|
166
|
+
ephemeris (Ephemeris): Ephemeris.
|
167
|
+
gravitational_model (EarthGravitationalModel): Gravitational model. Defaults to None.
|
168
|
+
magnetic_model (EarthMagneticModel): Magnetic model. Defaults to None.
|
169
|
+
atmospheric_model (EarthAtmosphericModel): Atmospheric model. Defaults to None.
|
170
|
+
"""
|
171
|
+
def __repr__(self) -> str:
|
172
|
+
...
|
173
|
+
def __str__(self) -> str:
|
174
|
+
...
|
175
|
+
class Moon(ostk.physics.environment.object.Celestial):
|
176
|
+
"""
|
177
|
+
|
178
|
+
Moon.
|
179
|
+
|
180
|
+
"""
|
181
|
+
@staticmethod
|
182
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
183
|
+
...
|
184
|
+
@staticmethod
|
185
|
+
def default() -> Moon:
|
186
|
+
"""
|
187
|
+
Create a default Moon.
|
188
|
+
|
189
|
+
Returns:
|
190
|
+
Moon: Default Moon.
|
191
|
+
"""
|
192
|
+
@staticmethod
|
193
|
+
def spherical() -> Moon:
|
194
|
+
"""
|
195
|
+
Spherical model.
|
196
|
+
|
197
|
+
Returns:
|
198
|
+
Moon: Moon.
|
199
|
+
"""
|
200
|
+
def __init__(self, ephemeris: ..., gravitational_model: ...) -> None:
|
201
|
+
"""
|
202
|
+
Constructor.
|
203
|
+
|
204
|
+
Args:
|
205
|
+
ephemeris (Ephemeris): Ephemeris.
|
206
|
+
gravitational_model (MoonGravitationalModel): Gravitational model.
|
207
|
+
"""
|
208
|
+
def __repr__(self) -> str:
|
209
|
+
...
|
210
|
+
def __str__(self) -> str:
|
211
|
+
...
|
212
|
+
class Sun(ostk.physics.environment.object.Celestial):
|
213
|
+
"""
|
214
|
+
|
215
|
+
Sun.
|
216
|
+
|
217
|
+
"""
|
218
|
+
@staticmethod
|
219
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
220
|
+
...
|
221
|
+
@staticmethod
|
222
|
+
def default() -> Sun:
|
223
|
+
"""
|
224
|
+
Create a default Sun.
|
225
|
+
|
226
|
+
Returns:
|
227
|
+
Sun: Default Sun.
|
228
|
+
"""
|
229
|
+
@staticmethod
|
230
|
+
def spherical() -> Sun:
|
231
|
+
"""
|
232
|
+
Spherical model.
|
233
|
+
|
234
|
+
Returns:
|
235
|
+
Sun: Sun.
|
236
|
+
"""
|
237
|
+
def __init__(self, ephemeris: ..., gravitational_model: ...) -> None:
|
238
|
+
"""
|
239
|
+
Constructor.
|
240
|
+
|
241
|
+
Args:
|
242
|
+
ephemeris (Ephemeris): Ephemeris.
|
243
|
+
gravitational_model (SunGravitationalModel): Gravitational model.
|
244
|
+
"""
|
245
|
+
def __repr__(self) -> str:
|
246
|
+
...
|
247
|
+
def __str__(self) -> str:
|
248
|
+
...
|
Binary file
|
ostk/physics/py.typed
ADDED
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
# Apache License 2.0
|
@@ -0,0 +1 @@
|
|
1
|
+
# Apache License 2.0
|
@@ -0,0 +1 @@
|
|
1
|
+
# Apache License 2.0
|
@@ -0,0 +1 @@
|
|
1
|
+
# Apache License 2.0
|
@@ -0,0 +1 @@
|
|
1
|
+
# Apache License 2.0
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Apache License 2.0
|
2
|
+
|
3
|
+
import pytest
|
4
|
+
|
5
|
+
import pathlib
|
6
|
+
|
7
|
+
from ostk.core.filesystem import Path
|
8
|
+
from ostk.core.filesystem import File
|
9
|
+
|
10
|
+
import ostk.physics as physics
|
11
|
+
|
12
|
+
BulletinA = physics.coordinate.frame.provider.iers.BulletinA
|
13
|
+
Finals2000A = physics.coordinate.frame.provider.iers.Finals2000A
|
14
|
+
|
15
|
+
|
16
|
+
@pytest.fixture
|
17
|
+
def data_directory_path() -> str:
|
18
|
+
return f"{pathlib.Path(__file__).parent.absolute()}/data"
|
19
|
+
|
20
|
+
|
21
|
+
@pytest.fixture
|
22
|
+
def bulletin_a_file(data_directory_path: str) -> File:
|
23
|
+
return File.path(Path.parse(f"{data_directory_path}/ser7.dat"))
|
24
|
+
|
25
|
+
|
26
|
+
@pytest.fixture
|
27
|
+
def bulletin_a(bulletin_a_file: File) -> BulletinA:
|
28
|
+
return BulletinA.load(bulletin_a_file)
|
29
|
+
|
30
|
+
|
31
|
+
@pytest.fixture
|
32
|
+
def finals_2000a_file(data_directory_path: str) -> File:
|
33
|
+
return File.path(Path.parse(f"{data_directory_path}/finals2000A.data"))
|
34
|
+
|
35
|
+
|
36
|
+
@pytest.fixture
|
37
|
+
def finals_2000a(finals_2000a_file: File) -> Finals2000A:
|
38
|
+
return Finals2000A.load(finals_2000a_file)
|