Fortran 90 permite a los programadores declarar parámetros opcionales en los procedimientos (con el argumento OPCIONAL), con lo cual pueden ser omitidos en la llamada. Si los parámetros opcionales se incluyen en la llamada al procedimiento serán transmitidos como argumentos dummy o bien por posición (según el orden en la lista de argumentos) o para ser usados como palabras claves, permitiendo al programador indicar explícitamente cual argumento esta siendo usado.
CALL coloca_esquinas(a) ! llamada sin el parametro opcional CALL coloca_esquinas(a, valor=2) ! llamada con el parametro opcional END SUBROUTINE coloca_esquinas(a, valor) IMPLICIT NONE INTEGER, INTENT(IN), OPCIONAL :: valor ! declaracion del parametro opcional INTEGER, DIMENSION(:,:) :: a IF (PRESENT(valor)) THEN a(::SIZE(a,DIM=1)-1,::SIZE(a,DIM=2)-1) = valor ELSE a(::SIZE(a,DIM=1)-1,::SIZE(a,DIM=2)-1) = 0 END IF END