Está en la página 1de 45

Introducción Fortran Ejemplos

Introducción a la programación en Fortran

Santiago de Mello

Modelización numérica de la atmósfera


Departamento de ciencias de la atmósfera
Universidad de la República, Uruguay.

Agosto de 2017

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 1 / 29


Introducción Fortran Ejemplos

Contenido

1 Introducción

2 Fortran

3 Ejemplos

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 2 / 29


Introducción Fortran Ejemplos

1 Introducción

2 Fortran

3 Ejemplos

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 3 / 29


Introducción Fortran Ejemplos

¿Qué es un modelo?

¿Qué es un modelo?

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 4 / 29


Introducción Fortran Ejemplos

¿Qué es un modelo?

¿Qué es un modelo?

Un modelo es cualquier esquema o metodología que nos permita pronosticar la


evolución futura del comportamiento atmosférico.

¿Qué tipos de modelos conocen?

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 4 / 29


Introducción Fortran Ejemplos

¿Qué es un modelo?

¿Qué es un modelo?

Un modelo es cualquier esquema o metodología que nos permita pronosticar la


evolución futura del comportamiento atmosférico.

¿Qué tipos de modelos conocen?


Persistencia
Análogos
Valores medios
Tendencia
Modelo de pronóstico numérico

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 4 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.
Requieren de una gran capacidad computacional para resolver las ecuaciones
que rigen el comportamiento de la atmósfera.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.
Requieren de una gran capacidad computacional para resolver las ecuaciones
que rigen el comportamiento de la atmósfera.
Pueden ser globales o regionales.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.
Requieren de una gran capacidad computacional para resolver las ecuaciones
que rigen el comportamiento de la atmósfera.
Pueden ser globales o regionales.
Se caracterizan por su resolución horizontal y vertical.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.
Requieren de una gran capacidad computacional para resolver las ecuaciones
que rigen el comportamiento de la atmósfera.
Pueden ser globales o regionales.
Se caracterizan por su resolución horizontal y vertical.
Pueden emplear distintas coordenadas verticales.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.
Requieren de una gran capacidad computacional para resolver las ecuaciones
que rigen el comportamiento de la atmósfera.
Pueden ser globales o regionales.
Se caracterizan por su resolución horizontal y vertical.
Pueden emplear distintas coordenadas verticales.
Requieren del uso de parametrizaciones para simular el efecto de los procesos no
resueltos.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.
Requieren de una gran capacidad computacional para resolver las ecuaciones
que rigen el comportamiento de la atmósfera.
Pueden ser globales o regionales.
Se caracterizan por su resolución horizontal y vertical.
Pueden emplear distintas coordenadas verticales.
Requieren del uso de parametrizaciones para simular el efecto de los procesos no
resueltos.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

Características:
Son la herramienta más usada para realizar pronósticos del tiempo.
Requieren de una gran capacidad computacional para resolver las ecuaciones
que rigen el comportamiento de la atmósfera.
Pueden ser globales o regionales.
Se caracterizan por su resolución horizontal y vertical.
Pueden emplear distintas coordenadas verticales.
Requieren del uso de parametrizaciones para simular el efecto de los procesos no
resueltos.
Los modelos son un conjunto de programas que resuelven las ecuaciones y prevén la
evolución de la atmósfera.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 5 / 29


Introducción Fortran Ejemplos

Modelos de pronóstico numérico del tiempo

La forma en que las ecuaciones primitivas se derivan en formas teóricas y se


convierten en códigos de computadora, puede contribuir a los errores de pronóstico en
los modelos.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 6 / 29


Introducción Fortran Ejemplos

Ec. primitivas

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 7 / 29


Introducción Fortran Ejemplos

Primeros modelos

Los primeros modelos solo resolvían las ecuaciones en puntos discretos y demoraban
días y hasta semanas en dar resultados. Con el avance de la computación, los
modelos pudieron sofisticarse y la resolución espacial, incrementarse.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 8 / 29


Introducción Fortran Ejemplos

1 Introducción

2 Fortran

3 Ejemplos

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 9 / 29


Introducción Fortran Ejemplos

Introducción a Fortran

Fortran Formula Translating

Es un lenguaje de programación de alto nivel, de propósito general especialmente


adaptado al cálculo numérico y a la computación científica.
Desarrollado por IBM en 1957 y usado para aplicaciones científicas y de
ingeniería
Fortran vino a dominar esta área de la programación desde el principio y ha
estado en uso continuo por más de medio siglo en áreas de cómputo intensivo
tales como la predicción numérica del tiempo, biología, etc...
Es uno de los lenguajes más populares en el área de la computación de alto
rendimiento y es el lenguaje usado para programas que evalúan el desempeño
(benchmark) y el ranking de los supercomputadores más rápidos del mundo.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 10 / 29


Introducción Fortran Ejemplos

¿Por qué no otro programa?

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 11 / 29


Introducción Fortran Ejemplos

¿Por qué no otro programa?

Hay 2 tipos de lenguajes de programación: Compilados e Interpretados.

Compilados
Un lenguaje que se implementa mediante un compilador. Esto implica que una vez
escrito el programa, éste se traduce a partir de su código fuente por medio de un
compilador en un archivo ejecutable para una determinada plataforma.
Los lenguajes compilados son lenguajes de alto nivel en los que las instrucciones se
traducen del lenguaje utilizado a código máquina para una ejecución rápida.

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 11 / 29


Introducción Fortran Ejemplos

¿Por qué no otro programa?

Interpretado
Por el contrario un lenguaje interpretado es aquel en el que las instrucciones se
traducen o interpretan una a una siendo típicamente unas 10 veces más lentos que los
programas compilados. Un lenguaje interpretado es un lenguaje que requiere un
intérprete para implementar o ejecutar el código.

