Skip to content

Air at the Veles 2 Gradinka station

Veles, North Macedonia

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

This year, up to yesterday (October 6)

at least

36 days

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

35 days are allowed in the whole year.

The number allowed for the whole year has been exceeded.

at least 1 day more than allowed

In 2025: 77 days above the limit, 35 allowed.

Worst day: January 15, 2026, PM10 120 µg/m³ as a daily average, 2.4 times the limit.

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

All figures by year and month

Fair

Air now · Measured at 21:00

Latest values

Latest value: 21:00

Readings
PollutantValueLevel
PM1036.2 µg/m³Fair
O₃27.9 µg/m³Good
SO₂6.3 µg/m³Good

How the air is changing

Over the last seven days there was more PM10, PM2.5, and O₃ in the air than the week before.

  • PM10: average 28.5 µg/m³, week before 24.1 µg/m³
  • PM2.5: average 9.5 µg/m³, week before 7.8 µg/m³
  • NO₂: too few readings to compare
  • O₃: average 35.6 µg/m³, week before 29.6 µg/m³
  • SO₂: average 3.7 µg/m³, week before 3 µg/m³

There are not enough readings to compare with the month before.

  • PM10: too few readings to compare
  • PM2.5: too few readings to compare
  • NO₂: too few readings to compare
  • O₃: too few readings to compare
  • SO₂: too few readings to compare

Show

Particulate matter PM10

36.2

Nowµg/m³

Measured at 21:00

32.2

Last 24 hoursµg/m³

measured in 96 % of hours · provisional

28.5

Last 7 daysµg/m³

measured in 100 % of hours · provisional

25.8

Last 30 daysµg/m³

measured in 100 % of hours · provisional

too few readings

Last 12 months

measured in 81 % of hours · 1 month with too few readings · provisional

Days in 2026: PM10, daily average above 50 µg/m³

36 days above the limit. 57 days without any reading from the station.

1102031JanJan 1: 72 µg/m³, above the limitJan 6: 65 µg/m³, above the limitJan 9: 79 µg/m³, above the limitJan 10: 72 µg/m³, above the limitJan 15: 120 µg/m³, above the limitJan 16: 99 µg/m³, above the limitJan 19: 68 µg/m³, above the limitJan 20: 74 µg/m³, above the limitJan 21: 62 µg/m³, above the limitJan 22: 66 µg/m³, above the limitJan 23: 77 µg/m³, above the limitJan 24: 79 µg/m³, above the limitJan 25: 50 µg/m³, above the limitJan 31: 64 µg/m³, above the limitFebFeb 3: 98 µg/m³, above the limitFeb 5: 60 µg/m³, above the limitFeb 6: 59 µg/m³, above the limitFeb 7: 65 µg/m³, above the limitFeb 8: 89 µg/m³, above the limitFeb 9: 58 µg/m³, above the limitFeb 12: 53 µg/m³, above the limitFeb 14: 75 µg/m³, above the limitFeb 16: 57 µg/m³, above the limitFeb 23: no data from the stationFeb 26: 50 µg/m³, above the limitFeb 28: 59 µg/m³, above the limitMarMar 1: 51 µg/m³, above the limitMar 2: 69 µg/m³, above the limitMar 3: 74 µg/m³, above the limitMar 5: 65 µg/m³, above the limitMar 6: 66 µg/m³, above the limitMar 11: 51 µg/m³, above the limitMar 12: 55 µg/m³, above the limitMar 25: 74 µg/m³, above the limitAprApr 16: 60 µg/m³, above the limitApr 25: 64 µg/m³, above the limitMayMay 11: 50 µg/m³, above the limitMay 30: no data from the stationMay 31: no data from the stationJunJun 1: no data from the stationJun 2: no data from the stationJun 3: no data from the stationJun 4: no data from the stationJun 17: no data from the stationJun 23: no data from the stationJun 24: no data from the stationJun 25: no data from the stationJun 26: no data from the stationJun 27: no data from the stationJun 28: no data from the stationJulJul 2: no data from the stationJul 3: no data from the stationJul 4: no data from the stationJul 5: no data from the stationJul 6: no data from the stationJul 7: no data from the stationJul 8: no data from the stationJul 9: no data from the stationJul 10: no data from the stationJul 11: no data from the stationJul 12: no data from the stationJul 13: no data from the stationJul 14: no data from the stationJul 15: no data from the stationJul 16: no data from the stationJul 17: no data from the stationJul 18: no data from the stationJul 19: no data from the stationJul 20: no data from the stationJul 21: no data from the stationJul 22: no data from the stationJul 23: no data from the stationJul 24: no data from the stationJul 25: no data from the stationJul 26: no data from the stationJul 27: no data from the stationJul 28: no data from the stationJul 29: no data from the stationJul 30: no data from the stationJul 31: no data from the stationAugAug 1: no data from the stationAug 2: no data from the stationAug 3: no data from the stationAug 4: no data from the stationAug 5: no data from the stationAug 6: no data from the stationAug 7: no data from the stationAug 8: no data from the stationAug 9: no data from the stationAug 10: no data from the stationAug 11: no data from the stationAug 12: no data from the stationAug 13: no data from the stationSepOctNovDec
  • above the limit
  • below the limit
  • too few readings for the day
  • no PM10 data in the EEA database
  • no data from the station
