Da MODFLOW-2005 a MODFLOW-6
Per ovviare ai limiti di MODFLOW-96 è stata rilasciata la versione MODFLOW-2000 [3].
In questa versione nell’organizzazione del software oltre ai moduli, che rappresentano l’elemento inferiore della scala gerarchica, ai packages e alle procedure è stato inserito un quarto elemento, chiamato processo. Un processo è una parte di codice che risolve un pacchetto di equazioni secondo un determinato criterio. La parte di codice che risolve le equazioni di flusso per determinare la distribuzione dei carichi idraulici nel modello, cioè quello che inizialmente era il MODFLOW, è divenuto il processo principale, denominato GWF. La struttura del programma si è quindi complicata rispetto alla versione originaria ma ha acquistato la flessibilità necessaria per ampliarsi verso nuovi obiettivi di simulazione, mantenendo sempre invariato l’originario impianto modulare.
Oltre a questa modifica sostanziale, in MODFLOW-2000 è stata introdotta la possibilità di definire le variabili usando i parametri, funzionalità utile per le operazioni di calibrazione.
Oltre a tutti i packages già presenti nella versione iniziale di MODFLOW-88, nella nuova versione del software sono state inserite tutte le integrazioni sviluppate fino a quel momento e citate in precedenza oltre ad un nuovo package, chiamato LPF, utile per definire le proprietà dei layer del modello.
Successivamente è stata rilasciata la versione MODFLOW-2005 [7] simile come impostazione al precedente MODFLOW-2000 ma con modifiche a livello software per ottimizzare la gestione interna dei dati.
MODFLOW-2005 è scritto in Fortran 90 e pertanto è caratterizzato da una elevata portabilità. In Fortran il metodo fondamentale per suddividere il programma in porzioni indipendenti è l’utilizzo di subroutine e per questo motivo in MODFLOW-2005 il termine modulo è stato eliminato e sostituito dal termine subroutine.
Analogamente a tutte le versioni precedenti è stata mantenuta una struttura del programma di tipo modulare.
Dopo il rilascio della versione MODFLOW-2005 si è assistito ad un rapido sviluppo di una serie di varianti, concepite per risolvere problemi specifici. Queste varianti hanno mantenuto come base il codice di calcolo MODFLOW-2005, integrando però pacchetti aggiuntivi non disponibili nella versione originaria.
Fra le varianti, a titolo di esempio si può citare:
- SEAWAT, che accoppia MODFLOW con MT3DMS [19] per simulare flussi di falda a densità variabile,
- MODFLOW-LGR, che permette di accoppiare più modelli di flusso con raffittimenti localizzati della griglia,
- MODFLOW-USG, che consente di utilizzare una griglia a geometria irregolare
e numerose altre.
Il risultato di questo sviluppo è stato da un lato la possibilità di simulare e studiare fenomeni che non era possibile esaminare utilizzando solamente MODFLOW-2005, dall’altro però si è verificata la crescita di una serie di versioni di MODFLOW adattate per problemi specifici con problemi di reciproca compatibilità.
Da questa constatazione è nato MODFLOW-6, che rappresenta ad oggi l’ultima versione del programma.
La logica di base resta sempre quella iniziale, cioè un programma fortemente modulare con ampia possibilità di sviluppo e di inserimento di componenti aggiuntive senza la necessità di alterare le parti esistenti del codice.
A tutto questo però si è aggiunto una nuova idea di modello: in MODFLOW-6 un modello è quella parte del programma che risolve un determinato processo idrogeologico. La parte che risolve l’equazione del flusso, in altre parole quello che in precedenza era svolto da MODFLOW-2005, in MODFLOW-6 diventa il GWF model (Groundwater Flow Model). Ad oggi MODFLOW-6 è rilasciato con un solo modello (il GWF model) quindi, in pratica, permette di svolgere con alcune varianti importanti le medesime funzioni del MODFLOW-2005. Naturalmente è previsto il rilascio di ulteriori versioni con modelli aggiuntivi in grado ad esempio di risolvere il problema del trasporto, della filtrazione in condotti, della filtrazione in presenza di fluidi a differente densità, del trasporto di calore, ecc…
L’integrazione di più modelli in un unico ambiente di lavoro fa sì che MODFLOW-6 possa risolvere, all’interno di un’unica simulazione, più modelli collegati fra di loro. Il collegamento avviene attraverso degli oggetti di scambio, che consentono la comunicazione fra i vari modelli.
Posto che ad oggi l’unico modello presente in MODFLOW-6 è il GWF model, l’unico oggetto di scambio realizzato è GWF-GWF Exchanges.
Un esempio di risoluzione di due GWF model è il caso di un modello regionale che ricostruisce l’andamento generale del flusso in un’area vasta all’interno della quale si trova un modello più piccolo che ricostruisce con maggiore dettaglio l’andamento del flusso in una ristretta area di studio in cui si dispone di una elevata quantità di informazioni.
MODFLOW-6 apre ad importanti possibilità di sviluppo ma al momento risulta ancora una versione utilizzabile con un po’ di difficoltà, visto l’inevitabile ritardo sempre presente fra il rilascio di una nuova versione di MODFLOW e l’aggiornamento delle interfacce grafiche indispensabili per la creazione dei modelli
La Figura 2 mostra su una barra temporale lo sviluppo successivo delle varie versioni di MODFLOW, limitandosi ai rilasci delle versioni ufficiali senza considerare le varianti sviluppate per scopi specifici.