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.

calculate_ifov()

Calculates the instantaneous field of view (IFOV) from the along-track averaging parameters.

calculate_nyquist_velocity()

Calculates the Nyquist velocity from the pulse repetition frequency and the radar wavelength.

calculate_velocity_error()

Calculates the velocity error due to satellite velocity.

calculate_wavelength()

Calculates the radar wavelength from the radar frequency.

calculate_weighting_functions(...)

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.

normalized_range_weighting_function_default(...)

Defines the range weighting function for the along-range averaging.

normalized_range_weighting_function_earthcare()

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_velocity_error()[source]

Calculates the velocity error due to satellite velocity.

calculate_wavelength()[source]

Calculates the radar wavelength from the radar frequency.

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.