Days above the limit with values (36)
  1. Jan 1 72
  2. Jan 6 65
  3. Jan 9 79
  4. Jan 10 72
  5. Jan 15 120
  6. Jan 16 99
  7. Jan 19 68
  8. Jan 20 74
  9. Jan 21 62
  10. Jan 22 66
  11. Jan 23 77
  12. Jan 24 79
  13. Jan 25 50
  14. Jan 31 64
  15. Feb 3 98
  16. Feb 5 60
  17. Feb 6 59
  18. Feb 7 65
  19. Feb 8 89
  20. Feb 9 58
  21. Feb 12 53
  22. Feb 14 75
  23. Feb 16 57
  24. Feb 26 50
  25. Feb 28 59
  26. Mar 1 51
  27. Mar 2 69
  28. Mar 3 74
  29. Mar 5 65
  30. Mar 6 66
  31. Mar 11 51
  32. Mar 12 55
  33. Mar 25 74
  34. Apr 16 60
  35. Apr 25 64
  36. May 11 50

Values in µg/m³, limit 50 µg/m³.

Months of 2026

MonthDays above 50Highest dayNo readings
January14 above the number allowed1200
February11 above the number allowed981
March8 above the number allowed740
April2 above the number allowed640
May1 above the number allowed502
June04011
July030
August04413
September0390
October up to yesterday0340

Values in µg/m³. ■ marks a month with at least one day above the limit; the number allowed applies to the whole year. “No readings”: days on which not a single reading came from the station.

Last 7 days, every hour: PM10 in µg/m³highest 88 µg/m³, latest 36 µg/m³ (21:00)050100ThuFriSatSunMonTueWedhighest 88latest 36 (21:00)
measuredmodel estimate, not counted
Last 7 days, every hour: PM10 in µg/m³
Values as a table
Hour toµg/m³Note
Wednesday, 10/7
22:0021model estimate, not counted
21:0036.2
20:0026.3
19:0021.7
18:0016.9
17:0019.5
16:0019.8
15:0029
14:0051.2
13:0032.5
12:0027.9
11:0039
10:0071.9
09:0061.9
08:0036.5
07:0018.6
06:0016.4
05:0012.2
04:0024.9
03:0022.4
02:0034.8
01:0040.5
Tuesday, 10/6
00:0040.1
23:0041.5
22:0063
21:0050.6
20:0026.7
19:0020.3
18:0031
17:0032.5
16:0030.6
15:0037.6
14:0039.2
13:0040.5
12:0035.8
11:0029.1
10:0068.3
09:0057.7
08:0031
07:0015.2
06:0010.6
05:0014.2
04:009.3
03:0019.7
02:0027.7
01:0028.1
Monday, 10/5
00:0022.3
23:0042.9
22:0044.1
21:0053.6
20:008.7
19:0027.9
18:0021.3
17:0017.4
16:0027.9
15:0061.7
14:0036
13:0039.3
12:0036.5
11:0030.8
10:0088.1
09:0083.9
08:0047.2
07:0035.2
06:0012
05:0017.2
04:0018
03:0012.3
02:009.7
01:0010.4
Sunday, 10/4
00:0023.4
23:0029.1
22:0040.6
21:0069.4
20:0021.1
19:0013.3
18:0015.5
17:0010.6
16:0015.4
15:0013
14:0015.5
13:0023.1
12:0037.4
11:0022.1
10:0018.3
09:0017
08:0012
07:007.3
06:009.3
05:0010.7
04:0015.6
03:0022.3
02:0025.8
01:0032.8
Saturday, 10/3
00:0025.8
23:0034.1
22:0049.6
21:0047.3
20:0018.5
19:0015.9
18:0022.4
17:0023.8
16:0017.2
15:0021.7
14:0022
13:0022.1
12:0032.9
11:0045.3
10:0059.4
09:0037.6
08:0029
07:0022.5
06:0019.2
05:0019.1
04:0023.1
03:0022.2
02:0020.3
01:0014.3
Friday, 10/2
00:0014.5
23:0015.5
22:0013.8
21:0022
20:0018.2
19:0017.3
18:0013.7
17:0019.1
16:0020.1
15:0019.5
14:0023.6
13:0021.2
12:0032.2
11:0044.9
10:0077.9
09:0052
08:0028.4
07:0018.6
06:007.9
05:0012.1
04:0013.8
03:0017.4
02:0038.4
01:0045.6
Thursday, 10/1
00:0035.4
23:0053.4
22:0052
21:0039.2
20:0025.7
19:0015.3
18:0015.8
17:0015.2
16:0012.8
15:0021.4
14:0014.2
13:0016.8
12:0049.6
11:0047.6
10:0074.8
09:0055.2
08:0029.4
07:0030.6
06:0010.5
05:0016
04:0020
03:0032.6
02:0028.7
01:0045
Wednesday, 9/30
00:0058
Last 30 days, daily average: PM10 in µg/m³highest 34 µg/m³, latest 33 µg/m³02040609/99/169/239/30latest 33
EU daily limit, 50 µg/m³
Last 30 days, daily average: PM10 in µg/m³
Values as a table
Dayµg/m³Note
Tue, 10/633.3provisional
Mon, 10/533.5provisional
Sun, 10/421.7provisional
Sat, 10/327.7provisional
Fri, 10/225.3provisional
Thu, 10/131.5provisional
Wed, 9/3026.7provisional
Tue, 9/2930.6provisional
Mon, 9/2833.7provisional
Sun, 9/2714.6provisional
Sat, 9/2620.4provisional
Fri, 9/2528.6provisional
Thu, 9/2423.4provisional
Wed, 9/2317.8provisional
Tue, 9/2219.7provisional
Mon, 9/2126.4provisional
Sun, 9/2021.6provisional
Sat, 9/1923.5provisional
Fri, 9/1828.1provisional
Thu, 9/1724.9provisional
Wed, 9/1621.4provisional
Tue, 9/1524.4provisional
Mon, 9/1424.8provisional
Sun, 9/1316.9provisional
Sat, 9/1224.9provisional
Fri, 9/1130.2provisional
Thu, 9/1031.4provisional
Wed, 9/930.7provisional
Tue, 9/829.4provisional
Mon, 9/726.6provisional
Last 12 months, monthly average: PM10 in µg/m³highest 75 µg/m³, latest 29 µg/m³0255075DecFebAprJunAugOcthighest 75latest 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 far28.8too few readingsmeasured in 100 % of hours · provisional · year before: same days
September 202625.730.5measured in 99 % of hours · provisional
August 2026too few readings31.2measured in 55 % of hours · provisional · 13 days without data from the station
July 2026too few readings32.5measured in 1 % of hours · provisional · 30 days without data from the station
June 2026too few readings35.1measured in 50 % of hours · provisional · 11 days without data from the station
May 202628.826measured in 90 % of hours · provisional · 2 days without data from the station
April 202632.324.9measured in 95 % of hours · provisional
March 202642.134.5measured in 100 % of hours · provisional
February 202647.951.1measured in 92 % of hours · provisional · 1 day without data from the station
January 202657.363measured in 90 % of hours · provisional
December 202574.7too few readingsmeasured in 100 % of hours · verified
November 202547.7too few readingsmeasured in 100 % of hours · verified

