Skip to content

GFS MOS MAV

The MAV report is a short-range forecast (6-72 hours) based on the Global Forecast System model output and is only valid for ICAO stations in the United States, Puerto Rico, and US Virgin Islands. Reports are published every six hours starting at 0000 UTC.

class avwx.Mav(code: str)

The Mav class offers an object-oriented approach to managing MOS MAV data for a single station.

Below is typical usage for fetching and pulling MAV data for KJFK.

>>> from avwx import Mav
>>> kjfk = Mav("KJFK")
>>> kjfk.station.name
'John F Kennedy International Airport'
>>> kjfk.update()
True
>>> kjfk.last_updated
datetime.datetime(2020, 4, 20, 1, 7, 7, 393270, tzinfo=datetime.timezone.utc)
>>> print(kjfk.raw)
"""
KJFK   GFS MOS GUIDANCE    4/19/2020  1800 UTC
DT /APR  20                  /APR  21                /APR  22
HR   00 03 06 09 12 15 18 21 00 03 06 09 12 15 18 21 00 03 06 12 18
N/X              46          58          44          58       37
TMP  53 52 50 48 48 50 54 56 51 49 47 46 49 53 55 52 47 45 43 41 54
DPT  43 41 37 35 33 30 28 27 28 30 32 34 37 39 37 32 26 23 22 18 14
CLD  OV OV OV OV OV OV OV SC FW CL CL FW BK OV OV OV BK FW CL FW SC
WDR  20 22 26 35 02 03 02 02 34 19 20 18 18 18 18 23 29 30 29 29 28
WSP  20 13 07 08 11 14 14 11 05 03 04 06 11 19 25 21 22 25 20 19 22
P06         0    12     9     1     0     1    29    68     8  2  0
P12              12           9           2          69       15
Q06         0     0     0     0     0     0     0     2     0  0  0
Q12               0           0           0           2        0
T06      0/ 4  1/ 0  1/ 0  0/ 0  0/ 0  0/ 0  5/ 3 13/13  0/ 0  0/ 8
T12                  1/ 2        0/ 0        9/ 6       14/13  1/ 8
POZ   0  1  1  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0  0  0
POS   0  0  0  0  0  2  0  6  6  9  9  0 16  8  0  4  4 47 60 67 42
TYP   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  S  S  R
SNW                                       0                    0
CIG   7  7  7  7  6  6  6  8  8  8  8  8  8  6  6  6  7  8  8  8  8
VIS   7  7  7  7  7  7  7  7  7  7  7  7  7  7  7  6  7  7  7  7  7
OBV   N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N
"""
>>> len(kjfk.data.forecast)
21
>>> kjfk.data.forecast[0].ceiling
Code(repr='7', value='6600 - 12,000 feet')

The parse and from_report methods can parse a report string if you want to override the normal fetching process.

async async_update(timeout: int = 10) -> bool

Async updates report data by fetching and parsing the report

Returns True if a new report is available, else False

code: str

Station ident code the report was initialized with

data: avwx.structs.MavData = None

MavData dataclass of parsed data values and units. Parsed on update()

from_report(report: str) -> avwx.Mav

Returns an updated report object based on an existing report

issued: date = None

UTC date object when the report was issued

last_updated: datetime.datetime = None

UTC Datetime object when the report was last updated

parse(report: str) -> bool

Updates report data by parsing a given report

raw: str = None

The unparsed report string. Fetched on update()

service: avwx.service.Service

Service object used to fetch the report string

source: str = None

Source URL root used to pull the current report data

station: avwx.Station

Provides basic station info

units: avwx.structs.Units

Units inferred from the station location and report contents

update(timeout: int = 10) -> bool

Updates report data by fetching and parsing the report

Returns True if a new report is available, else False

class avwx.structs.MavData

forecast: List[avwx.structs.MavPeriod]

raw: str

station: str

time: avwx.structs.Timestamp

class avwx.structs.MavPeriod

ceiling: avwx.structs.Code

cloud: avwx.structs.Code

dewpoint: avwx.structs.Number

freezing_precip: avwx.structs.Number

precip_amount_6: avwx.structs.Code

precip_amount_12: avwx.structs.Code

precip_chance_6: avwx.structs.Number

precip_chance_12: avwx.structs.Number

precip_type: avwx.structs.Code

severe_storm_6: avwx.structs.Number

severe_storm_12: avwx.structs.Number

snow: avwx.structs.Number

temperature: avwx.structs.Number

thunderstorm_6: avwx.structs.Number

thunderstorm_12: avwx.structs.Number

time: avwx.structs.Timestamp

vis_obstruction: avwx.structs.Code

visibility: avwx.structs.Code

wind_direction: avwx.structs.Number

wind_speed: avwx.structs.Number