Base classes for property profiles¶
This module gathers the classes to handle profile data. These classes are designed to be used in the SnowProfile class.
All the class above have a data key that contains the profile data, stored as a pandas DataFrame.
Note: when the dataframe is modified, the dataframe needs to be reassignated to the data key so that the modifications are taken into account (a call to the data key returns a copy of the internal data stored in the dataclass).
- class snowprofile.profiles.Stratigraphy[source]¶
Bases:
BaseProfileMeasurements of the snowpack stratigraphy, according to the international snowpack classification, Fierz et al. 2009.
The
datakey contains:top_height: Top height of the snow layer (m)bottom_height: Bottom height of the snow layer (m)thickness: Thickness of the snow layer (m)grain_1: Primary snow grain shapegrain_2: Secondary snow grain shapegrain_size: Snow grain size (m)grain_size_max: Maximum snow grain size (m)hardness: Manual hand hardness (intermediates are allowed, details in Fierz et al., 2009):F: Fist (1)
4F : 4 Fingers (2)
1F : 1 Finger (3)
P : Pencil (4)
K : Knife (5)
wetness: Manual snow wetness (intermediates are allowed, details in Fierz et al., 2009):D : Dry (1)
M : Moist (2)
W : Wet (3)
V : Very wet (4)
S : Soaked (5)
formation_time: Date of the layer formationformation_period_begin: Date of the begining of the layer formationformation_period_end: Date of the end of the layer formationloc: Layer of concern, possible values are ‘no’, ‘top’, ‘bottom’, ‘all’, ‘true’, ‘false’comment: Comment on the layeruncertainty: Quantitative uncertainty on the layer (see Describe data uncertainty and quality)quality: Quality flag on the layer (see Describe data uncertainty and quality)
- Fields:
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.TemperatureProfile[source]¶
Bases:
BaseProfile2Vertical profile of temperature profile.
The
datakey contains:height: Height of the temperature measurement (m)temperature: Temperature value (°C)uncertainty: Quantitative uncertainty of the point measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the point measurement. See Describe data uncertainty and quality for details.
- Fields:
additional_data (snowprofile._base_classes.AdditionalData | None)method_of_measurement (Literal['Thermometer', 'IR thermometer', 'IR photography', 'other'] | None)quality_of_measurement (Literal['Good', 'Uncertain', 'Low', 'Bad'] | None)record_period (Tuple[datetime.datetime | None, datetime.datetime | None])
- field method_of_measurement: Literal['Thermometer', 'IR thermometer', 'IR photography', 'other'] | None = None¶
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.DensityProfile[source]¶
Bases:
BaseProfile2Vertical profile of density (kg/m3).
The
datakey contains:top_height: Top height of the measurement (m)bottom_height: Bottom height of the measurement (m)thickness: Thickness (m)density: Density value (kg/m3)uncertainty: Quantitative uncertainty of the point measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the point measurement. See Describe data uncertainty and quality for details.
- Fields:
- field method_of_measurement: Literal['Snow Tube', 'Snow Cylinder', 'Snow Cutter', 'Snow wedge Cutter', 'other gravimetric measurement method', 'Denoth Probe', 'SnowPro Probe', 'Snow Fork', 'other dielectric permittivity method', 'Tomography', 'SMP', 'Neutron scattering probe', 'other'] | None = None¶
Measurement method
- field probed_volume: float | None = None¶
Probe volume (m3)
- field probed_diameter: float | None = None¶
Probe diameter (m)
- field probed_length: float | None = None¶
Probe length (m)
- field probed_thickness: float | None = None¶
Probe thickness (vertical dimension, m)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.LWCProfile[source]¶
Bases:
BaseProfile2Vertical profile of LWC (Liquid water content, % by volume).
The
datakey contains:top_height: Top height of the measurement (m)bottom_height: Bottom height of the measurement (m)thickness: Thickness (m)lwc: Liqud water content (% vol.)uncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
- field method_of_measurement: Literal['Denoth Probe', 'Snow Fork', 'SnowPro Probe', 'WISe', 'other dielectric permittivity method', 'MRI', 'other'] | None = None¶
Measurement method
- field probed_thickness: float | None = None¶
Probe thickness (vertical dimension of measurement, m)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.SSAProfile[source]¶
Bases:
_SSAProfileVertical profile of SSA (Specific surface area, m2/kg), measured on layers (volume).
The
datakey contains:top_height: Top height of the measurement (m)bottom_height: Bottom height of the measurement (m)thickness: Thickness (m)ssa: SSA value (m2/kg)uncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
- field type: Literal['SSAProfile'] = 'SSAProfile'¶
- field method_of_measurement: Optional[Literal['Ice Cube', 'IRIS', 'InfraSnow', 'DUFFISSS-1310', 'DUFFISSS-1550', 'HISSGraS', 'ASSSAP', 'other IR integrating sphere', 'SWIRcam', 'SnowImager', 'other NIR method', 'Tomography', 'SMP', 'other']] = None¶
Measurement method
- field probed_thickness: Optional[float] = None¶
Probe thickness (vertical dimension of measurement, m)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.SSAPointProfile[source]¶
Bases:
_SSAProfileVertical profile of SSA (Specific Surface Area), measured at points (heights).
The
datakey contains:height: Height of the measurement (m)ssa: SSA value (m2/kg)uncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
- field type: Literal['SSAPointProfile'] = 'SSAPointProfile'¶
- field method_of_measurement: Optional[Literal['Ice Cube', 'IRIS', 'InfraSnow', 'DUFFISSS-1310', 'DUFFISSS-1550', 'HISSGraS', 'ASSSAP', 'other IR integrating sphere', 'SWIRcam', 'SnowImager', 'other NIR method', 'Tomography', 'SMP', 'other']] = None¶
Measurement method
- field probed_thickness: Optional[float] = None¶
Probe thickness (vertical dimension of measurement, m)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.HardnessProfile[source]¶
Bases:
_HardnessProfileVertical profile of hardness profile, measured on snow layers (e.g. for RamSonde measurements).
The
datakey contains:top_height: Top height of the measurement (m)bottom_height: Bottom height of the measurement (m)thickness: Thickness (m)hardness(N): Hardness value (N)weight_hammer(kg)weight_tube(kg)n_drops(-)drop_height(m)uncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
- field type: Literal['HardnessProfile'] = 'HardnessProfile'¶
- field method_of_measurement: Optional[Literal['SnowMicroPen', 'Ram Sonde', 'Push-Pull Gauge', 'Avatech SP1', 'Avatech SP2', 'Scope propagation labs', 'other automatic penetrometer', 'other']] = None¶
Measurement method
- field surface_of_indentation: Optional[float] = None¶
Indentation surface of the measurement tool (m2)
- field penetration_speed: Optional[float] = None¶
Penetration speed (m/s)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.HardnessPointProfile[source]¶
Bases:
_HardnessProfileVertical profile of hardness.
The
datakey contains:height: Height of the measurement (m)hardness: Hardness value (N)uncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
- field type: Literal['HardnessPointProfile'] = 'HardnessPointProfile'¶
- field method_of_measurement: Optional[Literal['SnowMicroPen', 'Ram Sonde', 'Push-Pull Gauge', 'Avatech SP1', 'Avatech SP2', 'Scope propagation labs', 'other automatic penetrometer', 'other']] = None¶
Measurement method
- field surface_of_indentation: Optional[float] = None¶
Indentation surface of the measurement tool (m2)
- field penetration_speed: Optional[float] = None¶
Penetration speed (m/s)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.StrengthProfile[source]¶
Bases:
BaseProfile2Vertical profile of strength (N).
The
datakey contains:top_height: Top height of the measurement (m)bottom_height: Bottom height of the measurement (m)thickness: Thickness (m)strength: Strength value (N)fracture_character(optional):SP: Sudden planar
SC: Sudden collapse
SDN: Sudden (both)
RP: Resistant planar
PC: Progressive compression
RES: Resistant (both)
BRK or B: Break
X: Other/Unknown
uncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
additional_data (snowprofile._base_classes.AdditionalData | None)method_of_measurement (Literal['Shear Frame', 'other'] | None)quality_of_measurement (Literal['Good', 'Uncertain', 'Low', 'Bad'] | None)record_period (Tuple[datetime.datetime | None, datetime.datetime | None])strength_type (Literal['compressive', 'tensile', 'shear', 'mixed', 'other'] | None)
- field method_of_measurement: Literal['Shear Frame', 'other'] | None = None¶
Measurement method
- field strength_type: Literal['compressive', 'tensile', 'shear', 'mixed', 'other'] | None = None¶
Shear direction: compressive, tensile, shear, other or mixed
- field probed_area: float | None = None¶
Probed area (m2)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.ImpurityProfile[source]¶
Bases:
BaseProfile2Vertical profile of impurities (mass or volume fraction).
The
datakey contains:top_height: Top height of the measurement (m)bottom_height: Bottom height of the measurement (m)thickness: Thickness (m)mass_fraction: Mass fraction of impurity (%)volume_fraction: Volume fration of impurity (%)uncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
- field method_of_measurement: Literal['other'] | None = None¶
Measurement method
- field impurity_type: Literal['Black Carbon', 'Dust', 'Isotopes', 'Other'] [Required]¶
Impurity type for the profile
- field probed_volume: float | None = None¶
Probe volume (m3)
- field probed_diameter: float | None = None¶
Probe volume (m)
- field probed_length: float | None = None¶
Probe length (m)
- field probed_thickness: float | None = None¶
Probe thickness (vertical dimension, m)
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.ScalarProfile[source]¶
Bases:
BaseProfile2Other profile of scalar data (not covered by other Profile class).
The
datakey contains:top_height: Top height of the measurement (m)bottom_height: Bottom height of the measurement (m)thickness: Thickness (m)data: Data valueuncertainty: Quantitative uncertainty of the measurement (same unit as data). See Describe data uncertainty and quality for details.quality: Quality flag of the measurement. See Describe data uncertainty and quality for details.
- Fields:
- field method_of_measurement: str [Required]¶
Measurement method description
- field unit: str [Required]¶
Unit (SI unit please)
- field parameter: str [Required]¶
Measured parameter
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.
- class snowprofile.profiles.VectorialProfile[source]¶
Bases:
ScalarProfileOther profile of vectorial data (data inherently multi-dimensional, with same unit and type).
The
datakey is a pandas.DataFrame with key data containing a python list of values.- Fields:
- field rank: int [Required]¶
Length of the vector (>1, otherwise use OtherScalarProfile)
- Constraints:
gt = 1
- field method_of_measurement: str [Required]¶
Measurement method description
- field unit: str [Required]¶
Unit (SI unit please)
- field parameter: str [Required]¶
Measured parameter
- field quality_of_measurement: Optional[Literal['Good', 'Uncertain', 'Low', 'Bad']] = None¶
Quality flag of the entire profile. See Describe data uncertainty and quality for details.
- field uncertainty_of_measurement: Optional[float] = None¶
Quantitative uncertainty of the entire profile (same units as
data). See Describe data uncertainty and quality for details.- Constraints:
gt = 0
- field profile_nr: Optional[int] = None¶
Profile number (the lower is the higher priority)
- Constraints:
ge = 0
- field id: Optional[str] = None¶
Unique identifier of the profile [A-Za-z0-9-]
- field name: Optional[str] = None¶
Name/short description of the profile
id of related profiles
- field comment: Optional[str] = None¶
General comment associated to the profile
- field record_time: Optional[datetime_with_tz] = None¶
Time at which the profile was done (python datetime object).
- field record_period: datetime_tuple_with_tz = (None, None)¶
Time period during which the profile was done (tuple of two python datetime object representing the begin time and end time).
- Constraints:
func = <function serialize_datetime_tuple at 0x7b4f470b6c20>
json_schema_input_type = PydanticUndefined
return_type = typing.Optional[typing.List[typing.Optional[str]]]
when_used = always
- field profile_depth: Optional[float] = None¶
Total snow depth at the profile location, only if different from the general total snow depth reported in the metadata (m)
- Constraints:
ge = 0
- field profile_swe: Optional[float] = None¶
SWE at the profile location, only if specific measurement at the precise location of the profile (mm or kg/m2)
- Constraints:
ge = 0
- field additional_data: Optional[AdditionalData] = None¶
Field to store additional data for CAAML compatibility (customData), do not use.