{"id":468,"date":"2025-07-23T09:00:00","date_gmt":"2025-07-23T09:00:00","guid":{"rendered":"https:\/\/lichens.ai\/realisation\/blast-dust-dumont-nickel\/"},"modified":"2026-09-04T16:41:04","modified_gmt":"2026-09-04T16:41:04","slug":"blast-dust-dumont-nickel","status":"publish","type":"realisation","link":"https:\/\/lichens.ai\/en\/realisation\/blast-dust-dumont-nickel\/","title":{"rendered":"Anticipating dust instead of stopping the mine"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Dumont Nickel has to verify wind direction before every blast and monitor dust levels at three measuring stations. Those two checks condition its licence to operate. We brought them together in a single web application, built on a data warehouse that can grow.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>One shared core, two uses: authorizing a blast, and seeing an exceedance coming.<\/p><cite>Two regulatory obligations, a single data foundation<\/cite><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The engagement at a glance<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Scope<\/td><td>Two projects pooled into a single web application \u2014 strong technical overlap<\/td><\/tr><tr><td>Deliverable<\/td><td>Online application, optimized for phone and tablet<\/td><\/tr><tr><td>Data foundation<\/td><td>A data warehouse built to grow, open to new sources<\/td><\/tr><tr><td>Integrated sources<\/td><td>Weather stations, SoftDB platform, nearest public station<\/td><\/tr><tr><td>Measuring stations<\/td><td>Three \u2014 town of Launay, south sector, south\u2011east sector<\/td><\/tr><tr><td>Reading interval<\/td><td>Wind direction every 20 to 30 seconds<\/td><\/tr><tr><td>Duration<\/td><td>Roughly 9 to 13 weeks, in three stages<\/td><\/tr><tr><td>Out of scope<\/td><td>Infrastructure costs and post-project support<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Public summary of the engagement.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The problem: the licence to operate is verified every single day<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Continuously verifying environmental data and keeping that information traceable aren\u2019t good practices: they are legal requirements. Wind direction at the moment of a blast, point limits and 24-hour cumulative averages at the three measuring stations \u2014 every data point has to be retrievable and defensible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Managing dust emissions is also a commitment the organization makes to its host community. So it isn\u2019t only a threshold not to cross, it\u2019s a promise to keep.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Without a predictive tool, there is only so much you can anticipate about at-risk episodes. When an exceedance is observed instead of anticipated, the only move left is a blunt one: slow down or stop all operations, for lack of knowing which sector is responsible.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2000\" height=\"992\" src=\"https:\/\/lichens.ai\/wp-content\/uploads\/2026\/07\/mine-camion-ciel.webp\" alt=\"Haul truck at an open pit, clear sky.\" class=\"wp-image-25\" srcset=\"https:\/\/lichens.ai\/wp-content\/uploads\/2026\/07\/mine-camion-ciel.webp 2000w, https:\/\/lichens.ai\/wp-content\/uploads\/2026\/07\/mine-camion-ciel-300x149.webp 300w, https:\/\/lichens.ai\/wp-content\/uploads\/2026\/07\/mine-camion-ciel-1024x508.webp 1024w, https:\/\/lichens.ai\/wp-content\/uploads\/2026\/07\/mine-camion-ciel-768x381.webp 768w, https:\/\/lichens.ai\/wp-content\/uploads\/2026\/07\/mine-camion-ciel-1536x762.webp 1536w\" sizes=\"auto, (max-width: 2000px) 100vw, 2000px\" \/><figcaption class=\"wp-element-caption\">Illustrative photo. The Dumont Nickel site is not shown.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Seeing the exceedance coming over the next 24 hours means trading a site-wide stoppage for a sector-by-sector intervention.<\/p><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The rule: what the regulation requires<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two distinct limits apply at all three stations: a point value never to be exceeded, and a 24-hour cumulative average.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Point limit<\/strong> \u2014 a value never to be exceeded, station by station. <em>TSP \u00b7 PM2.5<\/em><\/li>\n\n\n\n<li><strong>Cumulative average<\/strong> \u2014 the 24-hour rolling average counts as much as the instantaneous peak. <em>24 h<\/em><\/li>\n\n\n\n<li><strong>Forecast window<\/strong> \u2014 weather forecasts arrive every 60 minutes; maximum and average values are interpolated across the next 24 hours. <em>60 min<\/em><\/li>\n\n\n\n<li><strong>Anticipated exceedance<\/strong> \u2014 the crossing shows up in the forecast, before it is observed in the field. <em>alert<\/em><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">The mechanism: authorizing a blast on wind direction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three configurable restriction zones, and a status that only flips after five confirmed readings.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exclusion zones<\/strong> \u2014 three configurable sectors on the site base map. <em>3 zones<\/em><\/li>\n\n\n\n<li><strong>Wind direction<\/strong> \u2014 re-read every 20 to 30 seconds and displayed in near real time, alongside equipment positions. <em>20\u201330 s<\/em><\/li>\n\n\n\n<li><strong>Five confirmed readings<\/strong> \u2014 the status only turns green after five confirmed readings outside the exclusion zones. <em>5 \/ 5<\/em><\/li>\n\n\n\n<li><strong>Trigger time<\/strong> \u2014 the authorized blast is timestamped and filed into the compliance record. <em>timestamped<\/em><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What the application does<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Eight functions, two uses, a single data foundation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Real-time collection<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wind direction and dust levels recorded continuously, station by station \u2014 wind every 20 to 30 seconds, TSP and PM2.5 at the three stations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Map interface<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Exclusion zones, blasts, stations and equipment positions are configured on the site base map, with wind direction in near real time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Blast authorization<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A clear status, green or red, based on the configured rules \u2014 five confirmed readings outside the zones \u2014 with the trigger time recorded.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Seismic and public data<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Retrieval of seismic data from the integrated SoftDB platform and of readings from the nearest public weather station.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Compliance reports<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Generated per blast or by date \u2014 location, technical parameters, weather and seismic data \u2014 and archived in an internal database for traceability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Forecasting and interpolation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Weather forecasts integrated every 60 minutes, with maximum and cumulative average values interpolated across the next 24 hours.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exceedance alerts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A visual alert as soon as a regulatory threshold risks being crossed, with the location of operating equipment so at-risk sectors can be targeted.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Accounts and access<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">User management through standard authentication, compatible with the single sign-on systems already in place.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What it changes<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Before.<\/strong> An exceedance is observed after the fact, and stopping all operations can become the only move left.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>After.<\/strong> The risk of exceedance is read in the forecast, and the intervention happens sector by sector, before the crossing.<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>One build for two projects<\/strong> \u2014 the shared core is designed, tested and maintained once rather than twice.<\/li>\n\n\n\n<li><strong>Compliance held, for blasts and for dust<\/strong> \u2014 verification is continuous and every data point stays retrievable.<\/li>\n\n\n\n<li><strong>At-risk episodes are read in the forecast<\/strong> \u2014 the crossing is anticipated across the next 24 hours instead of being observed.<\/li>\n\n\n\n<li><strong>Intervention happens by sector<\/strong> \u2014 stopping all operations is no longer the only recourse.<\/li>\n\n\n\n<li><strong>Compliance reports generate themselves<\/strong> \u2014 answering a requirement no longer means reassembling the data by hand.<\/li>\n\n\n\n<li><strong>The data warehouse stays open<\/strong> \u2014 new sources and new uses graft onto it without rebuilding the foundation.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How it ran: three stages, roughly nine to thirteen weeks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Only the engagement\u2019s total duration is fixed. The breakdown below is an indicative schedule: the split between stages is set during framing.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Stage<\/th><th>What happens<\/th><th>What comes out<\/th><\/tr><\/thead><tbody><tr><td>1. Analysis and structure<br><em>W0 \u2013 W2\/W3<\/em><\/td><td>Framing both streams, compliance rules, restriction zones and the structure of the data warehouse.<\/td><td>Data structure validated<\/td><\/tr><tr><td>2. Development and continuous testing<br><em>W2 \u2013 W7\/W9<\/em><\/td><td>Building the shared core, the map interface, the authorization rules and the forecasting, tested as it went.<\/td><td>Application tested continuously<\/td><\/tr><tr><td>3. Delivery and training<br><em>W7 \u2013 W9\/W10<\/em><\/td><td>Go-live, switching the data sources to production, and training the operations teams.<\/td><td>Tool in service, teams trained<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Indicative schedule. The only fixed figure in the engagement is the total range \u2014 roughly 9 to 13 weeks for the three stages.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Technical make-up<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Responsive web app \u2014 phone and tablet<\/li>\n\n\n\n<li>Scalable data warehouse<\/li>\n\n\n\n<li>Mapping interface<\/li>\n\n\n\n<li>SoftDB integration \u2014 seismic data<\/li>\n\n\n\n<li>Weather stations and public data<\/li>\n\n\n\n<li>SSO-compatible authentication<\/li>\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>Two regulatory obligations tied to the licence to operate \u2014 wind direction before a blast, dust thresholds at three stations \u2014 brought together on a single data foundation.<\/p>\n","protected":false},"author":1,"featured_media":280,"template":"","meta":{"_acf_changed":false,"footnotes":""},"rea_domaine":[41,40],"rea_spec":[46,45,43],"rea_produit":[],"rea_cycle":[47],"class_list":["post-468","realisation","type-realisation","status-publish","has-post-thumbnail","hentry","rea_domaine-environment","rea_domaine-production","rea_spec-iot-sensors","rea_spec-management-platform-development","rea_spec-systems-integration","rea_cycle-delivered"],"acf":[],"_links":{"self":[{"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/realisation\/468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/realisation"}],"about":[{"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/types\/realisation"}],"author":[{"embeddable":true,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/realisation\/468\/revisions"}],"predecessor-version":[{"id":469,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/realisation\/468\/revisions\/469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/media\/280"}],"wp:attachment":[{"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/media?parent=468"}],"wp:term":[{"taxonomy":"rea_domaine","embeddable":true,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/rea_domaine?post=468"},{"taxonomy":"rea_spec","embeddable":true,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/rea_spec?post=468"},{"taxonomy":"rea_produit","embeddable":true,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/rea_produit?post=468"},{"taxonomy":"rea_cycle","embeddable":true,"href":"https:\/\/lichens.ai\/en\/wp-json\/wp\/v2\/rea_cycle?post=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}