rss_ringoccs.occgeo.occgeo module

Purpose:

Calculate occultation geometry for RSS ring events.

Notes:
  1. kernels list must include:
    1. spacecraft ephemeris kernel
    2. planetary constants kernel
    3. leapseconds kernel
    4. planet and lunar ephemeris kernel
    5. earth stations kernel
    6. earth rotation and constants kernel
    7. topocentric frame kernel
Dependencies:
  1. scipy
  2. numpy
  3. spiceypy
class rss_ringoccs.occgeo.occgeo.Geometry(rsr_inst, planet, spacecraft, kernels, pt_per_sec=1.0, ref='J2000', ring_frame=None, nhat_p=None, verbose=False, write_file=True)

Bases: object

Purpose:This is an object that calculates occultation geometry needed for diffraction reconstruction as well as other relevant geometry parameters.
Arguments
rsr_inst (class):
 Instance of RSRReader class.
kernels (str or list):
 List of NAIF kernels, including path.
planet (str):Planet name
spacecraft (str):
 Spacecraft name
Keyword Arguments
pt_per_sec (float):
 Number of points calculated per second for all geometry calculations.
verbose (bool):Boolean for whether processing steps are printed.
write_file (bool):
 Boolean for whether output *GEO.TAB and *GEO.LBL files will be created.
ref (str):Reference frame to be used in spiceypy calls. Default is ‘J2000’
ring_frame (str):
 Ring plane frame. Default is the equatorial frame, (e.g. ‘IAU_SATURN’)
nhat_p (list):Unit vector in pole direction, in rectangular coordinates. If None, it will be calculated using contents of the planetary constants kernel.
Attributes
t_oet_spm_vals (np.ndarray):
 Observed event time in seconds past midnight.
t_ret_spm_vals (np.ndarray):
 Ring event time in seconds past midnight.
t_set_spm_vals (np.ndarray):
 Spacecraft event time in seconds past midnight.
rho_km_vals (np.ndarray):
 Distance in km from the center of Saturn to ring intercept point.
phi_rl_deg_vals (np.ndarray):
 Ring longitude (inertial longitude) in degrees.
phi_ora_deg_vals (np.ndarray):
 Observed ring azimuth in degrees.
D_km_vals (np.ndarray):
 Spacecraft to ring intercept point distance in km.
B_deg_vals (np.ndarray):
 Ring opening angle in degrees.
rho_dot_kms_vals (np.ndarray):
 Ring intercept radial velocity in km/s.
phi_rl_dot_kms_vals (np.ndarray):
 Ring intercept azimuthal velocity in km/s.
F_km_vals (np.ndarray):
 Fresnel scale in km.
R_imp_km_vals (np.ndarray):
 Impact radius in km.
rx_km_vals (np.ndarray):
 x-component of spacecraft position in a planetocentric frame, in km.
ry_km_vals (np.ndarray):
 y-component of spacecraft position in a planetocentric frame, in km.
rz_km_vals (np.ndarray):
 z-component of spacecraft position in a planetocentric frame, in km.
vx_kms_vals (np.ndarray):
 x-component of spacecraft velocity in a planetocentric frame, in km/s.
vy_kms_vals (np.ndarray):
 y-component of spacecraft velocity in a planetocentric frame, in km/s
vz_kms_vals (np.ndarray):
 z-component of spacecraft velocity in a planetocentric frame, in km/s
elev_deg_vals (np.ndarray):
 Elevation angle in degrees.
kernels (str or list):
 List of NAIF kernels, including path.
rev_info (dict):
 RSR file specific info
history (dict):Dictionary of processing history.
naif_toolkit_version (str):
 NAIF toolkit version used (e.g., “V.N0066”).
B_eff_deg_vals (np.ndarray):
 Effective ring opening angle in deg.
beta_vals (np.ndarray):
 Optical depth enhancement factor.
ionos_occ_spm_vals (np.ndarray):
 Array of seconds past midnight when the signal is occulted by the planet ionosphere, defined as 5000km above an ellipsoid with radii from cpck file.
atmos_occ_spm_vals (np.ndarray):
 Array of seconds past midnight when the signal is occulted by the planet atmosphere, defined as 500km above an ellipsoid with radii from cpck file.
freespace_spm (list):
 List of 2x1 lists of seconds past midnight values that define the inner and outer edge of a free-space gap in the ring system
freespace_km (np.ndarray):
 Array of 2x1 lists of km values that define the inner and outer edge of a free-space gap in the ring system
ul_rho_km_vals (np.ndarray):
 Uplink ring intercept points. This is only calculated for events after USO failure (after year 2010)
ul_phi_rl_deg_vals (np.ndarray):
 Ring longitude of the uplink ring intercept point. This is only calculated for events after USO failure (after year 2010)
ul_phi_ora_deg_vals (np.ndarray):
 Observed ring azimuth of the uplink ring intercept point. This is only calculated for events after USO failure (after year 2010)
add_info (dict):
 Additional information about changes to the data (e.g., removing points blocked by atmosphere, removing false ring intercept points from proximal orbits, etc.)
get_chord_ind()

Return index of where radial velocity sign change occurs in a chord occultation.

Returns
ind (int):Index of where chord occultation goes from ‘“INGRESS”’ to ‘“EGRESS”’ or vice versa.
get_profile_dir()

Return observed profile direction.

Returns
prof_dir (str):Profile direction as ‘“INGRESS”’, ‘“EGRESS”’, or ‘“BOTH”’.
verify_chord()

Verify that an occultation with an increasing and decreasing radial velocity is actually a chord occultation.

Returns
prof_dir (str):Profile direction as ‘“INGRESS”’, ‘“EGRESS”’, or ‘“BOTH”’.