El modelo puede ser visualizado en términos de tres dimensiones para un conjunto de celdas, cada celda contiene un punto llamado nodo en el que se calcula la carga hidráulica. El tamaño de la malla deber ser especificado por el usuario en términos de número de filas (NROW), número de columnas (NCOL), y número de capas(NLAY); estos términos definen una malla de celdas en tres dimensiones en forma de una caja rectangular.
En la formulación de las ecuaciones de diferencias finitas, de celda a celda, los términos de la conductancia son omitidos para el exterior de las celdas en la superficie externa de esta malla rectangular.
Considerando el flujo a lo largo de una fila, el término de conductancia de celda a celda es diseñado para el intervalo entre la columna 1 y la columna 2, pero no para el intervalo del lado opuesto de la columna 1; similarmente, un término de conductancia es diseñado para el intervalo entre columna (NCOL-1) y la columna (NCOL), pero no para el intervalo mas allá de la columna (NCOL). Convenciones similares son establecidas en las otras dos direcciones, de este modo la malla esta acotada externamente por planos a través de los cuales no hay flujo de celda a celda. Si estos límites de la malla del modelo, que son incorporados en el programa, coinciden con la frontera impermeable en el acuífero, puede ser utilizados para simular condiciones de no flujo a lo largo de las fronteras del acuífero sin tener especificación alguna del usuario. Sin embargo las fronteras del acuífero serán de forma irregular, o no serán simplemente de carácter impermeable. En estos casos la frontera del acuífero deberá ser simulada especificando ciertas celdas dentro de la malla como celdas de no flujo o celdas de carga constante, mediante el uso de términos externos de requerimiento o mediante la combinación de celdas de no flujo y términos externos de requerimiento.
Datos de entrada y salida del Modelo
MODFLOW está diseñado para permitir que los datos de entrada del modelo sean recabados si es necesario, a partir de muchos archivos diferentes.
Así mismo, los resultados calculados por el modelo pueden ser escritos a un número de archivos. La lista de archivos es un archivo clave al cual los resultados del modelo son escritos. Durante la ejecución de MODFLOW la información se escribe en el archivo de lista (Listing File) incluyendo gran parte de los datos de entrada y los resultados calculados.
MODFLOW está además diseñado para permitir al usuario controlar la cantidad, tipo y frecuencia de salida. Gran parte de la información de salida es escrita en el archivo lista (Listing File), pero algunos resultados pueden ser escritos en otros archivos.
El archivo de lista está diseñado para ser impreso, sin embargo, el archivo de lista puede no necesitar ser impreso si las herramientas (como por ejemplo un procesador de textos) están disponibles para examinarlo en la pantalla de la computadora.
En el archivo de lista incluye el resumen de los datos de entrada leídos por todos los paquetes. Además, el archivo de lista contiene opcionalmente los datos de la carga hidráulica calculada y el abatimiento controlados por capa e intervalo de tiempo, además del balance hídrico volumétrico total controlado por el intervalo de tiempo. El archivo de lista también contiene información de la convergencia y los mensajes de error en la solución.
Balance hídrico y volumétrico
Un resumen de todas las entradas (fuentes) y salidas (sumideros) de agua en una región es generalmente denominado balance hídrico.
En este informe, el balance hídrico se denomina al balance volumétrico por que los volúmenes de agua y las tazas de flujo están involucrados. En una manera estricta de hablar, un presupuesto volumétrico no es un balance de masa, aunque estos términos sean empleados en reportes de otros modelos.
El programa de modelamiento calcula el balance de agua para el modelo global como un control de la aceptabilidad de la solución, y para proporcionar un resumen de las fuentes y los sumideros de agua al régimen de flujo de agua subterránea.
Las técnicas de solución numérica de ecuaciones simultáneas no siempre se traducen en una respuesta correcta, en particular, las soluciones iterativas pueden dejar la iteración antes de alcanzar la aproximación de una solución. Un balance hídrico proporciona una indicación de la aceptabilidad de la solución numérica para el régimen de flujo de agua subterránea.
El sistema de ecuaciones resueltos por el modelo consiste en realidad en un flujo continuo para cada celda del modelo. La continuidad debe existir para el total de flujos que ingresan y salen del modelo, esto significa que la diferencia entre el flujo total de entrada y el flujo total de salida esto deber ser igual
al total del cambio en el almacenamiento. En el programa de modelamiento, el balance hídrico es calculado independientemente del proceso de solución de la ecuación, y en este sentido pueden proporcionar evidencia independiente de una solución válida.
El balance hídrico total tal como es impreso en la salida del modelo no incluye los flujos internos entre las celdas del modelo, solo los flujos de entrada en el modelo como un todo.
Para cada intervalo de tiempo, la subrutina de balance de cada paquete hidrológico calcula la tasa de flujo de entrada y salida del sistema debido al proceso simulado por el paquete. Las entradas y salidas para cada componente de flujo son almacenadas por separado en una variable del programa (VBVL). La mayoría de los paquetes tratan con un solo componente de flujo, pero el paquete interno de flujo (BCF y LPF) se refiere a dos componentes, flujo a celdas de carga constante y flujo al almacenamiento. Los volúmenes acumulados, desde el comienzo de la simulación, se calculan y se almacenan en VBVL.
El paquete de BAS utiliza las entradas, salidas y los volúmenes acumulados en VBVL para escribir el balance a la lista de archivos en los intervalos de tiempo solicitados por el usuario.
Cuando el balance es escrito, las tasas de flujo para el último intervalo y los volúmenes acumulados desde el comienzo de la simulación se escriben para cada componente del flujo. Los flujos de entradas son separados de los flujos de salida. Siguiendo la convención que se ha indicado con anterioridad, el almacenamiento de agua que entra al sistema es tratado como un flujo de salida mientras que el agua liberada de almacenamiento es tratada como un flujo de entrada. Además, el total de flujo de entradas y el total de flujo de salidas son escritos asi como la diferencia entre el total de flujos de entrada y flujos de salida. La diferencia se escribe como un porcentaje de error, empleando la formula siguiente:
Donde
D es el porcentaje del término de error
IN es la el flujo de total de entrada al sistema
OUT es el flujo total de salida del sistema
Si las ecuaciones del modelo se resuelven correctamente, el porcentaje del error debe ser muy pequeño. En general, las tasas de flujo pueden ser tomadas como una indicación de la validez de la solución para el intervalo de tiempo al que se aplican, mientras que los volúmenes acumulados son una indicación de la validez de toda la simulación hasta el momento de salida al final de cada periodo de requerimiento ya sea solicitado o no.
Para facilitar los cálculos, se ha previsto guardar los términos de flujo en las celdas individuales en archivos separados los cuales pueden ser usados en cálculos externos del propio modelo. Estas celdas individuales de flujo son referenciadas aquí como términos de flujo de “celda por celda” y son de cuatro tipos: (1) requerimiento de flujo celda por celda, o flujos dentro o fuera de una celda individual causada por uno de los requerimientos externos representadas en el modelo, tal como la evapotranspiración o la recarga; (2) términos de almacenamiento celda por celda, que dan la taza de acumulación o el agotamiento de almacenamiento en una celda individual, (3) Términos de flujo de carga constante celda por celda que dan el flujo neto hacia o desde celda individuales de carga constante; (4) Flujo interno celda por celda, que en realidad son los flujos individuales a través de las caras de las celdas, es decir, entre las celdas adyacentes del las celdas del modelo. Para guardar cualquiera de los términos de celda por celda, se deben establecer dos etiquetas en la entrada del modelo. Además cada paquete hidrológico incluye una etiqueta que establece si los términos celda a celda calculada por este paquete se guardarán.
Datos del modelo en tres dimensiones
Muchos de los términos de las ecuaciones presentados en este reporte especifican la localización de la celda utilizando índices en filas, columnas y capas (generalmente como i, j, k).
Tales términos son almacenados en el programa como variables de tres dimensiones (llamados arreglos en el lenguaje fortran) e incorporan la capacidad de usar los subíndices para acceder a los valores de las variables (llamados elementos). El orden de los subíndices en el lenguaje fortran determina el orden de almacenamiento en la memoria de la computadora, lo cual puede afectar la eficiencia del programa. El diseño del programa es tal que los subíndices deben estar en columnas, filas, y capas para tener una mejor eficiencia en la mayoría de las computadoras; por lo tanto, este ordenamiento se usara en todo el programa.
Se debe tomar en cuenta la diferencia en el orden de los subíndices cuando se compara el modelo del programa con las ecuaciones presentadas en el reporte. Típicamente en el programa, el subíndice J es usado para columna, I es usado para fila, y K es usado para capa, entonces el orden de los índices es J, I, K.
Paquete básico de MODFLOW
El paquete básico (BAS) del proceso de GWF, maneja un número de tareas administrativas para MODFLOW. Este paquete tiene el nombre del modelo y sirve para abrir los archivos y determinar las opciones que estarán activas en él, declara y asigna memoria para las variables, lee la variable IBOUND, lee la carga inicial y realiza el seguimiento de la carga inicial a través del tiempo, asi mismo lee los datos de la discretización definida del espacio y el tiempo, calcula un promedio total del agua y controla la salida del modelo de acuerdo a las especificaciones propuestas por el usuario. El paquete BAS también lee zonas y multiplica matrices que pueden ser usadas por otro paquete para definir parámetros, además lee el archivo de valores con parámetros opcionales.
Muchos de los datos declarados por GWF BAS Package son usados por otro paquete de proceso GWF y otros procesos.
Abriendo archivos y activando opciones usando el archivo de nombre
El paquete BAS lee el archivo de nombre (name file), donde cada línea en este archivo especifica un nombre de archivo así como tipo y numero de unidad.
El número de unidad es usado por Fortran para referir a un archivo. El tipo de archivo especifica la función de un archivo. Muchos de los tipos corresponden a las opciones principales; una opción del programa principal es un segmento importante del programa que se emplea solamente con la petición del usuario. El especificar un archivo con su tipo de archivo correspondiente produce que este sea activado. De la misma manera, una opción esta inactiva si el nombre del archivo no es incluido con su tipo de archivo. La mayoría de los paquetes son a la vez grandes opciones, entonces cada paquete generalmente tiene por lo menos un tipo de archivo de entrada especificado en el archivo de nombre.
El usuario introduce el nombre del archivo ya sea a través de una línea de comandos o un símbolo del sistema interactivo. Una vez especificado el nombre del archivo, el programa inicia su ejecución sin que el usuario intervenga en el proceso. Si todos los pasos en el trabajo de simulación son realizados con éxito, los archivos de entrada pueden ser abiertos, leídos, y los resultados se escriben en el archivo de salida.