Meteorology#
Overview#
IMGW publishes meteorological observations for the Polish weather-station network at daily and monthly resolution, as open data from the public data portal. No authentication is required.
Values are downloaded as zipped CSV archives (decoded as latin-1), with station metadata
resolved from the accompanying station-code list. Both daily and monthly summaries are provided.
Status columns#
Every measurement in these files is followed by a status column, documented per file in the
*_format.txt beside the data. It is read, and carried into quality:
status |
meaning |
value |
|
|---|---|---|---|
blank |
the value is a measurement |
as published |
null |
|
brak pomiaru – no measurement |
null |
8 |
|
brak zjawiska – the phenomenon did not occur |
0 |
9 |
|
opad zbiorczy – a collective total ( |
as published |
10 |
Neither code can be taken from the value column, because the files do not write it the same way
twice. Where the status is 8 the value is not left empty but holds a literal zero, which is why
the status has to be read at all – snow depth at a rain gauge would otherwise read 0 cm for every
day of a Polish January. Where the status is 9 the cell holds a literal zero in some files and
nothing at all in others, for the same parameter months apart, so 9 is returned as the zero it
means rather than passed through.
8 and 9 are IMGW’s own codes. quality is a numeric column and Z is a letter, so Z is
reported as 10, one of two codes here this library assigns itself. An opad zbiorczy is a sum over
the preceding days that were not measured, published on the day the reading was taken without
saying which days it covers, so the value is kept – it is a real measurement – and the 10 is what
says it is not that day’s total alone.
The other is 11. o_d_format.txt adds that brak zjawiska covers a day absent from a month that is
itself present (“Brak zjawiska to również brak dnia w istniejącym miesiącu”), and the older o_d
files rely on it: o_d_02_2010 carries 14,229 rows for the 26,796 days in its stations’ months,
while o_d_07_2024 writes every day out, with status 9 on the dry ones. daily/precipitation
returns such a day as 0 mm with quality 11, so that a dry day reads the same whichever year IMGW
wrote the file in, and 11 rather than 9 because no status in the file says so. Only
precipitation_amount is filled: a day without rain is not a day without snow cover. A month the
station has no row in at all is left empty, and daily/climate and daily/synop are read as
published, since their format files carry no such sentence.
One thing the status cannot resolve: a 0 in monthly/climate’s snow_depth_max that is not
qualified by a status means either that there was no snow cover in the month or that the maximum
could not be determined; k_m_d_format.txt says so in as many words. It is common – 96 of the 196
rows of 2024 – and is returned as 0 cm.