En teoría, cualquier lenguaje puede ser interpretado y también compilado; la diferencia


entre ellos es solamente una cuestión de práctica y conveniencia. De hecho, muchos
lenguajes son implementados tanto por compiladores como por interpretes (Basic,
Python, C++).

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 12 / 29


Introducción Fortran Ejemplos

¿Que necesitamos para programar en Fortran?

Editor de texto
Archivo del programa con sufijo .f90 (.f77, .f95..)
Compilador instalado (que genera el ejecutable)
Terminal para ejecutar

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 13 / 29


Introducción Fortran Ejemplos

¿Que necesitamos para programar en Fortran?

Editor de texto
Archivo del programa con sufijo .f90 (.f77, .f95..)
Compilador instalado (que genera el ejecutable)
Terminal para ejecutar

¿Cómo saber si tengo instalado fortran?


ejecutar en un terminal:

[santiago@localhost] which gfortran

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 13 / 29


Introducción Fortran Ejemplos

¿Que necesitamos para programar en Fortran?

Editor de texto
Archivo del programa con sufijo .f90 (.f77, .f95..)
Compilador instalado (que genera el ejecutable)
Terminal para ejecutar

¿Cómo saber si tengo instalado fortran?


ejecutar en un terminal:

[santiago@localhost] which gfortran


/usr/bin/gfortran

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 13 / 29


Introducción Fortran Ejemplos

¿Que necesitamos para programar en Fortran?

Editor de texto
Archivo del programa con sufijo .f90 (.f77, .f95..)
Compilador instalado (que genera el ejecutable)
Terminal para ejecutar

¿Cómo saber si tengo instalado fortran?


ejecutar en un terminal:

[santiago@localhost] which gfortran


/usr/bin/gfortran <– (directorio donde esta instalado)

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 13 / 29


Introducción Fortran Ejemplos

¿Que necesitamos para programar en Fortran?

Editor de texto
Archivo del programa con sufijo .f90 (.f77, .f95..)
Compilador instalado (que genera el ejecutable)
Terminal para ejecutar

¿Cómo saber si tengo instalado fortran?


ejecutar en un terminal:

[santiago@localhost] which gfortran


/usr/bin/gfortran <– (directorio donde esta instalado)

Si no esta:
Ubuntu: –> sudo apt-get install gfortran
Fedora: –> su yum install gfortran
(o utilizar los repositorios)

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 13 / 29


Introducción Fortran Ejemplos

Compilar y correr programas en Fortran

La manera estandard de compilar un programa en Fortran es abrir un terminal, ir al


directorio que contiene el programa, y escribir:

[santiago@localhost] f90 nombre1.f90 (f90 o gfortran)

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 14 / 29


Introducción Fortran Ejemplos

Compilar y correr programas en Fortran

La manera estandard de compilar un programa en Fortran es abrir un terminal, ir al


directorio que contiene el programa, y escribir:

[santiago@localhost] f90 nombre1.f90 (f90 o gfortran)

Al compilar el programa se obtiene un ejecutable que tiene por default el nombre a.out.
[santiago localhost] ls

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 14 / 29


Introducción Fortran Ejemplos

Compilar y correr programas en Fortran

La manera estandard de compilar un programa en Fortran es abrir un terminal, ir al


directorio que contiene el programa, y escribir:

[santiago@localhost] f90 nombre1.f90 (f90 o gfortran)

Al compilar el programa se obtiene un ejecutable que tiene por default el nombre a.out.
[santiago localhost] ls
a.out

Esto puede cambiarse haciendo:

[santiago@localhost] f90 nombre1.f90 -o nombre2

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 14 / 29


Introducción Fortran Ejemplos

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 15 / 29


Introducción Fortran Ejemplos

1 Introducción

2 Fortran

3 Ejemplos

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 16 / 29


Introducción Fortran Ejemplos

Ejemplo 1

program hola
! Ahora vamos a saludar al mundo
print *, ’hola mundo!’
end program hola

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 17 / 29


Introducción Fortran Ejemplos

Constantes y variables

Tipos de datos:
logical
real
integer
double
character

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 18 / 29


Introducción Fortran Ejemplos

Declaración de variables

FORTRAN asume que aquellas variables que no han sido declaradas tienen un tipo
implícito de acuerdo a la siguiente regla:
variables cuyos nombres empiezan con i,j,k,l,m,n
se asumen enteras, y todas las demás se asumen reales

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 19 / 29


Introducción Fortran Ejemplos

Ejemplo 2

program valores
...
end program valores

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 20 / 29


Introducción Fortran Ejemplos

Operaciones en Fortran

Operadores:
=
+
-
*
/
**

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 21 / 29


Introducción Fortran Ejemplos

Arreglos

real, dimension(3) :: v real, dimension(4,5) :: m real, dimension(2,2,2,2) :: R

real :: v(3), m(4,5), R(2,2,2,2)

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 22 / 29


Introducción Fortran Ejemplos

Ejemplo 3

program arreglos

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 23 / 29


Introducción Fortran Ejemplos

Funciones intrínsecas

sqrt(x)
abs(x)
sin(x)
max(x,y)
...

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 24 / 29


Introducción Fortran Ejemplos

Ejemplo 4: DO

program pruebad o

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 25 / 29


Introducción Fortran Ejemplos

Ejemplo 5: While

program suma1

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 26 / 29


Introducción Fortran Ejemplos

If

if (expresión lógica) then


comando 1 comando 2
else comando 3 comando 4
end if

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 27 / 29


Introducción Fortran Ejemplos

Operadores lógicos

==
<
<=
.not.
.or.
.and.
...

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 28 / 29


Introducción Fortran Ejemplos

Santiago de Mello Modelación numérica de la atmósfera Agosto de 2017 29 / 29