pysiral.cryosat2.l1_adapter =========================== .. py:module:: pysiral.cryosat2.l1_adapter Classes ------- .. autoapisummary:: pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineD pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFES pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFES2022 pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFESArctide pysiral.cryosat2.l1_adapter.ESACryoSat2PDSBaselineDPatchFESArctideDiscrim Module Contents --------------- .. py:class:: ESACryoSat2PDSBaselineD(cfg, raise_on_error=False) Bases: :py:obj:`pysiral.l1preproc.Level1PInputHandlerBase` Base class (mostly for type checking). .. py:attribute:: nc :value: None .. py:attribute:: filepath :value: None .. py:attribute:: l1 :value: None .. py:method:: translate_opmode2radar_mode(op_mode) :staticmethod: Converts the ESA operation mode str in the pysiral compliant version .. py:method:: 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: .. py:method:: get_wfm_range(window_delay, n_range_bins) :staticmethod: 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) .. py:method:: interp_1hz_to_20hz(variable_1hz, time_1hz, time_20hz, **kwargs) :staticmethod: 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 .. py:method:: _read_input_netcdf(filepath, **kwargs) Read the netCDF file via xarray .. py:method:: _set_input_file_metadata() Fill the product info .. py:method:: _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 .. py:method:: _set_time_orbit_data_group() Transfer the time orbit parameter from the netcdf to l1 data object :return: None .. py:method:: _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 :return: None .. py:method:: _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 .. py:method:: _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. :return: None .. py:method:: _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 :return: None .. py:property:: empty .. py:class:: ESACryoSat2PDSBaselineDPatchFES(cfg, raise_on_error=False) Bases: :py:obj:`ESACryoSat2PDSBaselineD` Base class (mostly for type checking). .. py:method:: _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 .. py:method:: _get_fes_path(filepath) .. py:class:: ESACryoSat2PDSBaselineDPatchFES2022(cfg, raise_on_error=False) Bases: :py:obj:`ESACryoSat2PDSBaselineD` Base class (mostly for type checking). .. py:method:: _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 .. py:method:: _get_fes_path(filepath) .. py:class:: ESACryoSat2PDSBaselineDPatchFESArctide(cfg, raise_on_error=False) Bases: :py:obj:`ESACryoSat2PDSBaselineDPatchFES` Base class (mostly for type checking). .. py:method:: _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 .. py:method:: _get_arctide_path(filepath) .. py:class:: ESACryoSat2PDSBaselineDPatchFESArctideDiscrim(cfg, raise_on_error=False) Bases: :py:obj:`ESACryoSat2PDSBaselineDPatchFESArctide` Base class (mostly for type checking). .. py:method:: _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 .. py:method:: _get_disc_path(filepath)