I file di output generati da CALPUFF (estensione .dat) non contengono i nomi dei recettori discreti né la loro altezza sul livello del suolo; quando si importa in MMS RunAnalyzer un file di concentrazioni generato da
CALPUFF si pone quindi il problema di identificare il nome e l’altezza sul suolo dei singoli recettori.
Dopo aver selezionato e caricato il file di output di CALPUFF viene visualizzata la finestra per la modifica dei nomi e delle altezze sul suolo dei recettori:
In questa finestra è possibile modificare manualmente i due parametri o utilizzare il menu Carica per assegnare automaticamente i valori a partire dal file di progetto o dal file .runinfo generato da MMS Calpuff,
così come avviene se si carica direttamente in MMS RunAnalyzer il file .runinfo del calcolo in esame, invece del file .dat prodotto dal modello.
La modalità di associazione dei recettori discreti presenti nel file .runinfo con quelli presenti nel file .dat si basa sul confronto delle coordinate; in altre parole, per ogni recettore discreto presenti nel file .dat
di CALPUFF il programma individua nel file .runinfo il recettore discreto con le stesse coordinate.
Questa strategia non sempre funziona per tutti i recettori discreti, soprattutto quando le coordinate dei recettori contengono valori decimali, per via delle varie conversioni che vengono effettuate dall’eseguibile originale del modello CALPUFF.EXE:
- le coordinate espresse in metri nel progetto di MMS Calpuff vengono convertite in km nella preparazione del file CALPUFF.INP;
- quando CALPUFF.EXE legge la lista dei recettori discreti, effettua una serie di conversioni per usare coordinate relative all’origine del reticolo, valutando la posizione del recettore rispetto ai vari reticoli definiti nel progetto (reticolo meteorologico,
reticolo di calcolo e reticolo di salvataggio con eventuale nesting), conversioni che contengono operazioni di divisione;
- quando CALPUFF.EXE crea il file .dat riporta le posizioni dei recettori discreti ai valori assoluti prima di scriverli sul file.
Il file .dat è un file binario e il tipo delle coordinate usate nel linguaggio FORTRAN del codice di calcolo è real in singola precisione, cioè un valore in virgola mobile che occupa 4 byte.
Le operazioni di conversione
effettuate sulle coordinate e l’utilizzo di un tipo real in singola precisione, possono causare differenze nei valori degli ultimi decimali, in quanto, contrariamente ai numeri interi, la rappresentazione binaria di un numero reale è sempre una sua approssimazione
che dipende dal numero di decimali presenti.
Quello che succede quindi è che le coordinate dei recettori discreti presenti nel file .dat possono differire per diversi decimali rispetto a quelle di partenza presenti nel progetto di MMS Calpuff.
Stiamo parlando di decimali nella definizione di coordinate espresse in metri, quindi di centimetri, che ovviamente non alterano in alcun modo i risultati del calcolo ma che possono impedire a MMS RunAnalyzer di individuare i nomi
dei recettori discreti presenti nel file .dat.
Con il rilascio della versione 2.19 di MMS RunAnalyzer è stato migliorato l’algoritmo di ricerca delle coordinate, che ora ammette una tolleranza di 0,99 metri nella valutazione della posizione dei recettori discreti.
A livello di progetto si consiglia sempre di utilizzare coordinate dei recettori discreti espresse in metri come valori interi, anche se le coordinate derivano dalla conversione di coordinate longitudine, latitudine.