Fortran: ¿Cómo asigno matrices cuando leo un archivo de tamaño desconocido?

Mi uso típico de Fortran comienza con la lectura en un archivo de tamaño desconocido (generalmente de 5 a 100 MB). Mi enfoque actual para la asignación de matrices implica leer el archivo dos veces. Primero para determinar el tamaño del problema (para asignar matrices) y una segunda vez para leer los datos en esas matrices.

¿Existen mejores enfoques para la determinación del tamaño / asignación de matriz? Acabo de leer sobre la asignación automática de matrices (ejemplo a continuación) en otra publicación que parecía mucho más fácil.

array = [array,new_data]

¿Cuáles son todas las opciones y sus ventajas y desventajas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta