Radarspec¶
This module contains the satellite class and functions to calculate the along-track and along-range averaging parameters. Main methode and definitions based on Lamer et al (2020) and Schirmacher et al. (2023).
Two pre-defined satellites are available: EarthCARE and CloudSat.
EarthCARE
frequency: Kollias et al. (2014), Table 1
velocity: Kollias et al. (2014), Eq 4
antenna diameter: Kollias et al. (2014), Table 1
altitude: Kollias et al. (2014), Table 1
pulse length: Kollias et al. (2014), Table 1
along track resolution: Kollias et al. (2014), Table 1
range resolution: Kollias et al. (2014), Table 1
ifov_factor: Kollias et al. (2022), Table 1
ifov_scale: based on Tanelli et al. (2008) and as long nothing is reported it is 1 s
detection limit: Kollias et al. (2014), Table 1
pules repetition frequency (PRF): Kollias et al. (2022), Table 1
noise_ze: Kollias et al. (2014), Table 1
ze_bins: Hogan et al. (2005),
ze_std: Hogan et al. (2005),
ze_std_background:
vm_bins_broad: Kollias et al. (2022), Figure 7
vm_std_broad: Kollias et al. (2022), Figure 7
vm_std_broad_background: Kollias et al. (2022)
CloudSat
frequency: Kollias et al. (2014), Table 1
velocity: Kollias et al. (2014), Eq 4
antenna diameter: Kollias et al. (2014), Table 1
altitude: Kollias et al. (2014), Table 1
pulse length: Kollias et al. (2014), Table 1
along track resolution: Kollias et al. (2014), Table 1
range resolution: Kollias et al. (2014), Table 1
ifov_factor: Kollias et al. (2022), Table 1 for the Arctic Schirmacher et al. (2023)
ifov_scale: Tanelli et al. (2008), “integration accurecy of the pulse is 0.968 s”
detection limit: Kollias et al. (2014), Table 1
pules repetition frequency (PRF): Kollias et al. (2014, 2022), Table 1
noise_ze:
ze_bins: Hogan et al. (2005),
ze_std: Hogan et al. (2005),
ze_std_background:
vm_bins_broad: not used
vm_std_broad: not used
vm_std_broad_background: not used
References¶
Hogan et al. (2005) : https://doi.org/10.1175/JTECH1768.1 Kollias et al. (2014) : https://doi.org/10.1175/JTECH-D-11-00202.1 Kollias et al. (2022) : https://doi.org/10.3389/frsen.2022.860284 Lamer et al. (2020) : https://doi.org/10.5194/amt-13-2363-2020 Schirmacher et al. (2023) : https://doi.org/10.5194/egusphere-2023-636 Tanelli et al. (2008) : https://doi.org/10.1109/TGRS.2008.2002030
- class orbital_radar.radarspec.RadarBeam(file_earthcare=None, sat_name=None, nyquist_from_prf=False, **sat_params)[source]¶
This class manages the satellite specifications from pre-defined or user- specified space-borne radars. It also contains transformation functions for along-track and along-range averaging.
- Attributes:
params
Prints a summary of the satellite parameters
Methods
calculate_along_range
(range_coords)Calculates along-range averaging parameters.
calculate_along_track
(along_track_coords)Calculates along-track averaging parameters.
Calculates the instantaneous field of view (IFOV) from the along-track averaging parameters.
Calculates the Nyquist velocity from the pulse repetition frequency and the radar wavelength.
Calculates the velocity error due to satellite velocity.
Calculates the radar wavelength from the radar frequency.
Calculates the along-track and along-range weighting functions.
create_along_range_grid
(range_coords)Creates range grid at which range weighting function is evaluated.
create_along_track_grid
(along_track_coords)Creates the along-track grid.
Defines the range weighting function for the along-range averaging.
Prepares EarthCARE range weighting function for along-range averaging.
- calculate_along_range(range_coords)[source]¶
Calculates along-range averaging parameters.
- Parameters:
- range_coordsarray
range coordinates of the ground-based radar [m]
- calculate_along_track(along_track_coords)[source]¶
Calculates along-track averaging parameters.
- Parameters:
- along_track_coordsarray
along-track coordinates of the ground-based radar [m]
- calculate_ifov()[source]¶
Calculates the instantaneous field of view (IFOV) from the along-track averaging parameters.
- calculate_nyquist_velocity()[source]¶
Calculates the Nyquist velocity from the pulse repetition frequency and the radar wavelength.
- calculate_weighting_functions(along_track_coords, range_coords)[source]¶
Calculates the along-track and along-range weighting functions.
- Parameters:
- along_track_coordsarray
along-track coordinates of the ground-based radar [m]
- range_coordsarray
range coordinates of the ground-based radar [m]
- create_along_range_grid(range_coords)[source]¶
Creates range grid at which range weighting function is evaluated.
The range grid is defined from -pulse_length to pulse_length. The spacing is defined by the range resolution of the ground-based radar.
If the range grid is not equidistant, the range weighting function cannot be calculated.
- Parameters:
- range_coordsarray
range coordinates of the ground-based radar [m]
- create_along_track_grid(along_track_coords)[source]¶
Creates the along-track grid.
The along-track grid is defined from -ifov/2 to ifov/2. The spacing is defined by the along-track resolution. The outermost along-track bins relative to the line of size always lie within the IFOV.
If the along-track grid is not equidistant, the along-track weighting function cannot be calculated.
- Parameters:
- along_track_coordsarray
along-track coordinates of the ground-based radar [m]
- static normalized_range_weighting_function_default(pulse_length, range_bins)[source]¶
Defines the range weighting function for the along-range averaging.
- normalized_range_weighting_function_earthcare()[source]¶
Prepares EarthCARE range weighting function for along-range averaging.
The high-resolution weighting function is interpolated to the range resolution of the ground-based radar.
- Returns:
- range_weightsarray
normalized range weighting function
- property params¶
Prints a summary of the satellite parameters
- class orbital_radar.radarspec.RadarSpec(name: str, frequency: float, velocity: int, antenna_diameter: float, altitude: int, pulse_length: int, along_track_resolution: int, range_resolution: int, ifov_factor: float, ifov_scale: float, detection_limit: float, noise_ze: float, ze_bins: Union[List[float], ndarray], ze_std: Union[List[float], ndarray], ze_std_background: float, vm_bins_broad: Union[List[float], ndarray], vm_std_broad: Union[List[float], ndarray], vm_std_broad_background: float, nyquist_velocity: float = nan, pulse_repetition_frequency: float = nan)[source]¶
This class contains the satellite parameters.