The SnowProfile class¶
- class snowprofile.snowprofile.SnowProfile[source]¶
Bases:
BaseModel,BaseMergeableThe base class for representing and handling a snow profile.
Data content¶
General information on snow profile and snow pit¶
- id
A unique id to identify the snow profile (optional, str, only [a-zA-Z0-9-])
- comment
General comment on the overall measurement (optional, str)
- profile_comment
General comment on the snow profile (optional, str)
- time
Time of observation (
snowprofile.classes.Timeobject)- observer
Observer information (
snowprofile.classes.Observerobject)- location
Location information (
snowprofile.classes.Locationobject)- weather
Weather observations (
snowprofile.classes.Weatherobject)- surface_conditions
Surface conditions (penetration depths, surface features, wind surface features, etc.) (
snowprofile.classes.SurfaceConditionsobject)- profile_depth
Depth of the profile (m)
- profile_depth_std
Standard deviation of the profile depth around the snow pit (in case of multiple measurements, m)
- profile_swe
Total SWE (mm or kg/m2)
- profile_swe_std
Standard deviation of the total SWE (in case of mutilple measurements, mm or kg/m2)
- new_snow_24_depth
Depth of the new snow from the past 24h (m)
- new_snow_24_depth_std
Standard deviation of the depth of new snow (in case of multiple measurements, m)
- new_snow_24_swe
SWE of the new snow from the past 24h (mm or kg/m2)
- new_snow_24_swe_std
Standard deviation of the SWE of the new snow from the past 24h (in case of mutilple measurements, mm or kg/m2)
- snow_transport
- Presence and type of snow transport
No snow transport
Modified saltation: snow transport that remains confined close to the ground
Drifting snow: transport up to 6ft/2m
Blowing snow: transport above 6ft/2m
snow_transport_occurence_24: typing.Optional[float] = pydantic.Field(None, ge=0, le=100)
Profiles data¶
- stratigraphy_profile
The stratigraphy profile (unique,
snowprofile.profiles.Stratigraphyobject)- temperature_profiles:
Temperature profiles (list of
snowprofile.profiles.TemperatureProfileobjects)- density_profiles:
Density profiles (list of
snowprofile.profiles.DensityProfileobjects)- lwc_profiles:
LWC profiles (list of
snowprofile.profiles.LWCProfileobjects)- ssa_profiles:
SSA profiles (list of
snowprofile.profiles.SSAProfileorsnowprofile.profiles.SSAPointProfileobjects)- hardness_profiles:
Hardness profiles (list of
snowprofile.profiles.HardnessProfileorsnowprofile.profiles.HardnessPointProfileobjects)- strength_profiles:
Strength profiles (list of
snowprofile.profiles.StrengthProfileobjects)- impurity_profiles:
Impurity profiles (list of
snowprofile.profiles.ImpurityProfileobjects)
stability_tests: List of stabilty tests. See Base classes for stability tests for details.
Other data¶
- application
Information on the application or code that generated the profile (optional, str)
- application_version
Version of the application or code that generated the profile (optional, str)
- profiles_comment
Comment associated to profiles, for CAAML compatibility only, do not use (str)
- additional_data and profile_additional_data
Room to store additional data for CAAML compatibility (customData), do not use.
- Fields:
additional_data (snowprofile._base_classes.AdditionalData | None)density_profiles (List[snowprofile.profiles.DensityProfile])impurity_profiles (List[snowprofile.profiles.ImpurityProfile])other_scalar_profiles (List[snowprofile.profiles.ScalarProfile])other_vectorial_profiles (List[snowprofile.profiles.VectorialProfile])profile_additional_data (snowprofile._base_classes.AdditionalData | None)ssa_profiles (List[snowprofile.profiles.SSAProfile | snowprofile.profiles.SSAPointProfile])stratigraphy_profile (snowprofile.profiles.Stratigraphy | None)strength_profiles (List[snowprofile.profiles.StrengthProfile])temperature_profiles (List[snowprofile.profiles.TemperatureProfile])
- field id: str | None = None¶
- field comment: str | None = None¶
- field profile_comment: str | None = None¶
- field time: Time = Time(record_time=datetime.datetime(2026, 5, 5, 16, 3, 17, 734576), record_period=(None, None), report_time=None, last_edition_time=None, comment=None, additional_data=None)¶
- field observer: Observer = Observer(source_id=None, source_name=None, source_website=None, source_comment=None, source_additional_data=None, contact_persons=[Person(id=None, name=None, website=None, comment=None, additional_data=None)])¶
- field location: Location = Location(id=None, name='Unknown', point_type=None, aspect=None, elevation=None, slope=None, latitude=None, longitude=None, country=None, region=None, comment=None, additional_data=None)¶
- field environment: Environment = Environment(solar_mask=None, solar_mask_method_of_measurement=None, solar_mask_uncertainty=None, solar_mask_quality=None, solar_mask_comment=None, bed_surface=None, bed_surface_comment=None, litter_thickness=None, ice_thickness=None, low_vegetation_height=None, LAI=None, forest_presence=None, forest_presence_comment=None, sky_view_factor=None, tree_height=None, solar_mask_additional_data=None)¶
- field application: str | None = 'snowprofile'¶
- field application_version: str | None = None¶
- field profile_depth: float | None = None¶
- Constraints:
ge = 0
- field profile_depth_std: float | None = None¶
- Constraints:
ge = 0
- field profile_swe: float | None = None¶
- Constraints:
ge = 0
- field profile_swe_std: float | None = None¶
- Constraints:
ge = 0
- field new_snow_24_depth: float | None = None¶
- Constraints:
ge = 0
- field new_snow_24_depth_std: float | None = None¶
- Constraints:
ge = 0
- field new_snow_24_swe: float | None = None¶
- Constraints:
ge = 0
- field new_snow_24_swe_std: float | None = None¶
- Constraints:
ge = 0
- field snow_transport: Literal['No snow transport', 'Modified saltation', 'Drifting snow', 'Blowing snow'] | None = None¶
- field snow_transport_occurence_24: float | None = None¶
- Constraints:
ge = 0
le = 100
- field weather: Weather = Weather(cloudiness=None, precipitation=None, air_temperature=None, air_humidity=None, wind_speed=None, wind_direction=None, air_temperature_measurement_height=None, wind_measurement_height=None, comment=None, additional_data=None)¶
- field surface_conditions: SurfaceConditions = SurfaceConditions(surface_roughness=None, surface_wind_features=None, surface_melt_rain_features=None, surface_features_amplitude=None, surface_features_amplitude_min=None, surface_features_amplitude_max=None, surface_features_wavelength=None, surface_features_wavelength_min=None, surface_features_wavelength_max=None, surface_features_aspect=None, lap_presence=None, surface_temperature=None, surface_temperature_measurement_method=None, surface_albedo=None, surface_albedo_comment=None, spectral_albedo=None, penetration_ram=None, penetration_foot=None, penetration_ski=None, comment=None, additional_data=None)¶
- field stratigraphy_profile: Stratigraphy | None = None¶
- field temperature_profiles: List[TemperatureProfile] = []¶
- field density_profiles: List[DensityProfile] = []¶
- field lwc_profiles: List[LWCProfile] = []¶
- field ssa_profiles: List[SSAProfile | SSAPointProfile] = []¶
- field hardness_profiles: List[HardnessProfile | HardnessPointProfile] = []¶
- field strength_profiles: List[StrengthProfile] = []¶
- field impurity_profiles: List[ImpurityProfile] = []¶
- field other_scalar_profiles: List[ScalarProfile] = []¶
- field other_vectorial_profiles: List[VectorialProfile] = []¶
- field stability_tests: List[CTStabilityTest | ECTStabilityTest | RBStabilityTest | PSTStabilityTest | ShearFrameStabilityTest] = []¶
- field additional_data: AdditionalData | None = None¶
- field profile_additional_data: AdditionalData | None = None¶
- SnowProfile.merge(other) None¶
Function to merge with an object of the same type.
Raise warnings when inconsistent data are encountered.
Does not create a copy of the object.
- Parameters:
other – Other object of the same type
- Returns:
None (merge done in-place)