Welcome to cavsiopy’s documentation!
‘cavsiopy’ is an open source Python package, which was specifically developed to determine the look direction of the The Radio Receiver Instrument (RRI) on e-POP/ CASSIOPE/ Swarm-E for HF radio wave propagation studies, but can be applied to any satellite mission requiring accurate pointing information. Given the spacecraft position, the roll, yaw, and pitch angles, the body vector of the instrument, and a target location, the pointing direction and orientation of the instrument onboard the spacecraft with respect to the target can be determined in various reference frames. ‘cavsiopy’ supports the reference frames: Geocentric Equatorial Inertial J2000 (GEI J2K), Earth Centred Earth Fixed (ECEF), International Terrestrial Reference Frame (ITRF), geodetic North-East-Down, and geocentric North-East-Center.
cavsiopy contains routines for
Rotating the look direction of an instrument on-board the spacecraft in orbital frame
Calculation of the look angles of the spacecraft (elevation and azimuth)
Calculation of the look angles of the instrument (elevation and azimuth)
Calculation of the distance between the spacecraft and a designated point on the ground
Calculation of the line-of-sight direction vector from the target to the spacecraft location
Transformations between GEI J2K, ECEF, NED, NEC, ICRF, ITRF reference frames
Visualization of spacecraft and instrument direction in 2D and 3D (simple or overlaid on geographical regions of the Earth below the satellite trajectory)
Rotation matrices for rotations by x, y, z axes
Citation
If you use any of the cavsiopy functions/modules/plots please cite the software using DOI: https://doi.org/10.5281/zenodo.8361256
Version 1.2.1 Release Highlights
East-North-Up: enu and Easth-North-Center(up): enc_u have been added to the returns of find_attitude function.
utils.py added to find the location of coefficient files for pysofa, and removed the declaration of coefficient files for pysofa for the find_attitude function.
Eclipse parameter can now be imported using ephemeris_importer.cas_ephemeris function from the CAS_ephemeris data files.
Example python codes have been updated accordingly.
Citation information has been added to __init__.py.
Package dependencies have been corrected for the conda installable.
Requirements.txt file has been updated.
Version 1.1.1
‘attitude_3d_ground_quiver’ has been enhanced to display a line connecting the subsatellite point with the ground target on the ground map.
In ‘rri_example.py’ ‘rotate_rri’ function is renamed as ‘rotate_inst.’
name changes for several functions in auxiliarypreliminary_data_analysis.py module : plot_data_validity, import_quaternions.
Version 1.1.0: ‘pysofa2’ Integration
In previous versions, cavsiopy used the ‘pysofa’ package developed by Frederic Grollier in 2010.
Starting from version 1.1.0, we have transitioned to using ‘pysofa2.’
To address missing functions in ‘pysofa2,’ we introduced ‘complement_missing_sofa.py,’ which utilizes the SOFA C Library compiled by ‘pysofa2.’