pyiem.models.shef module#

SHEF Data Model.

class pyiem.models.shef.SHEFElement(*, station, basevalid, valid, dv_interval=None, physical_element=None, duration=None, type='R', source='Z', extremum='Z', probability='Z', str_value='', num_value=None, data_created=None, depth=None, unit_convention='E', qualifier=None, comment=None, narrative=None, raw=None)[source]#

Bases: BaseModel

A PEDTSEP Element.

Parameters:
model_config = {'validate_assignment': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

station: str#
basevalid: datetime#
valid: datetime#
dv_interval: timedelta | None#
physical_element: str | None#
duration: str | None#
type: str#
source: str#
extremum: str#
probability: str#
str_value: str#
num_value: float | None#
data_created: datetime | None#
depth: int | None#
unit_convention: str#
qualifier: str | None#
comment: str | None#
narrative: str | None#
raw: str | None#
to_english()[source]#

Return an English value representation.

Implementation Note: In the case of wind direction (UH, UR), this returns the un-scaled value.

Return type:

float

varname()[source]#

Return the Full SHEF Code.

Return type:

str | None

consume_code(text)[source]#

Fill out element based on provided text.

Parameters:

text (str)

Return type:

None

lonlat()[source]#

For ‘Stranger Locations’, return longitude and latitude.

Return type:

tuple[float | None, float | None]