Example of Mesan direct use
Direct usage of Mesan. Note that Metfcts and Mesan have identical interfaces.
Time listing
To list approved and valid times to
from smhi.mesan import Mesan
client = Mesan()
client.approved_time
# approved time object
client.valid_time
# valid time object
vt = client.valid_time
vt.valid_time
# returns a list of valid datetimes
Notice that approved_time is the time when the MESAN analysis was updated.
On the other hand, valid_time are valid time stamps to fetch data for,
see below.
Parameters and geographic area
To list available parameters, geographic area as polygon and points do
from smhi.mesan import Mesan
client = Mesan()
parameters = client.parameters
parameters.parameter
# list of all parameter codes and their meaning
client.parameter_descriptions
# mapping of parameter codes from above and a more descriptive meaning
client.parameter_descriptions[parameters.parameter[0].name]
# descriptive meaning of parameter
geopoly = client.geo_polygon
geopoly.coordinates
# polygon of geographic area as a list
geomultipoint = client.get_geo_multipoint(2)
# all coordinates of value points as a list
where get_geo_multipoint accepts a downsample argument.
Point and multipoint data
To get data, two methods are available.
get_point accepts latitude and longitude arguments.
get_multipoint accepts validtime, parameter,
leveltype, level, geo and downsample arguments.
See above to acquire a valid time and parameter.
Note that the date input can be in either str or datetime formats.
The API expects times in UTC but the client expects the user to input
local datetimes. The local datetimes are converted to UTC before an API request
is performed.
from smhi.mesan import Mesan
client = Mesan()
point = client.get_point(58, 16)
point.df
# dataframe of actual data
point.df_info
# dataframe with information about available parameters
multipoint = client.get_multipoint(
"2024-04-1206T16:00:00Z", "t", "hl", 2, 2
)
Note that, the above valid time is outdated.