pysiral.cryosat2.l1_adapter

Classes

ESACryoSat2PDSBaselineD

Base class (mostly for type checking).

ESACryoSat2PDSBaselineDPatchFES

Base class (mostly for type checking).

ESACryoSat2PDSBaselineDPatchFES2022

Base class (mostly for type checking).

ESACryoSat2PDSBaselineDPatchFESArctide

Base class (mostly for type checking).

ESACryoSat2PDSBaselineDPatchFESArctideDiscrim

Base class (mostly for type checking).

Module Contents

class pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineD(cfg, raise_on_error=False)

Bases: pysiral.l1preproc.Level1PInputHandlerBase

Base class (mostly for type checking).

nc = None
filepath = None
l1 = None
static translate_opmode2radar_mode(op_mode)

Converts the ESA operation mode str in the pysiral compliant version

get_l1(filepath, polar_ocean_check=None)

Main entry point to the CryoSat-2 Baseline-D Input Adapter :param filepath: :param polar_ocean_check: :return:

static get_wfm_range(window_delay, n_range_bins)

Returns the range for each waveform bin based on the window delay and the number of range bins :param window_delay: The two-way delay to the center of the range window in seconds :param n_range_bins: The number of range bins (256: sar, 512: sin) :return: The range for each waveform bin as array (time, ns)

static interp_1hz_to_20hz(variable_1hz, time_1hz, time_20hz, **kwargs)

Computes a simple linear interpolation to transform a 1Hz into a 20Hz variable :param variable_1hz: an 1Hz variable array :param time_1hz: 1Hz reference time :param time_20hz: 20 Hz reference time :return: the interpolated 20Hz variable

_read_input_netcdf(filepath, **kwargs)

Read the netCDF file via xarray

_set_input_file_metadata()

Fill the product info

_set_l1_data_groups()

Fill all data groups of the Level-1 data object with the content of the netCDF file. This is just the overview method, see specific sub-methods below :return: None

_set_time_orbit_data_group()

Transfer the time orbit parameter from the netcdf to l1 data object :return: None

_set_waveform_data_group()
Transfer of the waveform group to the Level-1 object. This includes
  1. the computation of waveform power in Watts

  2. the computation of the window delay in meter for each waveform bin

  3. extraction of the waveform valid flag

Returns:

None

_set_range_correction_group()

Transfer the range corrections defined in the l1p config file to the Level-1 object NOTE: The range corrections are all in 1 Hz and must be interpolated to 20Hz :return: None

_set_surface_type_group()

Transfer of the surface type flag to the Level-1 object NOTE: In the current state (TEST dataset), the surface type flag is only 1 Hz. A nearest neighbour

interpolation is used to get the 20Hz surface type flag.

Returns:

None

_set_classifier_group()

Transfer the classifiers defined in the l1p config file to the Level-1 object. NOTE: It is assumed that all classifiers are 20Hz

In addition, a few legacy parameter are computed based on the waveform counts that is only available at this stage. Computation of other parameter such as sigma_0, leading_edge_width, … are moved to the post-processing

Returns:

None

property empty
class pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFES(cfg, raise_on_error=False)

Bases: ESACryoSat2PDSBaselineD

Base class (mostly for type checking).

_set_l1_data_groups()

Fill all data groups of the Level-1 data object with the content of the netCDF file. This is just the overview method, see specific sub-methods below :return: None

_get_fes_path(filepath)
class pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFES2022(cfg, raise_on_error=False)

Bases: ESACryoSat2PDSBaselineD

Base class (mostly for type checking).

_set_l1_data_groups()

Fill all data groups of the Level-1 data object with the content of the netCDF file. This is just the overview method, see specific sub-methods below :return: None

_get_fes_path(filepath)
class pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFESArctide(cfg, raise_on_error=False)

Bases: ESACryoSat2PDSBaselineDPatchFES

Base class (mostly for type checking).

_set_l1_data_groups()

Fill all data groups of the Level-1 data object with the content of the netCDF file. This is just the overview method, see specific sub-methods below :return: None

_get_arctide_path(filepath)
class pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFESArctideDiscrim(cfg, raise_on_error=False)

Bases: ESACryoSat2PDSBaselineDPatchFESArctide

Base class (mostly for type checking).

_set_l1_data_groups()

Fill all data groups of the Level-1 data object with the content of the netCDF file. This is just the overview method, see specific sub-methods below :return: None

_get_disc_path(filepath)