Skip to content

Air at the Bitola 1 UHMR station

Bitola, North Macedonia

Network: Ministry of Environment and Physical Planning · Station code: MK0037A

This year, up to yesterday (October 7)

at least

9 days

with a daily average of particulate matter PM10 above the EU limit of 50 µg/m³.

Readings are missing for part of the period, so the real number may be higher.

Worst day: February 27, 2026, PM10 87 µg/m³ as a daily average, 1.7 times the limit.

Daily average for 218 of 280 days · data for 2026 not yet finally verified · Yardstick: EU limits (Directive 2008/50/EC)

All figures by year and month

Moderate

Air now · Measured at 00:00

Latest values

Latest value: 00:00

Readings
PollutantValueLevel
PM1034.5 µg/m³Fair
NO₂48.2 µg/m³Moderate

How the air is changing

Over the last seven days there was more PM10 and NO₂ in the air than the week before.

  • PM10: average 29.3 µg/m³, week before 15.5 µg/m³
  • PM2.5: too few readings to compare
  • NO₂: average 20 µg/m³, week before 10.5 µg/m³
  • O₃: too few readings to compare
  • SO₂: too few readings to compare

Last month there was less PM10 in the air than the month before.

  • PM10: average 19.4 µg/m³, month before 25.6 µg/m³
  • PM2.5: too few readings to compare
  • NO₂: average 10.5 µg/m³, month before 10.2 µg/m³
  • O₃: too few readings to compare
  • SO₂: too few readings to compare

Show

Particulate matter PM10

34.5

Nowµg/m³

Measured at 00:00

54.7

Last 24 hoursµg/m³

measured in 92 % of hours · provisional

29.3

Last 7 daysµg/m³

measured in 99 % of hours · provisional

21.9

Last 30 daysµg/m³

measured in 100 % of hours · provisional

too few readings

Last 12 months

measured in 60 % of hours · provisional

Last 7 days, every hour: PM10 in µg/m³highest 258 µg/m³, latest 71 µg/m³ (23:00)0100200300ThuFriSatSunMonTueWedlatest 71 (23:00)
measuredmodel estimate, not countedday above the limit (daily average)
Last 7 days, every hour: PM10 in µg/m³
Values as a table
Hour toµg/m³Note
Wednesday, 10/7
00:0020model estimate, not counted
23:0070.8
22:00257.9
21:0040
20:0077.5
19:0040.8
18:0016.8
17:0017.3
16:0019.9
15:0050.6
14:0028.1
13:0024.4
12:0059.5
11:0041.1
10:0079.4
09:00157.9
08:0031.8
07:0029.9
06:0031.7
05:0024.9
04:0031.4
03:0035.9
02:0036.9
01:0047.8
Tuesday, 10/6
00:0047
23:0052.8
22:0036.5
21:0043.8
20:0055.4
19:0037.8
18:0020.2
17:0017.3
16:0024.9
15:0029.2
14:0034
13:0039.7
12:0061.4
11:0033.9
10:0035.8
09:0033.7
08:0031
07:0039.7
06:0029.8
05:0027.3
04:0028
03:0037
02:0040.9
01:0063.5
Monday, 10/5
00:0055.8
23:0047.9
22:0037.2
21:0085.8
20:0087.5
19:0034.9
18:009.2
17:009.3
16:009.8
15:0016.1
14:0015.3
13:0011.6
12:0022.4
11:0025.8
10:0028.7
09:0026.9
08:0025.5
07:0016.5
06:0016.5
05:0015.3
04:0016.4
03:0019.8
02:0017.5
01:0026.7
Sunday, 10/4
00:0037.3
23:0032.9
22:0039.5
21:0033.4
20:0031.6
19:0016.1
18:005.8
17:005.9
16:004.9
15:007.3
14:0011.4
13:0016.2
12:0014.1
11:0020.2
10:0014.8
09:0018.1
08:0020.1
07:0012.9
06:0012.9
05:0015.9
04:0016.9
03:0014.5
02:0016
01:0018.9
Saturday, 10/3
00:0025.8
23:0026
22:0035.2
21:0043.6
20:0015.6
19:0010.8
18:007.6
17:006.3
16:009.3
15:0010.3
14:0011.1
13:0015.4
12:0014.8
11:0016.7
10:0027.9
09:0058.6
08:0029.8
07:0015.6
06:0015.7
05:0010.4
04:009.6
03:0015.9
02:0026.1
01:0044.2
Friday, 10/2
00:0042.4
23:0048.8
22:0043.8
21:0069.7
20:0023.6
19:0014.9
18:009
17:009.6
16:009.6
15:0012.4
14:0013.7
13:0012.5
12:0027.7
11:0041.7
10:0032.9
09:0028.3
08:0022.8
07:0018.8
06:0015.3
05:0014.9
04:0016.5
03:0016.2
02:0023
01:0023
Thursday, 10/1
00:0029.1
23:0048.3
22:0054.1
21:0062.6
20:0028.1
19:0023
18:008.4
17:0010.1
16:0014.3
15:0010.6
14:0013.2
13:0013.7
12:0013.1
11:0019.8
10:0024.1
09:0023.9
08:0032.8
07:0016.3
06:0014.7
05:0015.7
04:0014.2
03:0014.9
Last 30 days, daily average: PM10 in µg/m³ · 1 day above the limithighest 54 µg/m³, latest 54 µg/m³02040609/109/179/2410/1highest 54
day above the limitEU daily limit, 50 µg/m³
Last 30 days, daily average: PM10 in µg/m³ · 1 day above the limit
Values as a table
Dayµg/m³Note
Wed, 10/754.4above the limit · provisional
Tue, 10/637.5provisional
Mon, 10/528.3provisional
Sun, 10/418.2provisional
Sat, 10/320.9provisional
Fri, 10/224.6provisional
Thu, 10/122.4provisional
Wed, 9/3018provisional
Tue, 9/2921.2provisional
Mon, 9/2814.4provisional
Sun, 9/279.4provisional
Sat, 9/2610.1provisional
Fri, 9/2517.7provisional
Thu, 9/2417.5provisional
Wed, 9/2314provisional
Tue, 9/2212.9provisional
Mon, 9/2119.5provisional
Sun, 9/2019.4provisional
Sat, 9/1922.6provisional
Fri, 9/1822provisional
Thu, 9/1727provisional
Wed, 9/1621.2provisional
Tue, 9/1521provisional
Mon, 9/1412.9provisional
Sun, 9/1311.5provisional
Sat, 9/1223.7provisional
Fri, 9/1128.1provisional
Thu, 9/1039.6provisional
Wed, 9/926.2provisional
Tue, 9/821.1provisional
Last 12 months, monthly average: PM10 in µg/m³highest 38 µg/m³, latest 29 µg/m³0204060DecFebAprJunAugOcthighest 38latest 29
Last 12 monthsthis month so fara year earlierEU annual limit, 40 µg/m³month with days without data from the station
Last 12 months, monthly average: PM10 in µg/m³
Values as a table
Monthµg/m³a year earlierNote
October 2026 so far29.3measured in 99 % of hours · provisional
September 202619.4measured in 100 % of hours · provisional
August 202625.6measured in 100 % of hours · provisional
July 202616.8measured in 85 % of hours · provisional · 4 days without data from the station
June 202615.4measured in 100 % of hours · provisional
May 202613.5measured in 100 % of hours · provisional
April 202620.2measured in 99 % of hours · provisional
March 202637.7measured in 100 % of hours · provisional
February 2026too few readingsmeasured in 7 % of hours · provisional
January 2026too few readings
December 2025too few readings
November 2025too few readings

