Una revisione del codice da parte di un tecnico competente in acustica ha esaminato il motore di acmap e noise-barrier-calc proprietà per proprietà, non solo l’interfaccia. Ne sono uscite sette correzioni, e non sono di robustezza: cambiano i risultati. Se hai eseguito uno dei due strumenti prima di questi rilasci, i numeri di allora non sono quelli di oggi.
Versioni: acmap v0.6.1, noise-barrier-calc v0.9.3. Entrambe pubbliche con licenza Apache 2.0.
La correzione che pesa di più: A_bar non è D_z
Entrambi i motori calcolavano il livello al ricevitore sottraendo sia l’attenuazione del suolo Agr sia la perdita per diffrazione Dz. È sbagliato, e la ragione è fisica prima che normativa: uno schermo che interrompe la linea di vista interrompe anche il cammino riflesso dal suolo. Sommare i due effetti conta due volte un’attenuazione che si verifica una sola volta.
La ISO 9613-2 §7.4 pone Abar = Dz − Agr per la diffrazione sopra il bordo quando Agr > 0, così che il netto sia Dz: lo schermo sostituisce l’effetto suolo, non si aggiunge.
Quanto pesa. Nel calcolo barriere l’insertion loss di uno schermo era sovrastimato esattamente di Agr, fino a circa 4,6 dB su terreno assorbente a 500 m di distanza. In acmap l’effetto si vedeva sulle ombre acustiche degli edifici, che risultavano più profonde del dovuto della stessa quantità. Su un calcolo di verifica sono decibel che spostano una conclusione.
I cammini laterali mantengono Abar = Dz, e la combinazione dei tre cammini del §7.4.4 lavora ora sugli Abar e non sui Dz grezzi.
K_met con la distanza sbagliata
Nella correzione meteorologica, d_sr è documentata come distanza schermo-ricevitore. L’applicazione passava invece la distanza totale sorgente-ricevitore, e lo faceva in tutti e tre i punti in cui il calcolo avviene: edifici sulla griglia, barriera sulla griglia, ricevitori manuali. La distanza corretta, d_br, era già calcolata poco sopra e veniva scartata.
Discretizzazione delle sorgenti non conservativa
Una sorgente lineare o areale viene discretizzata in punti, e la potenza va ripartita fra i punti in modo che la somma torni. Non tornava.
Sorgente lineare: ogni punto riceveva il passo di campionamento, la cui somma eccede la lunghezza reale della sorgente. L’errore è piccolo su tratti lunghi — circa +0,11 dB su 200 m — e grosso su tratti corti, +3 dB su 5 m, cioè il caso di una sorgente breve modellata come lineare. Ora il peso è lunghezza reale diviso numero di punti.
Sorgente areale: ogni cella riceveva passo², mentre il campionamento a passo fisso lasciava fuori la fascia di bordo. Un’area di 15×15 m con passo 10 m produceva un punto da 100 m² invece di 225, cioè −3,5 dB; e un rettangolo più piccolo del passo non produceva alcun punto — la sorgente non c’era. La funzione di discretizzazione genera ora nx·ny celle uniformi che coprono esattamente il rettangolo, e il peso è area reale diviso numero di celle.
Spettri sorgente normalizzati
I preset di spettro (traffico urbano, autostrada, impianto, e simili) sono definiti come offset per banda rispetto al livello complessivo. Quegli offset non sommavano a 0 dB in energia, quindi il livello totale si discostava dal Lw impostato — fino a +1,36 dB sul preset autostrada nel calcolo barriere, circa +1,2 dB in acmap — e, conseguenza peggiore, cambiare preset a parità di Lw cambiava anche la potenza totale della sorgente. Un confronto fra due scenari con la stessa potenza dichiarata non confrontava la stessa potenza.
Le forme spettrali restano invariate: vengono normalizzate prima dell’uso sottraendo a ogni banda il totale della forma, quindi le differenze relative fra bande sono identiche a prima. In acmap è stata corretta anche l’etichetta di banda nei commenti del codice, che non corrispondeva alla risoluzione realmente usata.
Attribuzioni normative rimesse a posto
Tre voci di documentazione dicevano cose non vere, e su uno strumento tecnico questo è un difetto come gli altri.
- README e nota tecnica descrivevano ancora la ISO 9613-2:1996 come metodo predefinito, mentre il codice implementa la 2024 con diffrazione laterale. La terza modalità è ora dichiarata «legacy 1996» e non canonica, perché omette un termine di Kmet.
- La formula di Maekawa era accostata al §7.4 della ISO 9613-2: sono due cose diverse. Quella implementata è l’approssimazione analitica (parametrizzazione di Tatge) della curva sperimentale del 1968, non il metodo di screening della norma.
- L’effetto suolo era dato come «formula generale con fattore G (§7.3.2)». È invece un modello a banda larga semplificato nostro; il metodo semplificato della norma è definito per livelli ponderati A.
Cosa resta a presidio
I 64 valori numerici congelati nel repo continuano a passare identici, perché testano la funzione di diffrazione, che non è stata toccata: le correzioni stanno a monte e a valle di quella. I 23 simboli dell’API usati dall’applicazione sono tutti presenti. Le quattro proprietà corrette hanno un presidio dedicato di dieci test nel repository del sito, dove vive l’implementazione con i test unitari.
Sul lato acquisizione dati, la v0.6.0 di acmap del 24 agosto aveva già sistemato due difetti che toccano gli stessi calcoli: gli edifici mappati come multipoligoni venivano scaricati e scartati in silenzio — 129 relazioni su 1365 elementi su una risposta reale per il centro di Treviso, quasi un edificio su dieci — e la catena delle altezze era troppo corta, con un default piatto di 9 m che su quello stesso riquadro veniva applicato al 99,4 % degli edifici, comprese 112 chiese e 38 capannoni.
Se hai risultati precedenti
Vanno rieseguiti. Le correzioni 1 e 2 abbassano l’attenuazione calcolata dietro uno schermo, la 3 e la 4 spostano il livello della sorgente: nessuna delle quattro è un aggiustamento sotto la soglia di rilevanza. Restano strumenti dimostrativi, con il perimetro dichiarato nelle rispettive wiki — acmap, noise-barrier-calc — e per un elaborato che porta una firma servono geometria rilevata, un modello adeguato alla metodologia richiesta e la responsabilità di un tecnico competente.
Gli strumenti girano nel browser: mappa acustica e calcolo barriere.