pyiem.models.taf module#
TAF Data Model.
- class pyiem.models.taf.WindShear(*, level, drct, sknt)[source]#
Bases:
BaseModelA Wind Shear Value.
- Parameters:
- level: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=100000)])]#
- drct: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=360)])]#
- sknt: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=199)])]#
- model_config = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pyiem.models.taf.SkyCondition(*, amount, level=None)[source]#
Bases:
BaseModelThe Sky condition.
- level: Annotated[int | None, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=100000)])]#
- model_config = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pyiem.models.taf.TAFForecast(*, valid, raw, ftype, end_valid=None, sknt=None, drct=None, gust=None, visibility=None, presentwx=<factory>, sky=<factory>, shear=None)[source]#
Bases:
BaseModelA TAF forecast.
- Parameters:
- ftype: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=5)])]#
- sknt: Annotated[int | None, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=199)])]#
- drct: Annotated[int | None, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=360)])]#
- gust: Annotated[int | None, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=199)])]#
- visibility: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=6)])]#
- sky: List[SkyCondition]#
- model_config = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pyiem.models.taf.TAFReport(*, station, valid, issue=None, expire=None, product_id, observation, is_amendment, forecasts=<factory>)[source]#
Bases:
BaseModelA TAF Report consisting of forecasts.
- Parameters:
station (Annotated[str, MinLen(min_length=4), MaxLen(max_length=4)])
valid (datetime)
issue (AwareDatetime | None)
expire (AwareDatetime | None)
product_id (Annotated[str, MinLen(min_length=28), MaxLen(max_length=35)])
observation (TAFForecast)
is_amendment (bool)
forecasts (list[TAFForecast])
- station: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4)])]#
- issue: Annotated[AwareDatetime | None, FieldInfo(annotation=NoneType, required=True, description='Start')]#
- expire: Annotated[AwareDatetime | None, FieldInfo(annotation=NoneType, required=True, description='End')]#
- product_id: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=28), MaxLen(max_length=35)])]#
- observation: TAFForecast#
- is_amendment: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Is this amended?')]#
- forecasts: list[TAFForecast]#
- model_config = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].