PM10 by year

Yardstick: EU limits (Directive 2008/50/EC)

Measure2026*20242023
Days above 50 µg/m³ (allowed 35)≥ 9²≥ 10²≥ 23²
Annual average, µg/m³ (EU limit 40)too fewtoo fewtoo few
Highest daily average, µg/m³87February 27108February 1117January 8
Highest hourly value, µg/m³258October 7292February 1308January 5
Hours measured78 %24 %62 %
Days without any reading from the station4112

* 2026 up to October 7; the average since the start of the year is not yet an annual average.

The monitoring networks have not yet finally verified this year’s data. The EEA publishes verified values once a year.

≥ means at least: more than a tenth of the days or hours are missing, so the real number may be higher.

² Too few readings to compare with the number allowed: the figure covers only what was measured.

Unverified hourly values of particulate matter from 975 µg/m³ up, and single spikes from 500 µg/m³ up between low values, count as missing. In the verified data for BiH from 2023 to 2025 no hour was above 600 µg/m³.

■ and a figure in red: more than is allowed for the whole year.

Outages in the last 12 months

Every period of at least 24 hours in which no reading arrived from this station.

Days without a reading: 6

2 outages, 138 hours in total in the last 12 months.

Timeline of outages from October 8, 2025 to today

FromToDuration
Jul 16, 2026 21:00Jul 21, 2026 10:005 days
Dec 11, 2025 05:00Dec 12, 2025 10:0029 hours

Calculated from the hourly values the EEA publishes. If late values arrive afterwards, an outage gets shorter or disappears.

Where the data comes from

Measured by Ministry of Environment and Physical Planning. We take the values from the European Environment Agency (EEA) under the CC BY 4.0 licence.

Values marked provisional have not been fully checked by the network yet. The EEA publishes verified data for the previous year once a year, usually by the end of September.

An hourly value is the average of one hour. We show the end of the hour: the value to 18:00 was measured from 17:00 to 18:00.

A day runs from midnight to midnight local time.

We only show an average when at least three out of four hours in the period have a reading. The EU air quality directive requires this for daily averages, and we apply the same rule to longer periods. We compare an annual average with the EU limit only once 90 % of hours are measured, as the directive requires. For 12 months and for a year we ask for more: if less than 90 % of hours are measured, every full calendar month needs readings for at least half of its hours. Otherwise a whole season could be missing from the average, such as summer, when ozone is highest.

We do not call a difference of up to 10 % a change, nor one of up to 1 µg/m³ at low levels, because weather and measurement uncertainty alone cause differences that size.

When a station sends no reading, the EEA sometimes fills the hour with a model estimate. We draw those hours dashed and leave them out of every average.

The EU limits come from Directive 2008/50/EC. Here they serve as a yardstick for comparison. When more than a tenth of the days or hours are missing, the number of exceedances can only be higher, so we write “at least” in front of it.

How we measure

samoEKO is a brand of samoLabs, Juelich.