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

Moderate

Air now · Measured at 22:00

Latest values

Latest value: 22:00

Readings
PollutantValueLevel
PM1082.5 µg/m³Moderate
O₃8.8 µg/m³Good
SO₂7 µ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

82.5

Nowµg/m³

Measured at 22:00

31.8

Last 24 hoursµg/m³

measured in 92 % 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 2024: PM10, daily average above 50 µg/m³

80 days above the limit. 33 days without any reading from the station.

1102031JanJan 1: 93 µg/m³, above the limitJan 2: 80 µg/m³, above the limitJan 3: 63 µg/m³, above the limitJan 4: 61 µg/m³, above the limitJan 5: 111 µg/m³, above the limitJan 6: 133 µg/m³, above the limitJan 11: 80 µg/m³, above the limitJan 13: 71 µg/m³, above the limitJan 14: 86 µg/m³, above the limitJan 15: 108 µg/m³, above the limitJan 16: 70 µg/m³, above the limitJan 17: 91 µg/m³, above the limitJan 22: 85 µg/m³, above the limitJan 23: 54 µg/m³, above the limitJan 25: 85 µg/m³, above the limitJan 26: 51 µg/m³, above the limitJan 31: 61 µg/m³, above the limitFebFeb 1: 79 µg/m³, above the limitFeb 2: 55 µg/m³, above the limitFeb 3: 69 µg/m³, above the limitFeb 4: 68 µg/m³, above the limitFeb 5: 90 µg/m³, above the limitFeb 6: 88 µg/m³, above the limitFeb 7: 111 µg/m³, above the limitFeb 8: 85 µg/m³, above the limitFeb 9: 99 µg/m³, above the limitFeb 10: 55 µg/m³, above the limitFeb 12: 51 µg/m³, above the limitFeb 16: 57 µg/m³, above the limitFeb 17: 64 µg/m³, above the limitFeb 20: 50 µg/m³, above the limitFeb 24: 53 µg/m³, above the limitMarMar 2: 51 µg/m³, above the limitMar 8: 52 µg/m³, above the limitMar 15: 57 µg/m³, above the limitAprApr 1: 54 µg/m³, above the limitMayMay 20: 51 µg/m³, above the limitJunJun 12: 56 µg/m³, above the limitJun 13: 59 µg/m³, above the limitJun 20: 69 µg/m³, above the limitJun 21: 83 µg/m³, above the limitJun 22: 65 µg/m³, above the limitJun 23: 53 µg/m³, above the limitJulJul 10: 54 µg/m³, above the limitJul 18: 57 µg/m³, above the limitJul 20: 62 µg/m³, above the limitJul 21: 52 µg/m³, above the limitAugAug 26: 55 µg/m³, above the limitSepSep 2: 75 µg/m³, above the limitSep 3: 70 µg/m³, above the limitSep 4: 82 µg/m³, above the limitSep 5: 100 µg/m³, above the limitSep 6: 69 µg/m³, above the limitSep 7: 65 µg/m³, above the limitSep 8: 50 µg/m³, above the limitSep 13: 61 µg/m³, above the limitSep 23: 58 µg/m³, above the limitSep 25: 54 µg/m³, above the limitSep 27: 54 µg/m³, above the limitOctOct 9: 61 µg/m³, above the limitOct 10: 70 µg/m³, above the limitOct 25: 52 µg/m³, above the limitOct 26: 51 µg/m³, above the limitOct 28: 61 µg/m³, above the limitOct 29: 58 µg/m³, above the limitOct 30: 62 µg/m³, above the limitNovNov 6: 61 µg/m³, above the limitNov 7: 67 µg/m³, above the limitNov 8: 72 µg/m³, above the limitNov 9: no data from the stationNov 10: no data from the stationNov 11: no data from the stationNov 12: no data from the stationNov 13: no data from the stationNov 14: no data from the stationNov 15: no data from the stationNov 16: no data from the stationNov 17: no data from the stationNov 18: no data from the stationNov 19: no data from the stationNov 20: no data from the stationNov 21: no data from the stationNov 22: no data from the stationNov 23: no data from the stationNov 24: no data from the stationNov 25: no data from the stationNov 26: no data from the stationNov 27: no data from the stationNov 28: no data from the stationNov 29: no data from the stationNov 30: no data from the stationDecDec 1: no data from the stationDec 2: no data from the stationDec 3: no data from the stationDec 4: no data from the stationDec 5: no data from the stationDec 7: no data from the stationDec 8: no data from the stationDec 9: no data from the stationDec 10: no data from the stationDec 11: no data from the stationDec 12: no data from the stationDec 14: 82 µg/m³, above the limitDec 16: 72 µg/m³, above the limitDec 17: 88 µg/m³, above the limitDec 18: 85 µg/m³, above the limitDec 19: 94 µg/m³, above the limitDec 20: 71 µg/m³, above the limitDec 22: 73 µg/m³, above the limitDec 23: 60 µg/m³, above the limitDec 29: 55 µg/m³, above the limitDec 30: 116 µg/m³, above the limitDec 31: 115 µg/m³, above the limit
  • 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 (80)
  1. Jan 1 93
  2. Jan 2 80
  3. Jan 3 63
  4. Jan 4 61
  5. Jan 5 111
  6. Jan 6 133
  7. Jan 11 80
  8. Jan 13 71
  9. Jan 14 86
  10. Jan 15 108
  11. Jan 16 70
  12. Jan 17 91
  13. Jan 22 85
  14. Jan 23 54
  15. Jan 25 85
  16. Jan 26 51
  17. Jan 31 61
  18. Feb 1 79
  19. Feb 2 55
  20. Feb 3 69
  21. Feb 4 68
  22. Feb 5 90
  23. Feb 6 88
  24. Feb 7 111
  25. Feb 8 85
  26. Feb 9 99
  27. Feb 10 55
  28. Feb 12 51
  29. Feb 16 57
  30. Feb 17 64
  31. Feb 20 50
  32. Feb 24 53
  33. Mar 2 51
  34. Mar 8 52
  35. Mar 15 57
  36. Apr 1 54
  37. May 20 51
  38. Jun 12 56
  39. Jun 13 59
  40. Jun 20 69
  41. Jun 21 83
  42. Jun 22 65
  43. Jun 23 53
  44. Jul 10 54
  45. Jul 18 57
  46. Jul 20 62
  47. Jul 21 52
  48. Aug 26 55
  49. Sep 2 75
  50. Sep 3 70
  51. Sep 4 82
  52. Sep 5 100
  53. Sep 6 69
  54. Sep 7 65
  55. Sep 8 50
  56. Sep 13 61
  57. Sep 23 58
  58. Sep 25 54
  59. Sep 27 54
  60. Oct 9 61
  61. Oct 10 70
  62. Oct 25 52
  63. Oct 26 51
  64. Oct 28 61
  65. Oct 29 58
  66. Oct 30 62
  67. Nov 6 61
  68. Nov 7 67
  69. Nov 8 72
  70. Dec 14 82
  71. Dec 16 72
  72. Dec 17 88
  73. Dec 18 85
  74. Dec 19 94
  75. Dec 20 71
  76. Dec 22 73
  77. Dec 23 60
  78. Dec 29 55
  79. Dec 30 116
  80. Dec 31 115

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

Months of 2024

MonthDays above 50Highest dayNo readings
January17 above the number allowed1330
February15 above the number allowed1110
March3 above the number allowed570
April1 above the number allowed540
May1 above the number allowed510
June6 above the number allowed830
July4 above the number allowed620
August1 above the number allowed550
September11 above the number allowed1000
October7 above the number allowed700
November3 above the number allowed7222
December11 above the number allowed11611

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
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 2024 there were 109 such days.
  • WHO 2021: daily 45 µg/m³, at most three to four days a year. In 2024 there were 109 such days.
  • EU from 2030: annual average 20 µg/m³. Average in 2024: 42 µg/m³.
  • WHO 2021: annual average 15 µg/m³. Average in 2024: 42 µg/m³.

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 2024

DayAverageTimes the limit
Jan 6, 20241332.7 ×
Dec 30, 20241162.3 ×
Dec 31, 20241152.3 ×
Jan 5, 20241112.2 ×
Feb 7, 20241112.2 ×

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.