pysiral.auxdata.sic

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:

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

__author__

Classes

OsiSafSIC

Class for the OSI SAF sea ice concentration data set.

IfremerSIC

Base class for all subtype auxdata base classes (e.g. SICBaseClass).

Module Contents

pysiral.auxdata.sic.__author__ = 'Stefan Hendricks'
class pysiral.auxdata.sic.OsiSafSIC(*args, **kwargs)

Bases: pysiral.auxdata.AuxdataBaseClass

Class for the OSI SAF sea ice concentration data set.

_data = None
_ocean_proximity = None
_low_ice_conc_proximity = None
start_time = None
hemisphere_code = None
hemisphere = None
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

load_requested_auxdata() None

Required subclass method: Load the data file necessary to satisfy condition for requested date :return:

_get_sic_track(l2: pysiral.l2data.Level2Data) Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]

Extraction of grid parameters along trajectory.

Parameters:

l2 – Level-2 data object

Returns:

sea ice concentration, distance to ocean & distance to low ice concentration

_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

Returns:

property requested_filepath: 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.)

Returns:

The filepath to the target file

property cdr_icdr_record_types: List[str]
property cdr_icdr_record_type_prefix: List[str]
class pysiral.auxdata.sic.IfremerSIC(*args, **kwargs)

Bases: 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

_data = None
_grid
get_l2_track_vars(l2)

This method raises a NotImplementedError if it is not overwritten by child class :return:

_get_requested_date(l2)

Use first timestamp as reference, date changes are ignored

_get_data(l2)

Loads file from local repository only if needed

_get_local_repository_filename(l2)
_get_sic_track(l2)