PM10 by year

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

Measure2026*20252024
Days above 50 µg/m³ (allowed 35)≥ 36 above the number allowed77 above the number allowed80 above the number allowed
Annual average, µg/m³ (EU limit 40)too few41.3 above the number allowed42.2 above the number allowed
Highest daily average, µg/m³120January 15138December 17133January 6
Highest hourly value, µg/m³376February 3305December 10447January 6
Hours measured75 %96 %90 %
Days without any reading from the station571033

* 2026 up to October 6; 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.

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.

The column for 2023 is shown on wider screens.

Compared with the new EU rules and the WHO recommendation

This is not the yardstick for the verdict above, only a comparison. From 2030 the EU tightens its limits (Directive (EU) 2024/2881), and since 2021 the World Health Organization has recommended even lower values.

  • EU from 2030: daily 45 µg/m³, 18 days allowed. In 2026 there were 42 such days.
  • WHO 2021: daily 45 µg/m³, at most three to four days a year. In 2026 there were 42 such days.

Sources: Directive (EU) 2024/2881, Annex I; WHO global air quality guidelines 2021, table 0.1. Checked against the texts on 7 October 2026.

The worst days of 2026

DayAverageTimes the limit
Jan 15, 2026provisional1202.4 ×
Jan 16, 2026provisional992.0 ×
Feb 3, 2026provisional982.0 ×
Feb 8, 2026provisional891.8 ×
Jan 24, 2026provisional791.6 ×

Daily average in µg/m³, daily limit 50 µg/m³. Days with the same unverified value over many hours are not on this list.

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: 64

6 outages, 1,527 hours in total in the last 12 months.

Timeline of outages from October 7, 2025 to today

FromToDuration
Jul 1, 2026 08:00Aug 14, 2026 14:0044 days
Jun 22, 2026 15:00Jun 29, 2026 10:007 days
Jun 16, 2026 08:00Jun 18, 2026 08:002 days
May 29, 2026 03:00Jun 5, 2026 10:007 days
Apr 20, 2026 12:00Apr 21, 2026 14:0026 hours
Feb 22, 2026 04:00Feb 24, 2026 09:002 days

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.