pysiral.auxdata.sic =================== .. py:module:: pysiral.auxdata.sic .. autoapi-nested-parse:: All sic data handlers must be subclasses of ``pysiral.auxdata.AuxdataBaseClass`` in order to work for the Level-2 Processor. If the auxiliary class is based on a static dataset, this should be parsed in ``__init__``. Please review the variables and properties in the parent class, as well as the correspodning config and support classes for grid track interpolation in the pysiral.auxdata module for additional guidance. The only other requirements is the implementation of on specific method in order to be a valid subclass of AuxdataBaseClass: ``get_l2_track_vars(l2)`` This method will be called during the Level-2 processor. The argument is the Level-2 data object and the purpose of the method is to compute the auxilary variable(s) and associated uncertainty. These variable need to be registered using the `register_auxvar(id, name, value, uncertainty)` method of the base class. All sic subclasses need to register at minimum the following variable: .. code-block: sea ice concentration (in percent): id: sic name: sea_ice_concentration e.g., this code line is mandatory for ``get_l2_track_vars`` (uncertainty can be None): ``self.register_auxvar("sic", "sea_ice_concentration", value, uncertainty)`` Attributes ---------- .. autoapisummary:: pysiral.auxdata.sic.__author__ Classes ------- .. autoapisummary:: pysiral.auxdata.sic.OsiSafSIC pysiral.auxdata.sic.IfremerSIC Module Contents --------------- .. py:data:: __author__ :value: 'Stefan Hendricks' .. py:class:: OsiSafSIC(*args, **kwargs) Bases: :py:obj:`pysiral.auxdata.AuxdataBaseClass` Class for the OSI SAF sea ice concentration data set. .. py:attribute:: _data :value: None .. py:attribute:: _ocean_proximity :value: None .. py:attribute:: _low_ice_conc_proximity :value: None .. py:attribute:: start_time :value: None .. py:attribute:: hemisphere_code :value: None .. py:attribute:: hemisphere :value: None .. py:method:: get_l2_track_vars(l2: pysiral.l2data.Level2Data) -> None Main entry point of the class, add sea ice concentration to the l2 data object (in-place) :param l2: Level-2 data object< :return: None .. py:method:: load_requested_auxdata() -> None Required subclass method: Load the data file necessary to satisfy condition for requested date :return: .. py:method:: _get_sic_track(l2: pysiral.l2data.Level2Data) -> Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray] Extraction of grid parameters along trajectory. :param l2: Level-2 data object :return: sea ice concentration, distance to ocean & distance to low ice concentration .. py:method:: _compute_ice_conc_threshold_proximity(ice_concentration_threshold: float = 15.0) -> numpy.typing.NDArray Computes the distance of each sea ice grid cell (SIC >= 15%) to the next ocean (SIC <= 15% and not land) grid cell. The result will be stored to this instance and the data can be extracted along the track similar to sea ice concentration :return: .. py:property:: requested_filepath :type: pathlib.Path Note: this overwrites the property in the super class due to some peculiarities with the filenaming (auto product changes etc.) peculiarities with the filenaming (auto product changes etc.) :return: The filepath to the target file .. py:property:: cdr_icdr_record_types :type: List[str] .. py:property:: cdr_icdr_record_type_prefix :type: List[str] .. py:class:: IfremerSIC(*args, **kwargs) Bases: :py:obj:`pysiral.auxdata.AuxdataBaseClass` Base class for all subtype auxdata base classes (e.g. SICBaseClass). This class defines the mandatory set of methods and properties for all auxdata classes .. py:attribute:: _data :value: None .. py:attribute:: _grid .. py:method:: get_l2_track_vars(l2) This method raises a NotImplementedError if it is not overwritten by child class :return: .. py:method:: _get_requested_date(l2) Use first timestamp as reference, date changes are ignored .. py:method:: _get_data(l2) Loads file from local repository only if needed .. py:method:: _get_local_repository_filename(l2) .. py:method:: _get_sic_track(l2)