AUX_RRC_1B

AUX_RRC_1B

Abstract: Access to auxiliary RRC product

%load_ext watermark
%watermark -i -v -p viresclient,pandas,xarray,matplotlib
Python implementation: CPython
Python version       : 3.9.7
IPython version      : 8.0.1

viresclient: 0.11.0
pandas     : 1.4.1
xarray     : 0.21.1
matplotlib : 3.5.1
from viresclient import AeolusRequest
import datetime as dt
import matplotlib.pyplot as plt

request = AeolusRequest()

Product information

Description of product.

Documentation:

request.set_collection('AUX_RRC_1B')

request.set_fields(fields=[
    "altitude",
    "satellite_range",
    "normalised_useful_signal",
    "lat_of_DEM_intersection",
    "lon_of_DEM_intersection",
    "time_freq_step",
    "frequency_offset",
    "frequency_valid",
    "ground_frequency_valid",
    "measurement_response",
    "measurement_response_valid",
    "measurement_error_rayleigh_response",
    "reference_pulse_response",
    "reference_pulse_response_valid",
    "reference_pulse_error_rayleigh_response",
    "ground_measurement_response",
    "ground_measurement_response_valid",
    "ground_measurement_error_rayleigh_response",
    "num_measurements_usable",
    "num_valid_measurements",
    "num_reference_pulses_usable",
    "num_measurements_valid_ground",
    "measurement_mean_sensitivity",
    "measurement_zero_frequency",
    "measurement_error_rayleigh_response_std_dev",
    "measurement_offset_frequency",
    "measurement_error_fit_coefficient",
    "reference_pulse_mean_sensitivity",
    "reference_pulse_zero_frequency",
    "reference_pulse_error_rayleigh_response_std_dev",
    "reference_pulse_offset_frequency",
    "reference_pulse_error_fit_coefficient",
    "ground_measurement_mean_sensitivity",
    "ground_measurement_zero_frequency",
    "ground_measurement_error_rayleigh_response_std_dev",
    "ground_measurement_offset_frequency",
    "ground_measurement_error_fit_coefficient",
    "satisfied_min_valid_freq_steps_per_cal",
    "satisfied_min_valid_ground_freq_steps_per_cal",
    "freq_offset_data_monotonic",
    "num_of_valid_frequency_steps",
    "num_of_valid_ground_frequency_steps",
    "measurement_mean_sensitivity_valid",
    "measurement_error_response_std_dev_valid",
    "measurement_zero_frequency_response_valid",
    "measurement_data_monotonic",
    "reference_pulse_mean_sensitivity_valid",
    "reference_pulse_error_response_std_dev_valid",
    "reference_pulse_zero_frequency_response_valid",
    "reference_pulse_data_monotonic",
    "ground_measurement_mean_sensitivity_valid",
    "ground_measurement_error_response_std_dev_valid",
    "ground_measurement_zero_frequency_response_valid",
    "ground_measurement_data_monotonic",
    "rayleigh_spectrometer_temperature_9",
    "rayleigh_spectrometer_temperature_10",
    "rayleigh_spectrometer_temperature_11",
    "rayleigh_thermal_hood_temperature_1",
    "rayleigh_thermal_hood_temperature_2",
    "rayleigh_thermal_hood_temperature_3",
    "rayleigh_thermal_hood_temperature_4",
    "rayleigh_optical_baseplate_avg_temperature"
])

data = request.get_between(
    start_time="2020-02-24T18:15:22Z",
    end_time="2020-02-24T18:29:46Z",
    filetype="nc",
    asynchronous=False
)

ds = data.as_xarray()
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (20,30)

pars = [
    "rayleigh_spectrometer_temperature_9",
    "rayleigh_spectrometer_temperature_10",
    "rayleigh_spectrometer_temperature_11",
    "rayleigh_thermal_hood_temperature_1",
    "rayleigh_thermal_hood_temperature_2",
    "rayleigh_thermal_hood_temperature_3",
    "rayleigh_thermal_hood_temperature_4",
    "rayleigh_optical_baseplate_avg_temperature"
]
fig, axs = plt.subplots(len(pars))

for idx, p in enumerate(pars):
    print(axs[idx])
    axs[idx].plot(
        ds.frequency_offset.values,
        ds[p].values,
        label=""
    )
    axs[idx].scatter(
        ds.frequency_offset.values,
        ds[p].values
    )
    axs[idx].set_title(p)
    
AxesSubplot(0.125,0.799681;0.775x0.0803191)
AxesSubplot(0.125,0.703298;0.775x0.0803191)
AxesSubplot(0.125,0.606915;0.775x0.0803191)
AxesSubplot(0.125,0.510532;0.775x0.0803191)
AxesSubplot(0.125,0.414149;0.775x0.0803191)
AxesSubplot(0.125,0.317766;0.775x0.0803191)
AxesSubplot(0.125,0.221383;0.775x0.0803191)
AxesSubplot(0.125,0.125;0.775x0.0803191)
../_images/04b1_Demo-AUX_RRC_1B_5_1.png
    
    
pars = [
    "lat_of_DEM_intersection",
    "lon_of_DEM_intersection",
    "measurement_response",
    "measurement_error_rayleigh_response",
    "reference_pulse_response",
    "reference_pulse_error_rayleigh_response",
    "ground_measurement_response",
    "ground_measurement_response_valid",
    "ground_measurement_error_rayleigh_response",
    "num_measurements_valid_ground",
]
fig, axs = plt.subplots(len(pars))

for idx, p in enumerate(pars):
    print(axs[idx])
    axs[idx].plot(
        ds.frequency_offset.values,
        ds[p].values
    )
    axs[idx].scatter(
        ds.frequency_offset.values,
        ds[p].values
    )
    axs[idx].set_title(p)
AxesSubplot(0.125,0.816017;0.775x0.0639831)
AxesSubplot(0.125,0.739237;0.775x0.0639831)
AxesSubplot(0.125,0.662458;0.775x0.0639831)
AxesSubplot(0.125,0.585678;0.775x0.0639831)
AxesSubplot(0.125,0.508898;0.775x0.0639831)
AxesSubplot(0.125,0.432119;0.775x0.0639831)
AxesSubplot(0.125,0.355339;0.775x0.0639831)
AxesSubplot(0.125,0.278559;0.775x0.0639831)
AxesSubplot(0.125,0.20178;0.775x0.0639831)
AxesSubplot(0.125,0.125;0.775x0.0639831)
../_images/04b1_Demo-AUX_RRC_1B_6_1.png